57 Commits

Author SHA1 Message Date
Martin Raifer
8e8c5a8621 Render oneway markers inline in dashed lines (#10849) 2025-03-20 14:01:26 +01:00
Kyℓe Hensel
4747ae253c refactor isOneWay to properly support bidirectional ways (#10730) 2025-02-12 14:22:09 +01:00
Kyℓe Hensel
1c5b3b4051 use a more visible colour for oneway arrows on dark lines (#9143) 2025-01-15 11:38:36 +01:00
Kyℓe Hensel
fb8b969c3f fix non-integer layer tag causing invisible features (#9933) 2025-01-15 11:35:18 +01:00
Kyle Hensel
180a2bbd50 render oneway arrows for the conveying tag 2024-05-25 16:01:04 +10:00
Martin Raifer
97442403cf drop validator which checks for old style multipolygons
these have long been [fixed](https://blog.jochentopf.com/2017-08-28-polygon-fixing-effort-concluded.html) in OSM

see wiki: https://wiki.openstreetmap.org/wiki/Old_style_multipolygons
2024-02-29 13:28:22 +01:00
Kyℓe Hensel
3b24932bda fix highway=busway not supported in the turn restriction editor (#9633) 2023-11-14 09:53:23 +01:00
Martin Raifer
12da8cbfee render side-markers also for coastline areas, fixes #9293 2022-09-14 19:25:52 +02:00
Quincy Morgan
ba48a861bc Enable curly and block-spacing eslint rules 2020-11-10 14:19:11 -05:00
Quincy Morgan
e391edcc5c Namespace various internal SVG ids under ideditor (re: #7445) 2020-03-22 14:39:40 -07:00
Quincy Morgan
e335f0a086 Don't style untagged multipolygon member lines as area boundaries if they also have belong to non-multipolygon relations (close #6787) 2019-12-11 16:32:00 -05:00
Quincy Morgan
18a2c6c320 Fix issue where false edited segment indicators could appear 2019-10-10 18:28:43 +02:00
Quincy Morgan
c7186e2ee6 Replace usage of lodash isEqual (re: #6843) 2019-10-08 20:42:58 +02:00
Quincy Morgan
f3e7bd9034 Render line and vertex visual diff on shadow instead of above everything (re: #6843)
Differentiate added lines and vertices from merely changed ones
2019-10-07 16:13:35 +02:00
Quincy Morgan
909079e454 Replace uses of lodash omit (re: #6843)
Fix lint warnings
2019-10-07 11:43:40 +02:00
Benjamin Clark
a0f85967b0 highlight edits now differentiates between tag edits and geometry edits for vertices/lines. 2019-09-11 13:02:12 -04:00
Benjamin Clark
a4dc7518c4 Add a hotkey to highlight edited ways. 2019-09-11 13:02:12 -04:00
Quincy Morgan
1bce70e3f5 Update directional arrow styling when switching between directional presets (close #6032) 2019-07-17 13:55:56 -04:00
Quincy Morgan
d01bb78707 Reduce circular dependencies caused by importing from indexes, the location of the validation models, and the location of areaKeys (close #6237) 2019-04-24 13:45:59 -07:00
Bryan Housel
d18b951c67 Remove lodash flatten and flattenDeep
(re: #6087)
2019-03-28 10:04:46 -04:00
Bryan Housel
3d80e6505f Remove lodash chunk, groupBy
(re: #6087)
2019-03-27 16:18:41 -04:00
Bryan Housel
76e0d13729 Remove lodash every and filter
(re: #6087)
2019-03-23 01:22:56 -04:00
Quincy Morgan
9d940fffdb Fix issue where untagged multipolygon member lines would render as lines instead of area edges
Show recents in the ribbon again
2019-03-20 15:05:35 -04:00
Quincy Morgan
9785021f44 Rename simpleMultipolygon functions to oldMultipolygon
Return old_multipolygon validation issues for the relations as well as the outer ways
Remove console logging
Don't run missing_tag validation for relations with old_multipolygon issues
2019-02-01 15:19:28 -05:00
Bryan Housel
89e45225b8 Style multipolygon inner/outers as areas not lines 2019-01-17 12:32:45 -05:00
Huon Wilson
dd0be84da4 Add one-sided triangular markers to ways with sides (e.g. natural=cliff).
This generalizes the oneway arrow logic for adding SVG markers along a
line. Using that functionality, certain tags get arrows on their
right-hand side, indicating which side is "inside", e.g. the
right-side of a cliff is the lower side.

The list of tags considered to be sided (unless there's a
two_sided=yes tag) is:

- natural=cliff
- natural=coastline
- barrier=retaining_wall
- barrier=kerb
- barrier=guard_rail
- barrier=city_wall
- man_made=embankment

The triangles attempt to be reminiscent of the triangles used for
rendering cliffs on OSM (and elsewhere). The different tags get
different renderings (e.g. colors that match the main way, and
different spacings). In addition, natural=coastline is special-cased
to have blue markers (despite having a green way), to emphasise that
the "inside" of a coastline is the water.

Fixes https://github.com/openstreetmap/iD/issues/1475.
2018-11-28 01:45:50 +11:00
Bryan Housel
3bc841e95b Adjust layer ordering to draw touch targets above data layers 2018-11-09 21:48:45 -05:00
Bryan Housel
cc79e2170b Only draw targets for lines and areas that have a valid path
Before, it was drawing svg path elements for all the segments,
even those that were clipped out of view (getPath returns null).
This was putting a lot of junk into the DOM.
2018-03-01 22:49:56 -05:00
Bryan Housel
de488e252f Draw covered/underground lines beneath areas
(closes #4718)
2018-01-22 15:06:58 -05:00
Bryan Housel
6881205d43 All touch targets are GeoJSON now
This makes the code a bit more consistent and lets us avoid some
hacky and probably non-performant things:
- abusing CSS classes in the draw/drag datum functions (classed `.target`)
  (is this thing target? just check d.properties)
- regexing the id for `-nope$`
  (is this thing a nope target? just check d.properties)
- using context.hasEntity to get a the real entity
  (is this thing a real osmEntity? just check d.properties)
- fixes code like the restriction editor which uses fake ids for split ways
2018-01-01 22:37:10 -05:00
Bryan Housel
7851c49e80 Fix nopefilters by testing the original id for the filter 2017-12-22 00:26:39 -05:00
Bryan Housel
6d7659b3bb Refactor common helper code to svg/helpers.js, add area nopes 2017-12-21 10:36:02 -05:00
Bryan Housel
f58349864c Add support for nope targets, line sub-segment targeting 2017-12-20 13:52:16 -05:00
Bryan Housel
7994baae23 WIP: trying singular activeID and smarter target drawing code
The goal here is that the code that draws the targets should know better
what parts of the lines/vertices are targetable, rather than just
relying on CSS to ignore the pointer events on the whole line.

e.g. when drawing a line, it's ok for it to loop back and connect
to itself, just not on a segment or vertex adjacent to the active
node.
2017-12-19 11:23:35 -05:00
Bryan Housel
7a8f50c74e More fixes for drawing/snapping, don't draw touch targets for activeIDs 2017-12-18 22:54:49 -05:00
Bryan Housel
aa68b21d7a Add touch targets for line/area 2017-12-17 22:53:58 -05:00
Bryan Housel
9edae82673 Convert lodah-es and d3 to named imports for svg 2017-09-25 23:16:24 -04:00
Bryan Housel
26ae84f8e5 Render old-style multipolygons slightly differently
(for #3908)
2017-04-20 23:34:00 -04:00
Bryan Housel
0228f934b3 Put back the selected class when redrawing selected lines 2017-03-21 14:19:57 -04:00
Bryan Housel
85ed3cc2d3 Cleanup line drawing code with selected sort 2017-03-21 12:42:46 -04:00
Bryan Housel
4903d495b7 Draw selected items last, so halos are more visible
(see #2914)
2017-03-21 02:17:04 -04:00
Bryan Housel
efd9e6df4b Memoize and avoid extra calls to utilDetect() 2016-10-18 21:48:39 -04:00
Bryan Housel
f50e80d0b5 Refactor Intersection, Multipolygon from geo to osm 2016-10-11 23:09:27 -04:00
Bryan Housel
07fa5fcc34 Refactor Entity, Node, Relation, Tags, Way from core to osm 2016-10-11 22:41:24 -04:00
Bryan Housel
0d0e54fdff Fix more namespaces that were missed in the first pass 2016-10-04 21:15:30 -04:00
Bryan Housel
3102a4ae6a Rename all the things to include pseudonamespaces 2016-10-04 19:06:20 -04:00
Bryan Housel
545cd4a44d Fix oneways 2016-09-23 12:00:21 -04:00
Bryan Housel
a6d683eaf7 Code cleanups in svg, ui for selection merging, fix Mapillary. 2016-09-17 23:26:49 -04:00
Bryan Housel
afb88f2ae6 Fix rendering selections for all the OSM layers
This includes some renames for clarity.. "surface" -> "selection"
to make it clearer that rendering functions take a selection, and
don't necessarily render to the literal `#surface` node anymore.
2016-09-08 22:37:06 -04:00
Tom MacWright
a28e24bb4c Fix lints 2016-09-06 17:29:03 -04:00