Bryan Housel
2e2b037e36
Move a bunch of commonly used vector and projection math functions into geo
...
- geoVecAdd
- geoVecSubtract
- geoVecScale
- geoZoomToScale
- geoScaleToZoom
2017-12-18 15:05:42 -05:00
Bryan Housel
18c97d52c8
Extract viewport nudging code from several places to geoViewportEdge
2017-12-18 09:50:17 -05:00
Bryan Housel
aa68b21d7a
Add touch targets for line/area
2017-12-17 22:53:58 -05:00
Bryan Housel
5a4faa84a1
Fixed some of the point/vertex/midpoint snapping issues
...
Still working on snapping to lines/areas, and making sure drawing lines/areas
will complete
2017-12-16 01:33:12 -05:00
Bryan Housel
5cb5456869
Implement touch targets for midpoints and points
2017-12-15 22:50:55 -05:00
Bryan Housel
ba7437b4cc
Fix order of vertex in _assign, always get latest entity
...
(selected or hovered entities are old, if we're moving vertices around)
2017-12-15 21:21:48 -05:00
Bryan Housel
89d8d37576
Drawing all the correct vertices now where I want them, simplify classes
...
Some highlights
- `getSiblingAndChildVertices` are expensive, so they're saved and called less frequently
- draw touch targets for all the visible vertices
- remove redundant css classes and `setClass` function
2017-12-15 17:28:20 -05:00
Bryan Housel
899abc7ef5
WIP to render vertices while dragging
...
(re: #3003 / #4602 )
For now, drawHover is commented out. Still not sure what I will do with it.
This means that things flicker a bit when dragging, also connecting nodes
(and closing lines) does not currently work.
There was lot going on preventing the vertices from rendering while dragging.
1. `modeDragNode` needed a proper `selectedIDs()` function that works like other
modes.. Many other places in iD (including the vertex renderer) call `context.selectedIDs()`..
This means that `modeDragNode` needs a new function `restoreSelectedIDs()` to do what
`selectedIDs()` was previously doing (a place to store selectedIDs so that we
can reselect those entities after the user is done dragging a node in select mode)
2. Just so many things in svg/vertices.js
- siblingAndChildVertices was missing some things for points that we render
as vertices (points in wireframe, points with directions)
- the sibling vertices weren't being included in the `filter` function, so
would disappear when doing differenced/extent redraws
- probably some other things
2017-12-12 17:39:36 -05:00
Bryan Housel
c6ab9e593d
Flash message if drag not allowed because of a hidden connection
...
(closes #4493 )
2017-12-06 00:11:42 -05:00
Bryan Housel
914ef0236a
Convert lodah-es and d3 to named imports for modes
2017-09-24 23:25:49 -04:00
Bryan Housel
49c087d51f
Rename delegate->selector, adjust formatting, drop userselect polyfill
2017-04-25 16:51:12 -04:00
Bryan Housel
e6da524f82
Allow all nodes and vertices to be dragged
...
(revert of #3739 )
2017-04-25 16:44:09 -04:00
Bryan Housel
d441cd92c3
Smaller nudge regions in drag_node and move
...
(closes #3956 )
2017-04-20 22:18:33 -04:00
Bryan Housel
e756520bd8
suppressMenu(true) is now the default
2017-02-21 15:47:22 -05:00
Bryan Housel
86118ece4e
Fix node drag regression introduced in 919234d
...
(closes #3829 )
2017-02-07 11:40:11 -05:00
Bryan Housel
919234d2df
Make sure to select vertex-persistent when looking for siblings
...
(closes #3824 )
When hovering, there is also a companion `vertex-hover` element that might
sometimes get selected, and doesn't have the sibling class that enables drag.
2017-02-06 16:43:54 -05:00
Bryan Housel
bc1193c347
Make sure nodes can be dragged too, not just vertices
...
(fixes bug introduced in 0440054 )
2017-01-29 17:23:34 -05:00
Bryan Housel
f93e57b97d
Use #map.node() for drag surface instead of svg #surface
...
This is because #surface can be transformed during a partial redraw
and d3.mouse() returns transformed point, not the real screen point.
https://github.com/d3/d3-selection/blob/a2cf4f32ec2a88196c9f992e34ec23aec589f797/src/point.js#L4-L9
2017-01-29 17:11:55 -05:00
Bryan Housel
31dcabc8f8
Actually move the dragged point while nudging
2017-01-29 17:01:36 -05:00
Bryan Housel
6c062fb312
WIP: improve edge to support diagonal nudges, redraws on nudge
...
(working on #3594 today)
2017-01-28 15:51:23 -05:00
Bryan Housel
0440054cd9
Child and sibling vertices should be eligible for drag_node
...
(closes #3799 , see also #3801 )
2017-01-27 13:02:27 -05:00
popov
ad06e341ad
do not use tabs
2017-01-27 09:54:08 -05:00
popov
56dbebd0b6
fix array concat
2017-01-27 09:54:01 -05:00
popov
a2f9f51ee6
Allow to drag a node when a parent relation is selected
2017-01-27 09:53:52 -05:00
Bryan Housel
0fb506f461
Make sure new midpoint also gets included in activeIDs
2017-01-16 20:37:34 +05:30
popov
42a6530796
Do not attach dragNode behavior in browse mode
2017-01-10 10:41:58 +10: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
Tom MacWright
947a1d9c1a
Resolve lints
2016-09-03 19:08:03 -04:00
Tom MacWright
3af54610ca
Refactor customEvent system to use d3.customEvent
2016-09-03 17:56:56 -04:00
Bryan Housel
a86f34b4ef
Pacify eslint, get build and tests running again
2016-08-26 01:15:07 -04:00
Tom MacWright
cdb533fa84
Begin d3 v4 update
2016-08-21 15:19:27 -04:00
Tom MacWright
af776501d3
Require locale, second pass ( #3259 )
...
* Require locale, second pass
* Remove t global, remove t where it isn't needed
2016-07-21 16:20:13 -04:00
Tom MacWright
604d1e2719
import lodash ( #3257 )
2016-07-19 12:04:16 -04:00
Kushan Joshi
39c82af158
Sort modules [eslint rule]
2016-07-06 12:12:08 +05:30
Kushan Joshi
33b2b1e6fd
external modules for modes
2016-06-22 12:34:43 +05:30
David Culverhouse
34904f0525
Migrate "modes" into ES6 modules for #3118
2016-06-15 00:11:32 -04:00