mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-16 05:49:16 +02:00
cleaned map data UI; commented sub-layer filtering
This commit is contained in:
committed by
Bryan Housel
parent
805dd394c9
commit
1335549ad3
@@ -75,8 +75,11 @@
|
||||
pointer-events: none !important;
|
||||
}
|
||||
|
||||
/* NOTE: when more QA layers are added, replace kr_error with generic QA layer selector */
|
||||
/* points, notes & QA */
|
||||
|
||||
/* points & notes */
|
||||
g.kr_error .stroke,
|
||||
g.note .stroke {
|
||||
stroke: #222;
|
||||
stroke-width: 1;
|
||||
@@ -84,6 +87,7 @@ g.note .stroke {
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
g.kr_error.active .stroke,
|
||||
g.note.active .stroke {
|
||||
stroke: #222;
|
||||
stroke-width: 1;
|
||||
@@ -97,6 +101,7 @@ g.point .stroke {
|
||||
fill: #fff;
|
||||
}
|
||||
|
||||
g.kr_error .shadow,
|
||||
g.point .shadow,
|
||||
g.note .shadow {
|
||||
fill: none;
|
||||
@@ -105,6 +110,8 @@ g.note .shadow {
|
||||
stroke-opacity: 0;
|
||||
}
|
||||
|
||||
g.kr_error.related:not(.selected) .shadow,
|
||||
g.kr_error.hover:not(.selected) .shadow,
|
||||
g.note.related:not(.selected) .shadow,
|
||||
g.note.hover:not(.selected) .shadow,
|
||||
g.point.related:not(.selected) .shadow,
|
||||
@@ -112,6 +119,7 @@ g.point.hover:not(.selected) .shadow {
|
||||
stroke-opacity: 0.5;
|
||||
}
|
||||
|
||||
g.kr_error.selected .shadow,
|
||||
g.note.selected .shadow,
|
||||
g.point.selected .shadow {
|
||||
stroke-opacity: 0.7;
|
||||
|
||||
+1
-3
@@ -20,9 +20,7 @@
|
||||
}
|
||||
|
||||
.note-header-icon .note-shadow,
|
||||
.layer-notes .note .note-shadow,
|
||||
.kr_error-header-icon .kr_error-shadow,
|
||||
.layer-keepRight .kr_error .kr_error-shadow {
|
||||
.layer-notes .note .note-shadow {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
|
||||
+282
-1
@@ -486,7 +486,9 @@ en:
|
||||
zoom: Zoom to data
|
||||
fill_area: Fill Areas
|
||||
map_features: Map Features
|
||||
QA: QA
|
||||
QA:
|
||||
title: Quality Assurance
|
||||
keepRight: KeepRight
|
||||
autohidden: "These features have been automatically hidden because too many would be shown on the screen. You can zoom in to edit them."
|
||||
osmhidden: "These features have been automatically hidden because the OpenStreetMap layer is hidden."
|
||||
feature:
|
||||
@@ -912,6 +914,285 @@ en:
|
||||
_390:
|
||||
description: 'missing tracktype'
|
||||
tooltip: This track doesn't have a tracktype
|
||||
gpx:
|
||||
local_layer: "Add a GPX"
|
||||
drag_drop: "Drag and drop a .gpx, .geojson or .kml file on the page, or click the button to the right to browse"
|
||||
zoom: "Zoom to layer"
|
||||
browse: "Browse for a file"
|
||||
mvt:
|
||||
local_layer: "Add a MVT"
|
||||
drag_drop: "Drag and drop a .mvt or .pbf file on the page, or click the button to the right to browse"
|
||||
zoom: "Zoom to layer"
|
||||
browse: "Browse for a file"
|
||||
QA:
|
||||
keepRight:
|
||||
tooltip: automatically detected errors from keepright.at
|
||||
description: Keep Right
|
||||
title: Edit Error
|
||||
detail_title: Error
|
||||
detail_description: Description
|
||||
inputPlaceholder: Enter a comment to share with other users.
|
||||
newComment: New Comment
|
||||
upload_explanation: Your comments will be publicly visible to all keepRight.at users.
|
||||
upload_explanation_with_user: "Your comments as {user} will be publicly visible to all keepRight.at users."
|
||||
resolve_comment: Comment and Resolve
|
||||
ignore_comment: Comment and Ignore
|
||||
resolve: Resolve
|
||||
ignore: Ignore
|
||||
toggle-on: All on
|
||||
toggle-off: All off
|
||||
entities:
|
||||
node: node
|
||||
way: way
|
||||
relation: relation
|
||||
highway: highway
|
||||
cycleway: cycleway
|
||||
waterway: waterway
|
||||
riverbank: riverbank
|
||||
errorTypes:
|
||||
errors:
|
||||
_30:
|
||||
description: 'non-closed_areas'
|
||||
tooltip: 'This way is tagged with {var1}={var2} and should be closed-loop'
|
||||
_40:
|
||||
description: 'dead-ended one-ways'
|
||||
tooltip: 'The first node (id {var1}) of this one-way is not connected to any other way'
|
||||
_41:
|
||||
description: ''
|
||||
tooltip: 'The last node (id {var1}) of this one-way is not connected to any other way'
|
||||
_42:
|
||||
description: ''
|
||||
tooltip: 'This node cannot be reached because one-ways only lead away from here'
|
||||
_43:
|
||||
description: ''
|
||||
tooltip: 'You cannot escape from this node because one-ways only lead to here'
|
||||
_50:
|
||||
description: 'almost-junctions'
|
||||
tooltip: 'This node is very close but not connected to way #{var1}'
|
||||
_70:
|
||||
description: 'missing tags'
|
||||
tooltip: 'This {var1} has an empty tag: {var2}'
|
||||
_71:
|
||||
description: 'way without tags'
|
||||
tooltip: 'This way has no tags'
|
||||
_72:
|
||||
description: 'node without tags'
|
||||
tooltip: 'This node is not member of any way and doesn''t have any tags'
|
||||
_90:
|
||||
description: 'motorways without ref'
|
||||
tooltip: 'This way is tagged as motorway and therefore needs a ref nat_ref or int_ref tag'
|
||||
_100:
|
||||
description: 'places of worship without religion'
|
||||
tooltip: 'This {var1} is tagged as place of worship and therefore needs a religion tag'
|
||||
_110:
|
||||
description: 'point of interest without name'
|
||||
tooltip: 'This node is tagged as {var1} and therefore needs a name tag'
|
||||
_120:
|
||||
description: 'ways without nodes'
|
||||
tooltip: 'This way has just one single node'
|
||||
_130:
|
||||
description: 'floating islands'
|
||||
tooltip: 'This way is not connected to the rest of the map'
|
||||
_150:
|
||||
description: 'railway crossing without tag'
|
||||
tooltip: 'This crossing of a highway and a railway needs to be tagged as railway=crossing or railway=level_crossing'
|
||||
_160:
|
||||
description: 'wrongly used railway tag'
|
||||
tooltip: 'There are ways in different layers coming together in this railway crossing. There are ways tagged as tunnel or bridge coming together in this railway crossing'
|
||||
_170:
|
||||
description: 'FIXME tagged items'
|
||||
tooltip: '{var1}'
|
||||
_180:
|
||||
description: 'relations without type'
|
||||
tooltip: 'This relation has no type tag which is mandatory for relations'
|
||||
_190:
|
||||
description: 'intersections without junctions'
|
||||
tooltip: 'Finds way crossings on same layer without common node as a junction'
|
||||
_191:
|
||||
description: 'highway-highway'
|
||||
tooltip: 'This {var1} intersects the {var2} #{var3} but there is no junction node'
|
||||
_192:
|
||||
description: 'highway-waterway'
|
||||
tooltip: 'This {var1} intersects the {var2} #{var3}'
|
||||
_193:
|
||||
description: 'highway-riverbank'
|
||||
tooltip: 'This {var1} intersects the {var2} #{var3}'
|
||||
_194:
|
||||
description: 'waterway-waterway'
|
||||
tooltip: 'This {var1} intersects the {var2} #{var3} but there is no junction node'
|
||||
_195:
|
||||
description: 'cycleway-cycleway'
|
||||
tooltip: 'This {var1} intersects the {var2} #{var3} but there is no junction node'
|
||||
_196:
|
||||
description: 'highway-cycleway'
|
||||
tooltip: 'This {var1} intersects the {var2} #{var3} but there is no junction node'
|
||||
_197:
|
||||
description: 'cycleway-waterway'
|
||||
tooltip: 'This {var1} intersects the {var2} #{var3}'
|
||||
_198:
|
||||
description: 'cycleway-riverbank'
|
||||
tooltip: 'This {var1} intersects the {var2} #{var3}'
|
||||
_200:
|
||||
description: 'overlapping ways'
|
||||
tooltip: 'Finds overlapping ways on same layer'
|
||||
_201:
|
||||
description: 'highway-highway'
|
||||
tooltip: 'This {var1} overlaps the {var2} #{var3}'
|
||||
_202:
|
||||
description: 'highway-waterway'
|
||||
tooltip: 'This {var1} overlaps the {var2} #{var3}'
|
||||
_203:
|
||||
description: 'highway-riverbank'
|
||||
tooltip: 'This {var1} overlaps the {var2} #{var3}'
|
||||
_204:
|
||||
description: 'waterway-waterway'
|
||||
tooltip: 'This {var1} overlaps the {var2} #{var3}'
|
||||
_205:
|
||||
description: 'cycleway-cycleway'
|
||||
tooltip: 'This {var1} overlaps the {var2} #{var3}'
|
||||
_206:
|
||||
description: 'highway-cycleway'
|
||||
tooltip: 'This {var1} overlaps the {var2} #{var3}'
|
||||
_207:
|
||||
description: 'cycleway-waterway'
|
||||
tooltip: 'This {var1} overlaps the {var2} #{var3}'
|
||||
_208:
|
||||
description: 'cycleway-riverbank'
|
||||
tooltip: 'This {var1} overlaps the {var2} #{var3}'
|
||||
_210:
|
||||
description: 'loopings'
|
||||
tooltip: 'These errors contain self intersecting ways'
|
||||
_211:
|
||||
description: ''
|
||||
tooltip: 'This way contains more than one node at least twice. Nodes are {var1}. This may or may not be an error'
|
||||
_212:
|
||||
description: ''
|
||||
tooltip: 'This way has only two different nodes and contains one of them more than once'
|
||||
_220:
|
||||
description: 'misspelled tags'
|
||||
tooltip: 'This {var1} is tagged {var2}={var3} where {var4} looks like {var5}'
|
||||
_221:
|
||||
description: ''
|
||||
tooltip: 'The key of this {var1} tag is key {var2}'
|
||||
_230:
|
||||
description: 'layer conflicts'
|
||||
tooltip: ''
|
||||
_231:
|
||||
description: 'mixed layers intersection'
|
||||
tooltip: 'This node is a junction of ways on different layers: {var1}'
|
||||
_232:
|
||||
description: 'strange layers'
|
||||
tooltip: 'This {var1} is tagged with layer {var2}. This need not be an error but it looks strange'
|
||||
_270:
|
||||
description: 'motorways connected directly'
|
||||
tooltip: 'This node is a junction of a motorway and a highway other than motorway, motorway_link, trunk, rest_area or construction. Service or unclassified is only valid if it has access=no/private or it leads to a motorway service area or if it is a service=parking_aisle.'
|
||||
_280:
|
||||
description: 'boundaries'
|
||||
tooltip: ''
|
||||
_281:
|
||||
description: 'missing name'
|
||||
tooltip: 'This boundary has no name'
|
||||
_282:
|
||||
description: 'missing admin level'
|
||||
tooltip: 'The boundary of {var1} has no valid numeric admin_level. Please do not use admin levels like for example 6;7. Always tag the lowest admin_level of all boundaries'
|
||||
_283:
|
||||
description: 'no closed loop'
|
||||
tooltip: 'The boundary of {var1} is not closed-loop'
|
||||
_284:
|
||||
description: 'splitting boundary'
|
||||
tooltip: 'The boundary of {var1} splits here'
|
||||
_285:
|
||||
description: 'admin_level too high'
|
||||
tooltip: 'This boundary-way has admin_level {var1} but belongs to a relation with lower admin_level (higher priority); it should have the lowest admin_level of all relations'
|
||||
_290:
|
||||
description: 'restrictions'
|
||||
tooltip: 'Analyses all relations tagged type=restriction or following variations type=restriction:hgv type=restriction:caravan type=restriction:motorcar type=restriction:bus type=restriction:agricultural type=restriction:motorcycle type=restriction:bicycle and type=restriction:hazmat'
|
||||
_291:
|
||||
description: 'missing type'
|
||||
tooltip: 'This turn-restriction has no known restriction type'
|
||||
_292:
|
||||
description: 'missing from way'
|
||||
tooltip: 'A turn-restriction needs exactly one {var1} member. This one has {var2}'
|
||||
_293:
|
||||
description: 'missing to way'
|
||||
tooltip: 'A turn-restriction needs exactly one {var1} member. This one has {var2}'
|
||||
_294:
|
||||
description: 'from or to not a way'
|
||||
tooltip: 'From- and To-members of turn restrictions need to be ways. {var1}'
|
||||
_295:
|
||||
description: 'via is not on the way ends'
|
||||
tooltip: 'via (node #{var1}) is not the first or the last member of from (way #{var2})'
|
||||
_296:
|
||||
description: 'wrong restriction angle'
|
||||
tooltip: 'restriction type is {var1} but angle is {var2} degrees. Maybe the restriction type is not appropriate?'
|
||||
_297:
|
||||
description: 'wrong direction of to member'
|
||||
tooltip: 'wrong direction of to way {var1}'
|
||||
_298:
|
||||
description: 'already restricted by oneway'
|
||||
tooltip: 'entry already prohibited by oneway tag on {var1}'
|
||||
_310:
|
||||
description: 'roundabouts'
|
||||
tooltip: 'Analyses ways with tag junction=roundabout. More then one way can form a roundabout. It supports tag oneway=-1'
|
||||
_311:
|
||||
description: 'not closed loop'
|
||||
tooltip: 'This way is part of a roundabout but is not closed-loop. (split carriageways approaching a roundabout should not be tagged as roundabout)'
|
||||
_312:
|
||||
description: 'wrong direction'
|
||||
tooltip: 'If this roundabout is in a country with right-hand traffic then its orientation goes the wrong way around | If this roundabout is in a country with left-hand traffic then its orientation goes the wrong way around | If this mini_roundabout is in a country with right-hand traffic then its orientation goes the wrong way around | If this mini_roundabout is in a country with left-hand traffic then its orientation goes the wrong way around'
|
||||
_313:
|
||||
description: 'faintly connected'
|
||||
tooltip: 'This roundabout has only {var1} other roads connected. Roundabouts typically have three'
|
||||
_320:
|
||||
description: '*_link connections'
|
||||
tooltip: 'This way is tagged as highway={var1}_link but doesn''t have a connection to any other {var1} or {var1}_link'
|
||||
_350:
|
||||
description: 'bridge-tags'
|
||||
tooltip: 'This bridge doesn''t have a tag in common with its surrounding ways that shows the purpose of this bridge. There should be one of these tags: {var1}'
|
||||
_370:
|
||||
description: 'doubled places'
|
||||
tooltip: 'This node has tags in common with the surrounding way #{var1} and seems to be redundand | This node has tags in common with the surrounding way #{var1} (including the name {var2}) and seems to be redundand'
|
||||
_380:
|
||||
description: 'non-physical use of sport-tag'
|
||||
tooltip: 'This way is tagged {var1} but has no physical tag like e.g. leisure, building, amenity or highway'
|
||||
_400:
|
||||
description: 'geometry glitches'
|
||||
tooltip: ''
|
||||
_401:
|
||||
description: 'missing turn restriction'
|
||||
tooltip: 'ways {var1} and {var2} join in a very sharp angle here and there is no oneway tag or turn restriction that prevents turning from way {var1} to {var2}'
|
||||
_402:
|
||||
description: 'impossible angles'
|
||||
tooltip: 'this way bends in a very sharp angle here'
|
||||
_410:
|
||||
description: 'website'
|
||||
tooltip: 'Web pages are analyzed. Web page is defined by any of the following tags website=* url=* website:mobile=* contact:website=* contact:url=* image=* source:website=* or source:url=*'
|
||||
_411:
|
||||
description: 'http error'
|
||||
tooltip: 'The URL (<a target="_blank" href="{var1}">{var1}</a>) cannot be opened (HTTP status code {var2})'
|
||||
_412:
|
||||
description: 'domain hijacking'
|
||||
tooltip: 'Possible domain squatting: <a target=\"_blank\" href="{var1}">{var1}</a>. Suspicious text is: "{var2}"'
|
||||
_413:
|
||||
description: 'non-match'
|
||||
tooltip: 'Content of the URL (<a target=\"_blank\" href="{var1}">{var1}</a>) did not contain these keywords: ({var2})'
|
||||
warnings:
|
||||
_20:
|
||||
description: 'multiple nodes on the same spot'
|
||||
tooltip: 'There is more than one node in this spot. Offending node IDs: {var1}'
|
||||
_60:
|
||||
description: 'depreciated tags'
|
||||
tooltip: 'This {var1} uses deprecated tag {var2}={var3}. Please use {var4} instead!'
|
||||
_300:
|
||||
description: 'missing maxspeed'
|
||||
tooltip: 'missing maxspeed tag'
|
||||
_360:
|
||||
description: 'language unknown'
|
||||
tooltip: 'It would be nice if this {var1} had an additional tag name:XX={var2} where XX shows the language of its name {var2}'
|
||||
_390:
|
||||
description: 'missing tracktype'
|
||||
tooltip: This track doesn't have a tracktype
|
||||
>>>>>>> cleaned map data UI; commented sub-layer filtering
|
||||
streetside:
|
||||
tooltip: "Streetside photos from Microsoft"
|
||||
title: "Photo Overlay (Bing Streetside)"
|
||||
|
||||
Vendored
+354
-5
@@ -591,7 +591,10 @@
|
||||
},
|
||||
"fill_area": "Fill Areas",
|
||||
"map_features": "Map Features",
|
||||
"QA": "QA",
|
||||
"QA": {
|
||||
"title": "Quality Assurance",
|
||||
"keepRight": "KeepRight"
|
||||
},
|
||||
"autohidden": "These features have been automatically hidden because too many would be shown on the screen. You can zoom in to edit them.",
|
||||
"osmhidden": "These features have been automatically hidden because the OpenStreetMap layer is hidden."
|
||||
},
|
||||
@@ -1127,11 +1130,357 @@
|
||||
},
|
||||
"_360": {
|
||||
"description": "language unknown",
|
||||
"tooltip": "It would be nice if this {var1} had an additional tag name:XX={var2} where XX shows the language of its name {var2}"
|
||||
"tooltip": "It would be nice if this {var1} had an additional tag name:XX={var2} where XX shows the language of its name {var2}",
|
||||
"QA": {
|
||||
"keepRight": {
|
||||
"tooltip": "automatically detected errors from keepright.at",
|
||||
"description": "Keep Right",
|
||||
"title": "Edit Error",
|
||||
"detail_title": "Error",
|
||||
"detail_description": "Description",
|
||||
"inputPlaceholder": "Enter a comment to share with other users.",
|
||||
"newComment": "New Comment",
|
||||
"upload_explanation": "Your comments will be publicly visible to all keepRight.at users.",
|
||||
"upload_explanation_with_user": "Your comments as {user} will be publicly visible to all keepRight.at users.",
|
||||
"resolve_comment": "Comment and Resolve",
|
||||
"ignore_comment": "Comment and Ignore",
|
||||
"resolve": "Resolve",
|
||||
"ignore": "Ignore",
|
||||
"toggle-on": "All on",
|
||||
"toggle-off": "All off",
|
||||
"entities": {
|
||||
"node": "node",
|
||||
"way": "way",
|
||||
"relation": "relation",
|
||||
"highway": "highway",
|
||||
"cycleway": "cycleway",
|
||||
"waterway": "waterway",
|
||||
"riverbank": "riverbank"
|
||||
},
|
||||
"errorTypes": {
|
||||
"errors": {
|
||||
"_30": {
|
||||
"description": "non-closed_areas",
|
||||
"tooltip": "This way is tagged with {var1}={var2} and should be closed-loop"
|
||||
},
|
||||
"_40": {
|
||||
"description": "dead-ended one-ways",
|
||||
"tooltip": "The first node (id {var1}) of this one-way is not connected to any other way"
|
||||
},
|
||||
"_41": {
|
||||
"description": "",
|
||||
"tooltip": "The last node (id {var1}) of this one-way is not connected to any other way"
|
||||
},
|
||||
"_42": {
|
||||
"description": "",
|
||||
"tooltip": "This node cannot be reached because one-ways only lead away from here"
|
||||
},
|
||||
"_43": {
|
||||
"description": "",
|
||||
"tooltip": "You cannot escape from this node because one-ways only lead to here"
|
||||
},
|
||||
"_50": {
|
||||
"description": "almost-junctions",
|
||||
"tooltip": "This node is very close but not connected to way #{var1}"
|
||||
},
|
||||
"_70": {
|
||||
"description": "missing tags",
|
||||
"tooltip": "This {var1} has an empty tag: {var2}"
|
||||
},
|
||||
"_71": {
|
||||
"description": "way without tags",
|
||||
"tooltip": "This way has no tags"
|
||||
},
|
||||
"_72": {
|
||||
"description": "node without tags",
|
||||
"tooltip": "This node is not member of any way and doesn't have any tags"
|
||||
},
|
||||
"_90": {
|
||||
"description": "motorways without ref",
|
||||
"tooltip": "This way is tagged as motorway and therefore needs a ref nat_ref or int_ref tag"
|
||||
},
|
||||
"_100": {
|
||||
"description": "places of worship without religion",
|
||||
"tooltip": "This {var1} is tagged as place of worship and therefore needs a religion tag"
|
||||
},
|
||||
"_110": {
|
||||
"description": "point of interest without name",
|
||||
"tooltip": "This node is tagged as {var1} and therefore needs a name tag"
|
||||
},
|
||||
"_120": {
|
||||
"description": "ways without nodes",
|
||||
"tooltip": "This way has just one single node"
|
||||
},
|
||||
"_130": {
|
||||
"description": "floating islands",
|
||||
"tooltip": "This way is not connected to the rest of the map"
|
||||
},
|
||||
"_150": {
|
||||
"description": "railway crossing without tag",
|
||||
"tooltip": "This crossing of a highway and a railway needs to be tagged as railway=crossing or railway=level_crossing"
|
||||
},
|
||||
"_160": {
|
||||
"description": "wrongly used railway tag",
|
||||
"tooltip": "There are ways in different layers coming together in this railway crossing. There are ways tagged as tunnel or bridge coming together in this railway crossing"
|
||||
},
|
||||
"_170": {
|
||||
"description": "FIXME tagged items",
|
||||
"tooltip": "{var1}"
|
||||
},
|
||||
"_180": {
|
||||
"description": "relations without type",
|
||||
"tooltip": "This relation has no type tag which is mandatory for relations"
|
||||
},
|
||||
"_190": {
|
||||
"description": "intersections without junctions",
|
||||
"tooltip": "Finds way crossings on same layer without common node as a junction"
|
||||
},
|
||||
"_191": {
|
||||
"description": "highway-highway",
|
||||
"tooltip": "This {var1} intersects the {var2} #{var3} but there is no junction node"
|
||||
},
|
||||
"_192": {
|
||||
"description": "highway-waterway",
|
||||
"tooltip": "This {var1} intersects the {var2} #{var3}"
|
||||
},
|
||||
"_193": {
|
||||
"description": "highway-riverbank",
|
||||
"tooltip": "This {var1} intersects the {var2} #{var3}"
|
||||
},
|
||||
"_194": {
|
||||
"description": "waterway-waterway",
|
||||
"tooltip": "This {var1} intersects the {var2} #{var3} but there is no junction node"
|
||||
},
|
||||
"_195": {
|
||||
"description": "cycleway-cycleway",
|
||||
"tooltip": "This {var1} intersects the {var2} #{var3} but there is no junction node"
|
||||
},
|
||||
"_196": {
|
||||
"description": "highway-cycleway",
|
||||
"tooltip": "This {var1} intersects the {var2} #{var3} but there is no junction node"
|
||||
},
|
||||
"_197": {
|
||||
"description": "cycleway-waterway",
|
||||
"tooltip": "This {var1} intersects the {var2} #{var3}"
|
||||
},
|
||||
"_198": {
|
||||
"description": "cycleway-riverbank",
|
||||
"tooltip": "This {var1} intersects the {var2} #{var3}"
|
||||
},
|
||||
"_200": {
|
||||
"description": "overlapping ways",
|
||||
"tooltip": "Finds overlapping ways on same layer"
|
||||
},
|
||||
"_201": {
|
||||
"description": "highway-highway",
|
||||
"tooltip": "This {var1} overlaps the {var2} #{var3}"
|
||||
},
|
||||
"_202": {
|
||||
"description": "highway-waterway",
|
||||
"tooltip": "This {var1} overlaps the {var2} #{var3}"
|
||||
},
|
||||
"_203": {
|
||||
"description": "highway-riverbank",
|
||||
"tooltip": "This {var1} overlaps the {var2} #{var3}"
|
||||
},
|
||||
"_204": {
|
||||
"description": "waterway-waterway",
|
||||
"tooltip": "This {var1} overlaps the {var2} #{var3}"
|
||||
},
|
||||
"_205": {
|
||||
"description": "cycleway-cycleway",
|
||||
"tooltip": "This {var1} overlaps the {var2} #{var3}"
|
||||
},
|
||||
"_206": {
|
||||
"description": "highway-cycleway",
|
||||
"tooltip": "This {var1} overlaps the {var2} #{var3}"
|
||||
},
|
||||
"_207": {
|
||||
"description": "cycleway-waterway",
|
||||
"tooltip": "This {var1} overlaps the {var2} #{var3}"
|
||||
},
|
||||
"_208": {
|
||||
"description": "cycleway-riverbank",
|
||||
"tooltip": "This {var1} overlaps the {var2} #{var3}"
|
||||
},
|
||||
"_210": {
|
||||
"description": "loopings",
|
||||
"tooltip": "These errors contain self intersecting ways"
|
||||
},
|
||||
"_211": {
|
||||
"description": "",
|
||||
"tooltip": "This way contains more than one node at least twice. Nodes are {var1}. This may or may not be an error"
|
||||
},
|
||||
"_212": {
|
||||
"description": "",
|
||||
"tooltip": "This way has only two different nodes and contains one of them more than once"
|
||||
},
|
||||
"_220": {
|
||||
"description": "misspelled tags",
|
||||
"tooltip": "This {var1} is tagged {var2}={var3} where {var4} looks like {var5}"
|
||||
},
|
||||
"_221": {
|
||||
"description": "",
|
||||
"tooltip": "The key of this {var1} tag is key {var2}"
|
||||
},
|
||||
"_230": {
|
||||
"description": "layer conflicts",
|
||||
"tooltip": ""
|
||||
},
|
||||
"_231": {
|
||||
"description": "mixed layers intersection",
|
||||
"tooltip": "This node is a junction of ways on different layers: {var1}"
|
||||
},
|
||||
"_232": {
|
||||
"description": "strange layers",
|
||||
"tooltip": "This {var1} is tagged with layer {var2}. This need not be an error but it looks strange"
|
||||
},
|
||||
"_270": {
|
||||
"description": "motorways connected directly",
|
||||
"tooltip": "This node is a junction of a motorway and a highway other than motorway, motorway_link, trunk, rest_area or construction. Service or unclassified is only valid if it has access=no/private or it leads to a motorway service area or if it is a service=parking_aisle."
|
||||
},
|
||||
"_280": {
|
||||
"description": "boundaries",
|
||||
"tooltip": ""
|
||||
},
|
||||
"_281": {
|
||||
"description": "missing name",
|
||||
"tooltip": "This boundary has no name"
|
||||
},
|
||||
"_282": {
|
||||
"description": "missing admin level",
|
||||
"tooltip": "The boundary of {var1} has no valid numeric admin_level. Please do not use admin levels like for example 6;7. Always tag the lowest admin_level of all boundaries"
|
||||
},
|
||||
"_283": {
|
||||
"description": "no closed loop",
|
||||
"tooltip": "The boundary of {var1} is not closed-loop"
|
||||
},
|
||||
"_284": {
|
||||
"description": "splitting boundary",
|
||||
"tooltip": "The boundary of {var1} splits here"
|
||||
},
|
||||
"_285": {
|
||||
"description": "admin_level too high",
|
||||
"tooltip": "This boundary-way has admin_level {var1} but belongs to a relation with lower admin_level (higher priority); it should have the lowest admin_level of all relations"
|
||||
},
|
||||
"_290": {
|
||||
"description": "restrictions",
|
||||
"tooltip": "Analyses all relations tagged type=restriction or following variations type=restriction:hgv type=restriction:caravan type=restriction:motorcar type=restriction:bus type=restriction:agricultural type=restriction:motorcycle type=restriction:bicycle and type=restriction:hazmat"
|
||||
},
|
||||
"_291": {
|
||||
"description": "missing type",
|
||||
"tooltip": "This turn-restriction has no known restriction type"
|
||||
},
|
||||
"_292": {
|
||||
"description": "missing from way",
|
||||
"tooltip": "A turn-restriction needs exactly one {var1} member. This one has {var2}"
|
||||
},
|
||||
"_293": {
|
||||
"description": "missing to way",
|
||||
"tooltip": "A turn-restriction needs exactly one {var1} member. This one has {var2}"
|
||||
},
|
||||
"_294": {
|
||||
"description": "from or to not a way",
|
||||
"tooltip": "From- and To-members of turn restrictions need to be ways. {var1}"
|
||||
},
|
||||
"_295": {
|
||||
"description": "via is not on the way ends",
|
||||
"tooltip": "via (node #{var1}) is not the first or the last member of from (way #{var2})"
|
||||
},
|
||||
"_296": {
|
||||
"description": "wrong restriction angle",
|
||||
"tooltip": "restriction type is {var1} but angle is {var2} degrees. Maybe the restriction type is not appropriate?"
|
||||
},
|
||||
"_297": {
|
||||
"description": "wrong direction of to member",
|
||||
"tooltip": "wrong direction of to way {var1}"
|
||||
},
|
||||
"_298": {
|
||||
"description": "already restricted by oneway",
|
||||
"tooltip": "entry already prohibited by oneway tag on {var1}"
|
||||
},
|
||||
"_310": {
|
||||
"description": "roundabouts",
|
||||
"tooltip": "Analyses ways with tag junction=roundabout. More then one way can form a roundabout. It supports tag oneway=-1"
|
||||
},
|
||||
"_311": {
|
||||
"description": "not closed loop",
|
||||
"tooltip": "This way is part of a roundabout but is not closed-loop. (split carriageways approaching a roundabout should not be tagged as roundabout)"
|
||||
},
|
||||
"_312": {
|
||||
"description": "wrong direction",
|
||||
"tooltip": "If this roundabout is in a country with right-hand traffic then its orientation goes the wrong way around | If this roundabout is in a country with left-hand traffic then its orientation goes the wrong way around | If this mini_roundabout is in a country with right-hand traffic then its orientation goes the wrong way around | If this mini_roundabout is in a country with left-hand traffic then its orientation goes the wrong way around"
|
||||
},
|
||||
"_313": {
|
||||
"description": "faintly connected",
|
||||
"tooltip": "This roundabout has only {var1} other roads connected. Roundabouts typically have three"
|
||||
},
|
||||
"_320": {
|
||||
"description": "*_link connections",
|
||||
"tooltip": "This way is tagged as highway={var1}_link but doesn't have a connection to any other {var1} or {var1}_link"
|
||||
},
|
||||
"_350": {
|
||||
"description": "bridge-tags",
|
||||
"tooltip": "This bridge doesn't have a tag in common with its surrounding ways that shows the purpose of this bridge. There should be one of these tags: {var1}"
|
||||
},
|
||||
"_370": {
|
||||
"description": "doubled places",
|
||||
"tooltip": "This node has tags in common with the surrounding way #{var1} and seems to be redundand | This node has tags in common with the surrounding way #{var1} (including the name {var2}) and seems to be redundand"
|
||||
},
|
||||
"_380": {
|
||||
"description": "non-physical use of sport-tag",
|
||||
"tooltip": "This way is tagged {var1} but has no physical tag like e.g. leisure, building, amenity or highway"
|
||||
},
|
||||
"_400": {
|
||||
"description": "geometry glitches",
|
||||
"tooltip": ""
|
||||
},
|
||||
"_401": {
|
||||
"description": "missing turn restriction",
|
||||
"tooltip": "ways {var1} and {var2} join in a very sharp angle here and there is no oneway tag or turn restriction that prevents turning from way {var1} to {var2}"
|
||||
},
|
||||
"_402": {
|
||||
"description": "impossible angles",
|
||||
"tooltip": "this way bends in a very sharp angle here"
|
||||
},
|
||||
"_410": {
|
||||
"description": "website",
|
||||
"tooltip": "Web pages are analyzed. Web page is defined by any of the following tags website=* url=* website:mobile=* contact:website=* contact:url=* image=* source:website=* or source:url=*"
|
||||
},
|
||||
"_411": {
|
||||
"description": "http error",
|
||||
"tooltip": "The URL (<a target=\"_blank\" href=\"{var1}\">{var1}</a>) cannot be opened (HTTP status code {var2})"
|
||||
},
|
||||
"_412": {
|
||||
"description": "domain hijacking",
|
||||
"tooltip": "Possible domain squatting: <a target=\\\"_blank\\\" href=\"{var1}\">{var1}</a>. Suspicious text is: \"{var2}\""
|
||||
},
|
||||
"_413": {
|
||||
"description": "non-match",
|
||||
"tooltip": "Content of the URL (<a target=\\\"_blank\\\" href=\"{var1}\">{var1}</a>) did not contain these keywords: ({var2})"
|
||||
}
|
||||
},
|
||||
"_390": {
|
||||
"description": "missing tracktype",
|
||||
"tooltip": "This track doesn't have a tracktype"
|
||||
"warnings": {
|
||||
"_20": {
|
||||
"description": "multiple nodes on the same spot",
|
||||
"tooltip": "There is more than one node in this spot. Offending node IDs: {var1}"
|
||||
},
|
||||
"_60": {
|
||||
"description": "depreciated tags",
|
||||
"tooltip": "This {var1} uses deprecated tag {var2}={var3}. Please use {var4} instead!"
|
||||
},
|
||||
"_300": {
|
||||
"description": "missing maxspeed",
|
||||
"tooltip": "missing maxspeed tag"
|
||||
},
|
||||
"_360": {
|
||||
"description": "language unknown",
|
||||
"tooltip": "It would be nice if this {var1} had an additional tag name:XX={var2} where XX shows the language of its name {var2}"
|
||||
},
|
||||
"_390": {
|
||||
"description": "missing tracktype",
|
||||
"tooltip": "This track doesn't have a tracktype"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -185,7 +185,6 @@ export default {
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
// get all cached errors covering the viewport
|
||||
keepRight: function(projection) {
|
||||
var viewport = projection.clipExtent();
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import _throttle from 'lodash-es/throttle';
|
||||
import { select as d3_select } from 'd3-selection';
|
||||
|
||||
import { modeBrowse } from '../modes';
|
||||
import { svgPointTransform } from './index';
|
||||
import { services } from '../services';
|
||||
|
||||
@@ -10,6 +12,13 @@ export function svgKeepRight(projection, context, dispatch) {
|
||||
var layer = d3_select(null);
|
||||
var _keepRight;
|
||||
|
||||
function markerPath(selection, klass) {
|
||||
selection
|
||||
.attr('class', klass)
|
||||
.attr('transform', 'translate(-4, -24)')
|
||||
.attr('d', 'M11.6,6.2H7.1l1.4-5.1C8.6,0.6,8.1,0,7.5,0H2.2C1.7,0,1.3,0.3,1.3,0.8L0,10.2c-0.1,0.6,0.4,1.1,0.9,1.1h4.6l-1.8,7.6C3.6,19.4,4.1,20,4.7,20c0.3,0,0.6-0.2,0.8-0.5l6.9-11.9C12.7,7,12.3,6.2,11.6,6.2z');
|
||||
}
|
||||
|
||||
|
||||
function init() {
|
||||
if (svgKeepRight.initialized) return; // run once
|
||||
@@ -34,12 +43,31 @@ export function svgKeepRight(projection, context, dispatch) {
|
||||
var service = getService();
|
||||
if (!service) return;
|
||||
editOn();
|
||||
|
||||
layer
|
||||
.classed('disabled', false)
|
||||
.style('opacity', 0)
|
||||
.transition()
|
||||
.duration(250)
|
||||
.style('opacity', 1)
|
||||
.on('end interrupt', function () {
|
||||
dispatch.call('change');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function hideLayer() {
|
||||
throttledRedraw.cancel();
|
||||
editOff();
|
||||
|
||||
layer
|
||||
.transition()
|
||||
.duration(250)
|
||||
.style('opacity', 0)
|
||||
.on('end interrupt', function () {
|
||||
layer.classed('disabled', true);
|
||||
dispatch.call('change');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -107,9 +135,9 @@ export function svgKeepRight(projection, context, dispatch) {
|
||||
.attr('ry', 3)
|
||||
.attr('class', 'stroke');
|
||||
|
||||
// kr_errorsEnter
|
||||
// .append('path')
|
||||
// .call(markerPath, 'kr_error-shadow');
|
||||
kr_errorsEnter
|
||||
.append('path')
|
||||
.call(markerPath, 'shadow');
|
||||
|
||||
kr_errorsEnter
|
||||
.append('use')
|
||||
@@ -156,7 +184,7 @@ export function svgKeepRight(projection, context, dispatch) {
|
||||
if (service && ~~context.map().zoom() >= minZoom) {
|
||||
editOn();
|
||||
update();
|
||||
var options = { // TODO: change out these options and place as default
|
||||
var options = {
|
||||
ch: [0,30,40,50,70,90,100,110,120,130,150,160,170,180,191,192,193,194,195,196,197,198,201,202,203,204,205,206,207,208,210,220,231,232,270,281,282,283,284,285,291,292,293,294,295,296,297,298,311,312,313,320,350,370,380,401,402,411,412,413]
|
||||
};
|
||||
|
||||
@@ -175,6 +203,9 @@ export function svgKeepRight(projection, context, dispatch) {
|
||||
showLayer();
|
||||
} else {
|
||||
hideLayer();
|
||||
if (context.selectedErrorID()) {
|
||||
context.enter(modeBrowse(context));
|
||||
}
|
||||
}
|
||||
dispatch.call('change');
|
||||
return this;
|
||||
|
||||
@@ -32,7 +32,7 @@ export function uiKeepRightDetails(context) {
|
||||
_parent_error_type = '_' + base_error_type;
|
||||
}
|
||||
|
||||
_titleBase = 'keepRight.errorTypes.' + _category + '.';
|
||||
_titleBase = 'QA.keepRight.errorTypes.' + _category + '.';
|
||||
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ export function uiKeepRightDetails(context) {
|
||||
.attr('class', 'kr_error-details-title');
|
||||
|
||||
title.append('h4')
|
||||
.text(function() { return t('keepRight.detail_title'); });
|
||||
.text(function() { return t('QA.keepRight.detail_title'); });
|
||||
|
||||
title.append('div')
|
||||
.text(function() {
|
||||
@@ -72,7 +72,7 @@ export function uiKeepRightDetails(context) {
|
||||
|
||||
// if this is a subtype, append it's parent title
|
||||
if (_parent_error_type) {
|
||||
title = t(_titleBase + _parent_error_type + '.description') + ':\n';
|
||||
title = t(_titleBase + _parent_error_type + '.description') + ': \n';
|
||||
}
|
||||
|
||||
// append title
|
||||
@@ -91,7 +91,7 @@ export function uiKeepRightDetails(context) {
|
||||
|
||||
description
|
||||
.append('h4')
|
||||
.text(function() { return t('keepRight.detail_description'); });
|
||||
.text(function() { return t('QA.keepRight.detail_description'); });
|
||||
|
||||
description
|
||||
.append('div')
|
||||
|
||||
@@ -49,7 +49,7 @@ export function uiKeepRightEditor(context) {
|
||||
|
||||
headerEnter
|
||||
.append('h3')
|
||||
.text(t('keepRight.title'));
|
||||
.text(t('QA.keepRight.title'));
|
||||
|
||||
|
||||
var body = selection.selectAll('.body')
|
||||
@@ -102,13 +102,13 @@ export function uiKeepRightEditor(context) {
|
||||
.append('h4')
|
||||
.attr('class', '.error-save-header')
|
||||
.text(function() {
|
||||
return t('keepRight.newComment');
|
||||
return t('QA.keepRight.newComment');
|
||||
});
|
||||
|
||||
errorSaveEnter
|
||||
.append('textarea')
|
||||
.attr('class', 'new-comment-input')
|
||||
.attr('placeholder', t('keepRight.inputPlaceholder'))
|
||||
.attr('placeholder', t('QA.keepRight.inputPlaceholder'))
|
||||
.attr('maxlength', 1000)
|
||||
.property('value', function(d) { return d.newComment; })
|
||||
.call(utilNoAuto)
|
||||
@@ -201,7 +201,7 @@ export function uiKeepRightEditor(context) {
|
||||
prose = prose.enter()
|
||||
.append('p')
|
||||
.attr('class', 'error-save-prose')
|
||||
.text(t('keepRight.upload_explanation'))
|
||||
.text(t('QA.keepRight.upload_explanation'))
|
||||
.merge(prose);
|
||||
|
||||
osm.userDetails(function(err, user) {
|
||||
@@ -225,7 +225,7 @@ export function uiKeepRightEditor(context) {
|
||||
.attr('target', '_blank');
|
||||
|
||||
prose
|
||||
.html(t('keepRight.upload_explanation_with_user', { user: userLink.html() }));
|
||||
.html(t('QA.keepRight.upload_explanation_with_user', { user: userLink.html() }));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -295,7 +295,7 @@ export function uiKeepRightEditor(context) {
|
||||
.attr('disabled', (hasAuth ? null : true))
|
||||
.text(function(d) {
|
||||
var andComment = (d.newComment ? '_comment' : '');
|
||||
return t('keepRight.resolve' + andComment);
|
||||
return t('QA.keepRight.resolve' + andComment);
|
||||
})
|
||||
.on('click.status', function(d) {
|
||||
this.blur(); // avoid keeping focus on the button - #4641
|
||||
@@ -312,7 +312,7 @@ export function uiKeepRightEditor(context) {
|
||||
.attr('disabled', (hasAuth ? null : true))
|
||||
.text(function(d) {
|
||||
var andComment = (d.newComment ? '_comment' : '');
|
||||
return t('keepRight.ignore' + andComment);
|
||||
return t('QA.keepRight.ignore' + andComment);
|
||||
})
|
||||
.on('click.status', function(d) {
|
||||
this.blur(); // avoid keeping focus on the button - #4641
|
||||
|
||||
@@ -72,7 +72,7 @@ export function uiKeepRightHeader(context) {
|
||||
headerEnter
|
||||
.append('div')
|
||||
.attr('class', 'kr_error-header-label')
|
||||
.text(function(d) { return t('keepRight.entities.' + d.object_type) + ' '; })
|
||||
.text(function(d) { return t('QA.keepRight.entities.' + d.object_type) + ' '; })
|
||||
.append('span')
|
||||
.append('a')
|
||||
.text(function(d) { return d.object_id; })
|
||||
|
||||
+90
-43
@@ -22,7 +22,8 @@ export function uiMapData(context) {
|
||||
|
||||
var key = t('map_data.key');
|
||||
var features = context.features().keys();
|
||||
var errors = Object.keys(errorTypes.errors); // TODO: add warnings
|
||||
var QAs = ['keepRight'];
|
||||
// var errors = Object.keys(errorTypes.errors); // TODO: add warnings
|
||||
var layers = context.layers();
|
||||
var fills = ['wireframe', 'partial', 'full'];
|
||||
|
||||
@@ -35,6 +36,7 @@ export function uiMapData(context) {
|
||||
var _fillList = d3_select(null);
|
||||
var _featureList = d3_select(null);
|
||||
var _QAList = d3_select(null);
|
||||
// var _KeepRightList = d3_select(null);
|
||||
|
||||
|
||||
function showsFeature(d) {
|
||||
@@ -43,6 +45,7 @@ export function uiMapData(context) {
|
||||
|
||||
|
||||
function autoHiddenFeature(d) {
|
||||
if (d.type === 'kr_error') return context.errors().autoHidden(d);
|
||||
return context.features().autoHidden(d);
|
||||
}
|
||||
|
||||
@@ -53,15 +56,31 @@ export function uiMapData(context) {
|
||||
}
|
||||
|
||||
|
||||
function showsError(d) {
|
||||
// return context.errors().enabled(d);
|
||||
function showsQA(d) {
|
||||
|
||||
var QAKeys = [d];
|
||||
var QALayers = layers.all().filter(function(obj) { return QAKeys.indexOf(obj.id) !== -1; });
|
||||
var data = QALayers.filter(function(obj) { return obj.layer.supported(); });
|
||||
|
||||
function layerSupported(d) {
|
||||
return d.layer && d.layer.supported();
|
||||
}
|
||||
function layerEnabled(d) {
|
||||
return layerSupported(d) && d.layer.enabled();
|
||||
}
|
||||
|
||||
return layerEnabled(data[0]);
|
||||
|
||||
}
|
||||
|
||||
// function clickError(d) {
|
||||
|
||||
function clickError(d) {
|
||||
// context.errors().toggle(d);
|
||||
// update();
|
||||
}
|
||||
// }
|
||||
|
||||
|
||||
// function showsError(d) {
|
||||
|
||||
// }
|
||||
|
||||
|
||||
function showsFill(d) {
|
||||
@@ -112,7 +131,7 @@ export function uiMapData(context) {
|
||||
|
||||
|
||||
function drawPhotoItems(selection) {
|
||||
var photoKeys = ['streetside', 'mapillary-images', 'mapillary-signs', 'openstreetcam-images', 'keepRight'];
|
||||
var photoKeys = ['streetside', 'mapillary-images', 'mapillary-signs', 'openstreetcam-images'];
|
||||
var photoLayers = layers.all().filter(function(obj) { return photoKeys.indexOf(obj.id) !== -1; });
|
||||
var data = photoLayers.filter(function(obj) { return obj.layer.supported(); });
|
||||
|
||||
@@ -432,37 +451,43 @@ export function uiMapData(context) {
|
||||
var QAButtons = d3_select('.layer-QA').selectAll('li').select('label').select('input');
|
||||
var buttonSection = selection.selectAll('.QA-buttons')
|
||||
.data([0]);
|
||||
// function drawQAButtons(selection) {
|
||||
|
||||
// exit
|
||||
buttonSection.exit()
|
||||
.remove();
|
||||
// var QAButtons = d3_select('.layer-QA').selectAll('li').select('label').select('input');
|
||||
|
||||
// enter
|
||||
var buttonEnter = buttonSection.enter()
|
||||
.append('div')
|
||||
.attr('class', 'QA-buttons');
|
||||
// var buttonSection = selection.selectAll('.QA-buttons')
|
||||
// .data([0]);
|
||||
|
||||
buttonEnter
|
||||
.append('button')
|
||||
.attr('class', 'button QA-toggle-on action')
|
||||
.text(t('keepRight.toggle-on'))
|
||||
.on('click', function() {
|
||||
QAButtons.property('checked', true);
|
||||
dispatch.call('change');
|
||||
});
|
||||
// // exit
|
||||
// buttonSection.exit()
|
||||
// .remove();
|
||||
|
||||
buttonEnter
|
||||
.append('button')
|
||||
.attr('class', 'button QA-toggle-off action')
|
||||
.text(t('keepRight.toggle-off'))
|
||||
.on('click', function() {
|
||||
QAButtons.property('checked', false);
|
||||
dispatch.call('change');
|
||||
});
|
||||
// // enter
|
||||
// var buttonEnter = buttonSection.enter()
|
||||
// .append('div')
|
||||
// .attr('class', 'QA-buttons');
|
||||
|
||||
buttonSection = buttonSection
|
||||
.merge(buttonEnter);
|
||||
}
|
||||
// buttonEnter
|
||||
// .append('button')
|
||||
// .attr('class', 'button QA-toggle-on action')
|
||||
// .text(t('QA.keepRight.toggle-on'))
|
||||
// .on('click', function() {
|
||||
// QAButtons.property('checked', true);
|
||||
// dispatch.call('change');
|
||||
// });
|
||||
|
||||
// buttonEnter
|
||||
// .append('button')
|
||||
// .attr('class', 'button QA-toggle-off action')
|
||||
// .text(t('QA.keepRight.toggle-off'))
|
||||
// .on('click', function() {
|
||||
// QAButtons.property('checked', false);
|
||||
// dispatch.call('change');
|
||||
// });
|
||||
|
||||
// buttonSection = buttonSection
|
||||
// .merge(buttonEnter);
|
||||
// }
|
||||
|
||||
|
||||
function drawListItems(selection, data, type, name, change, active) {
|
||||
@@ -483,7 +508,8 @@ export function uiMapData(context) {
|
||||
var tip = t(name + '.' + d + '.tooltip'),
|
||||
key = (d === 'wireframe' ? t('area_fill.wireframe.key') : null);
|
||||
|
||||
if (name === 'feature' && autoHiddenFeature(d)) {
|
||||
|
||||
if ((name === 'feature' || name === 'keepRight') && autoHiddenFeature(d)) {
|
||||
var msg = showsLayer('osm') ? t('map_data.autohidden') : t('map_data.osmhidden');
|
||||
tip += '<div>' + msg + '</div>';
|
||||
}
|
||||
@@ -514,7 +540,7 @@ export function uiMapData(context) {
|
||||
.selectAll('input')
|
||||
.property('checked', active)
|
||||
.property('indeterminate', function(d) {
|
||||
return (name === 'feature' && autoHiddenFeature(d));
|
||||
return ((name === 'feature' || name === 'keepRight') && autoHiddenFeature(d));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -552,7 +578,7 @@ export function uiMapData(context) {
|
||||
}
|
||||
|
||||
|
||||
function renderQA(selection) {
|
||||
function renderQAList(selection) {
|
||||
var container = selection.selectAll('layer-QA')
|
||||
.data([0]);
|
||||
|
||||
@@ -562,6 +588,16 @@ export function uiMapData(context) {
|
||||
.merge(container);
|
||||
}
|
||||
|
||||
// function renderKeepRightList(selection) {
|
||||
// var container = selection.selectAll('layer-keepRight')
|
||||
// .data([0]);
|
||||
|
||||
// _KeepRightList = container.enter()
|
||||
// .append('ul')
|
||||
// .attr('class', 'layer-list layer-keepRight')
|
||||
// .merge(container);
|
||||
// }
|
||||
|
||||
|
||||
function update() {
|
||||
_dataLayerContainer
|
||||
@@ -577,9 +613,12 @@ export function uiMapData(context) {
|
||||
.call(drawListItems, features, 'checkbox', 'feature', clickFeature, showsFeature);
|
||||
|
||||
_QAList
|
||||
.call(drawListItems, errors, 'checkbox', 'keepRight.errorTypes.errors', clickError, showsError);
|
||||
d3_select('.disclosure-wrap-QA')
|
||||
.call(drawQAButtons);
|
||||
.call(drawListItems, QAs, 'checkbox', 'QA', function(d) { toggleLayer(d); }, showsQA);
|
||||
|
||||
// _KeepRightList
|
||||
// .call(drawListItems, errors, 'checkbox', 'QA.keepRight.errorTypes.errors', clickError, showsError);
|
||||
// d3_select('.disclosure-wrap-QA')
|
||||
// .call(drawQAButtons);
|
||||
}
|
||||
|
||||
|
||||
@@ -711,10 +750,19 @@ export function uiMapData(context) {
|
||||
.append('div')
|
||||
.attr('class', 'map-data-QA')
|
||||
.call(uiDisclosure(context, 'QA', false)
|
||||
.title(t('map_data.QA'))
|
||||
.content(renderQA)
|
||||
.title(t('map_data.QA.title'))
|
||||
.content(renderQAList)
|
||||
);
|
||||
|
||||
// // adding keepRight sublayers
|
||||
// QA_list
|
||||
// .append('div')
|
||||
// .attr('class', 'keepRight-errors')
|
||||
// .call(uiDisclosure(context, 'keepRight', false)
|
||||
// .title(t('map_data.QA.keepRight'))
|
||||
// .content(renderKeepRightList)
|
||||
// );
|
||||
|
||||
|
||||
// add listeners
|
||||
context.features()
|
||||
@@ -722,7 +770,6 @@ export function uiMapData(context) {
|
||||
|
||||
// context.errors()
|
||||
// .on('change.map_data-update', update); // TODO: add errors list to context?
|
||||
''
|
||||
update();
|
||||
setFill(_fillSelected);
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ export function parseErrorDescriptions(entity) {
|
||||
|
||||
// if any variables contain common words, like node, way, relation, translate those
|
||||
if (commonEntities.includes(currWord)) {
|
||||
currWord = t('keepRight.entities.' + currWord);
|
||||
currWord = t('QA.keepRight.entities.' + currWord);
|
||||
}
|
||||
|
||||
parsedPhrase += currWord;
|
||||
|
||||
Reference in New Issue
Block a user