mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 17:23:02 +00:00
Filters out errors not present in the data .json file to enable selective support since Osmose has a wide variety of errors which may be too advanced for iD. Also added processing for the elements associated with an error for forced visibility and highlighting.
224 lines
5.1 KiB
CSS
224 lines
5.1 KiB
CSS
|
|
/* OSM Notes and KeepRight Layers */
|
|
|
|
.error-header-icon .qa_error-fill,
|
|
.layer-keepRight .qa_error .qa_error-fill,
|
|
.layer-improveOSM .qa_error .qa_error-fill,
|
|
.layer-osmose .qa_error .qa_error-fill {
|
|
stroke: #333;
|
|
stroke-width: 1.3px; /* NOTE: likely a better way to scale the icon stroke */
|
|
}
|
|
|
|
.note-header-icon .note-fill,
|
|
.layer-notes .note .note-fill {
|
|
color: #f30;
|
|
stroke: #333;
|
|
stroke-width: 40px;
|
|
}
|
|
.note-header-icon.new .note-fill,
|
|
.layer-notes .note.new .note-fill {
|
|
color: #fe0;
|
|
stroke: #333;
|
|
stroke-width: 40px;
|
|
}
|
|
.note-header-icon.closed .note-fill,
|
|
.layer-notes .note.closed .note-fill {
|
|
color: #5d0;
|
|
stroke: #333;
|
|
stroke-width: 40px;
|
|
}
|
|
|
|
/* slight adjustments to preset icon for note icons */
|
|
.note-header-icon .preset-icon-28 {
|
|
top: 18px;
|
|
}
|
|
.note-header-icon .note-icon-annotation {
|
|
position: absolute;
|
|
top: 22px;
|
|
left: 22px;
|
|
margin: auto;
|
|
}
|
|
.note-header-icon .note-icon-annotation .icon {
|
|
width: 15px;
|
|
height: 15px;
|
|
}
|
|
|
|
/* adjustment for error icon */
|
|
|
|
.error-header-icon .preset-icon-28 {
|
|
top: auto;
|
|
left: auto;
|
|
}
|
|
|
|
.error-header-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
/* Keep Right Errors
|
|
------------------------------------------------------- */
|
|
.keepRight.error_type-20, /* multiple nodes on same spot */
|
|
.keepRight.error_type-40, /* impossible oneways */
|
|
.keepRight.error_type-210, /* self intersecting ways */
|
|
.keepRight.error_type-270, /* unusual motorway connection */
|
|
.keepRight.error_type-310, /* roundabout issues */
|
|
.keepRight.error_type-320, /* improper _link */
|
|
.keepRight.error_type-350 { /* improper bridge tag */
|
|
color: #ff9;
|
|
}
|
|
|
|
.keepRight.error_type-50 { /* almost junctions */
|
|
color: #88f;
|
|
}
|
|
|
|
.keepRight.error_type-60, /* deprecated tags */
|
|
.keepRight.error_type-70, /* tagging issues */
|
|
.keepRight.error_type-90, /* motorway without ref */
|
|
.keepRight.error_type-100, /* place of worship without religion */
|
|
.keepRight.error_type-110, /* poi without name */
|
|
.keepRight.error_type-150, /* railway crossing without tag */
|
|
.keepRight.error_type-220, /* misspelled tag */
|
|
.keepRight.error_type-380 { /* non-physical sport tag */
|
|
color: #5d0;
|
|
}
|
|
|
|
.keepRight.error_type-130 { /* disconnected ways */
|
|
color: #fa3;
|
|
}
|
|
|
|
.keepRight.error_type-170 { /* FIXME tag */
|
|
color: #ff0;
|
|
}
|
|
|
|
.keepRight.error_type-190 { /* intersection without junction */
|
|
color: #f33;
|
|
}
|
|
|
|
.keepRight.error_type-200 { /* overlapping ways */
|
|
color: #fdbf6f;
|
|
}
|
|
|
|
.keepRight.error_type-160, /* railway layer conflict */
|
|
.keepRight.error_type-230 { /* layer conflict */
|
|
color: #b60;
|
|
}
|
|
|
|
.keepRight.error_type-280 { /* boundary issues */
|
|
color: #5f47a0;
|
|
}
|
|
|
|
.keepRight.error_type-180, /* relation without type */
|
|
.keepRight.error_type-290 { /* turn restriction issues */
|
|
color: #ace;
|
|
}
|
|
|
|
.keepRight.error_type-300, /* missing maxspeed */
|
|
.keepRight.error_type-390 { /* missing tracktype */
|
|
color: #090;
|
|
}
|
|
|
|
.keepRight.error_type-360, /* language unknown */
|
|
.keepRight.error_type-370, /* doubled places */
|
|
.keepRight.error_type-410 { /* website issues */
|
|
color: #f9b;
|
|
}
|
|
|
|
.keepRight.error_type-120, /* way without nodes */
|
|
.keepRight.error_type-400 { /* geometry / turn angles */
|
|
color: #c35;
|
|
}
|
|
|
|
/* ImproveOSM Errors
|
|
------------------------------------------------------- */
|
|
|
|
.improveOSM.error_type-ow { /* missing one way */
|
|
color: #1E90FF;
|
|
}
|
|
|
|
.improveOSM.error_type-mr-road { /* missing road */
|
|
color: #B452CD;
|
|
}
|
|
.improveOSM.error_type-mr-path { /* missing path */
|
|
color: #A0522D;
|
|
}
|
|
.improveOSM.error_type-mr-parking { /* missing parking */
|
|
color: #EEEE00;
|
|
}
|
|
.improveOSM.error_type-mr-both { /* missing road+parking */
|
|
color: #FFA500;
|
|
}
|
|
|
|
.improveOSM.error_type-tr { /* missing turn restriction */
|
|
color: #EC1C24;
|
|
}
|
|
|
|
/* Osmose Errors
|
|
------------------------------------------------------- */
|
|
.osmose {
|
|
color: #FFFFFF;
|
|
}
|
|
|
|
.osmose.category-structure {
|
|
color: #F9C700;
|
|
}
|
|
|
|
/* Custom Map Data (geojson, gpx, kml, vector tile) */
|
|
.layer-mapdata {
|
|
pointer-events: none;
|
|
}
|
|
|
|
.layer-mapdata path.shadow {
|
|
pointer-events: stroke;
|
|
stroke: #f6634f;
|
|
stroke-width: 16;
|
|
stroke-opacity: 0;
|
|
fill: none;
|
|
}
|
|
.layer-mapdata path.MultiPoint.shadow,
|
|
.layer-mapdata path.Point.shadow {
|
|
pointer-events: fill;
|
|
fill: #f6634f;
|
|
fill-opacity: 0;
|
|
}
|
|
.layer-mapdata path.shadow.hover:not(.selected) {
|
|
stroke-opacity: 0.4;
|
|
}
|
|
.layer-mapdata path.shadow.selected {
|
|
stroke-opacity: 0.7;
|
|
}
|
|
|
|
.layer-mapdata path.stroke {
|
|
stroke: #ff26d4;
|
|
stroke-width: 2;
|
|
fill: none;
|
|
}
|
|
|
|
.layer-mapdata path.fill {
|
|
stroke-width: 0;
|
|
stroke-opacity: 0.3;
|
|
stroke: #ff26d4;
|
|
fill: #ff26d4;
|
|
fill-opacity: 0.3;
|
|
fill-rule: evenodd;
|
|
}
|
|
|
|
.layer-mapdata text.label-halo,
|
|
.layer-mapdata text.label {
|
|
font-size: 10px;
|
|
font-weight: bold;
|
|
dominant-baseline: middle;
|
|
}
|
|
.layer-mapdata text.label {
|
|
fill: #ff26d4;
|
|
}
|
|
.layer-mapdata text.label.hover,
|
|
.layer-mapdata text.label.selected {
|
|
fill: #f6634f;
|
|
}
|
|
.layer-mapdata text.label-halo {
|
|
opacity: 0.7;
|
|
stroke: #000;
|
|
stroke-width: 5px;
|
|
stroke-miterlimit: 1;
|
|
} |