mirror of
https://github.com/FoggedLens/iD.git
synced 2026-04-29 07:06:04 +02:00
Fix order of vertex in _assign, always get latest entity
(selected or hovered entities are old, if we're moving vertices around)
This commit is contained in:
@@ -249,7 +249,7 @@ export function modeDragNode(context) {
|
||||
|
||||
|
||||
var behavior = behaviorDrag()
|
||||
.selector('g.node, g.midpoint')
|
||||
.selector('.vertex.target, g.point, g.midpoint')
|
||||
.surface(d3_select('#map').node())
|
||||
.origin(origin)
|
||||
.on('start', start)
|
||||
|
||||
@@ -284,7 +284,7 @@ export function svgVertices(projection, context) {
|
||||
hovered: _currHover // hovered + siblings of hovered (render only in draw modes)
|
||||
};
|
||||
|
||||
var all = _assign({}, _currPersistent, _currSelected, (isDrawing ? _currHover : {}));
|
||||
var all = _assign({}, (isDrawing ? _currHover : {}), _currSelected, _currPersistent);
|
||||
|
||||
// Draw the vertices..
|
||||
// The filter function controls the scope of what objects d3 will touch (exit/enter/update)
|
||||
@@ -293,17 +293,17 @@ export function svgVertices(projection, context) {
|
||||
return d.id in _currPersistent || d.id in _currSelected || d.id in _currHover || filter(d);
|
||||
};
|
||||
selection.selectAll('.layer-points .layer-points-vertices')
|
||||
.call(draw, graph, visible(all), sets, filterRendered);
|
||||
.call(draw, graph, currentVisible(all), sets, filterRendered);
|
||||
|
||||
// Draw touch targets..
|
||||
selection.selectAll('.layer-points .layer-points-targets')
|
||||
.call(drawTargets, graph, visible(all), filterRendered);
|
||||
.call(drawTargets, graph, currentVisible(all), filterRendered);
|
||||
|
||||
|
||||
function visible(which) {
|
||||
return _values(which).filter(function (entity) {
|
||||
return entity.intersects(extent, graph);
|
||||
});
|
||||
function currentVisible(which) {
|
||||
return Object.keys(which)
|
||||
.map(context.hasEntity) // the current version of this entity
|
||||
.filter(function (entity) { return entity && entity.intersects(extent, graph); });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user