diff --git a/modules/behavior/draw_way.js b/modules/behavior/draw_way.js index 4e969058a..f8b2c1414 100644 --- a/modules/behavior/draw_way.js +++ b/modules/behavior/draw_way.js @@ -246,9 +246,7 @@ export function behaviorDrawWay(context, wayId, index, mode, baseGraph) { }, 1000); if (context.hasEntity(wayId)) { - context.enter( - modeSelect(context, [wayId]).suppressMenu(true).newFeature(true) - ); + context.enter(modeSelect(context, [wayId]).newFeature(true)); } else { context.enter(modeBrowse(context)); } diff --git a/modules/behavior/select.js b/modules/behavior/select.js index 52ab75d30..c3d9c2e78 100644 --- a/modules/behavior/select.js +++ b/modules/behavior/select.js @@ -23,8 +23,8 @@ export function behaviorSelect(context) { function click() { - var rtClick = d3.event.type === 'contextmenu'; - + var rtClick = d3.event.type === 'contextmenu'; + if (rtClick) { d3.event.preventDefault(); } @@ -40,21 +40,21 @@ export function behaviorSelect(context) { context.enter(modeBrowse(context)); } else if (!d3.event.shiftKey && !lasso) { - // Reselect when 'rtClick on one of the selectedIDs' + // Reselect when 'rtClick on one of the selectedIDs' // OR 'leftClick on the same singular selected entity' // Explanation: leftClick should discard any multiple // selection of entities and make the selection singlular. - // Whereas rtClick should preserve multiple selection of + // Whereas rtClick should preserve multiple selection of // entities if and only if it clicks on one of the selectedIDs. - if (context.selectedIDs().indexOf(datum.id) >= 0 - && (rtClick || context.selectedIDs().length === 1)) { + if (context.selectedIDs().indexOf(datum.id) >= 0 && + (rtClick || context.selectedIDs().length === 1)) { mode.suppressMenu(false).reselect(); } else { context.enter(modeSelect(context, [datum.id])); } } else if (context.selectedIDs().indexOf(datum.id) >= 0) { if (rtClick) { // To prevent datum.id from being removed when rtClick - mode.suppressMenu(false).reselect(); + mode.suppressMenu(false).reselect(); } else { var selectedIDs = _.without(context.selectedIDs(), datum.id); context.enter(selectedIDs.length ? modeSelect(context, selectedIDs) : modeBrowse(context)); diff --git a/modules/modes/add_point.js b/modules/modes/add_point.js index 90d4046f2..1ea931527 100644 --- a/modules/modes/add_point.js +++ b/modules/modes/add_point.js @@ -32,7 +32,7 @@ export function modeAddPoint(context) { ); context.enter( - modeSelect(context, [node.id]).suppressMenu(true).newFeature(true) + modeSelect(context, [node.id]).newFeature(true) ); } diff --git a/modules/modes/drag_node.js b/modules/modes/drag_node.js index 39f528942..782427218 100644 --- a/modules/modes/drag_node.js +++ b/modules/modes/drag_node.js @@ -222,7 +222,7 @@ export function modeDragNode(context) { }); if (reselection.length) { - context.enter(modeSelect(context, reselection).suppressMenu(true)); + context.enter(modeSelect(context, reselection)); } else { context.enter(modeBrowse(context)); } diff --git a/modules/modes/move.js b/modules/modes/move.js index 7ec0c3542..114063521 100644 --- a/modules/modes/move.js +++ b/modules/modes/move.js @@ -115,7 +115,7 @@ export function modeMove(context, entityIDs, baseGraph) { function finish() { d3.event.stopPropagation(); - context.enter(modeSelect(context, entityIDs).suppressMenu(true)); + context.enter(modeSelect(context, entityIDs)); stopNudge(); } @@ -126,7 +126,7 @@ export function modeMove(context, entityIDs, baseGraph) { context.enter(modeBrowse(context)); } else { context.pop(); - context.enter(modeSelect(context, entityIDs).suppressMenu(true)); + context.enter(modeSelect(context, entityIDs)); } stopNudge(); } diff --git a/modules/modes/rotate.js b/modules/modes/rotate.js index 51a8fff57..e1b3d6a4f 100644 --- a/modules/modes/rotate.js +++ b/modules/modes/rotate.js @@ -92,13 +92,13 @@ export function modeRotate(context, entityIDs) { function finish() { d3.event.stopPropagation(); - context.enter(modeSelect(context, entityIDs).suppressMenu(true)); + context.enter(modeSelect(context, entityIDs)); } function cancel() { context.pop(); - context.enter(modeSelect(context, entityIDs).suppressMenu(true)); + context.enter(modeSelect(context, entityIDs)); } diff --git a/modules/modes/select.js b/modules/modes/select.js index 655113764..afe12def3 100644 --- a/modules/modes/select.js +++ b/modules/modes/select.js @@ -56,7 +56,7 @@ export function modeSelect(context, selectedIDs) { inspector, editMenu, newFeature = false, - suppressMenu = false, + suppressMenu = true, follow = false; @@ -154,14 +154,9 @@ export function modeSelect(context, selectedIDs) { } else { var point = context.mouse(), viewport = geoExtent(context.projection.clipExtent()).polygon(); - // offset = [ - // viewport[2][0] - point[0], - // (viewport[1][1] - 30) - point[1] // 30 to account for the infoblock - // ]; if (geoPointInPolygon(point, viewport)) { editMenu.center(point); - // .offset(offset); } } } @@ -249,6 +244,7 @@ export function modeSelect(context, selectedIDs) { d3.event.preventDefault(); d3.event.stopPropagation(); + } else if (datum.type === 'midpoint') { context.perform( actionAddMidpoint({loc: datum.loc, edge: datum.edge}, osmNode()), @@ -310,7 +306,7 @@ export function modeSelect(context, selectedIDs) { if (parent) { var way = context.entity(parent); context.enter( - modeSelect(context, [way.first()]).follow(true).suppressMenu(true) + modeSelect(context, [way.first()]).follow(true) ); } } @@ -322,7 +318,7 @@ export function modeSelect(context, selectedIDs) { if (parent) { var way = context.entity(parent); context.enter( - modeSelect(context, [way.last()]).follow(true).suppressMenu(true) + modeSelect(context, [way.last()]).follow(true) ); } } @@ -346,7 +342,7 @@ export function modeSelect(context, selectedIDs) { if (index !== -1) { context.enter( - modeSelect(context, [way.nodes[index]]).follow(true).suppressMenu(true) + modeSelect(context, [way.nodes[index]]).follow(true) ); } } @@ -370,7 +366,7 @@ export function modeSelect(context, selectedIDs) { if (index !== -1) { context.enter( - modeSelect(context, [way.nodes[index]]).follow(true).suppressMenu(true) + modeSelect(context, [way.nodes[index]]).follow(true) ); } } diff --git a/modules/operations/delete.js b/modules/operations/delete.js index ae8b28c29..6132f3685 100644 --- a/modules/operations/delete.js +++ b/modules/operations/delete.js @@ -44,9 +44,7 @@ export function operationDelete(selectedIDs, context) { context.perform(action, operation.annotation()); if (nextSelectedID && context.hasEntity(nextSelectedID)) { - context.enter( - modeSelect(context, [nextSelectedID]).follow(true).suppressMenu(true) - ); + context.enter(modeSelect(context, [nextSelectedID]).follow(true)); } else { context.enter(modeBrowse(context)); } diff --git a/modules/operations/merge.js b/modules/operations/merge.js index b35d21973..afba24c72 100644 --- a/modules/operations/merge.js +++ b/modules/operations/merge.js @@ -30,7 +30,7 @@ export function operationMerge(selectedIDs, context) { var entity = context.hasEntity(id); return entity && entity.type !== 'node'; }); - context.enter(modeSelect(context, ids).suppressMenu(true)); + context.enter(modeSelect(context, ids)); }; diff --git a/modules/renderer/map.js b/modules/renderer/map.js index d9c93bd27..845600805 100644 --- a/modules/renderer/map.js +++ b/modules/renderer/map.js @@ -77,7 +77,7 @@ export function rendererMap(context) { if (Array.isArray(stack.selectedIDs)) { followSelected = (stack.selectedIDs.length === 1 && stack.selectedIDs[0][0] === 'n'); context.enter( - modeSelect(context, stack.selectedIDs).suppressMenu(true).follow(followSelected) + modeSelect(context, stack.selectedIDs).follow(followSelected) ); } if (!followSelected && stack.transform) { diff --git a/modules/ui/commit.js b/modules/ui/commit.js index 998b10d7f..210ff8eea 100644 --- a/modules/ui/commit.js +++ b/modules/ui/commit.js @@ -274,9 +274,7 @@ export function uiCommit(context) { function warningClick(d) { if (d.entity) { context.map().zoomTo(d.entity); - context.enter( - modeSelect(context, [d.entity.id]).suppressMenu(true) - ); + context.enter(modeSelect(context, [d.entity.id])); } } @@ -286,8 +284,7 @@ export function uiCommit(context) { if (change.changeType !== 'deleted' && context.graph().entity(entity.id).geometry(context.graph()) !== 'vertex') { context.map().zoomTo(entity); - context.surface().selectAll( - utilEntityOrMemberSelector([entity.id], context.graph())) + context.surface().selectAll(utilEntityOrMemberSelector([entity.id], context.graph())) .classed('hover', true); } } diff --git a/modules/ui/feature_list.js b/modules/ui/feature_list.js index f5e27572d..0a48a9466 100644 --- a/modules/ui/feature_list.js +++ b/modules/ui/feature_list.js @@ -265,7 +265,7 @@ export function uiFeatureList(context) { edge = geoChooseEdge(context.childNodes(d.entity), center, context.projection); context.map().center(edge.loc); } - context.enter(modeSelect(context, [d.entity.id]).suppressMenu(true)); + context.enter(modeSelect(context, [d.entity.id])); } else { context.zoomToEntity(d.id); } diff --git a/modules/ui/raw_member_editor.js b/modules/ui/raw_member_editor.js index 6a3f50eb6..1961a09ba 100644 --- a/modules/ui/raw_member_editor.js +++ b/modules/ui/raw_member_editor.js @@ -17,7 +17,7 @@ export function uiRawMemberEditor(context) { function selectMember(d) { d3.event.preventDefault(); - context.enter(modeSelect(context, [d.id]).suppressMenu(true)); + context.enter(modeSelect(context, [d.id])); } diff --git a/modules/ui/raw_membership_editor.js b/modules/ui/raw_membership_editor.js index 0bb003897..49ece9206 100644 --- a/modules/ui/raw_membership_editor.js +++ b/modules/ui/raw_membership_editor.js @@ -25,7 +25,7 @@ export function uiRawMembershipEditor(context) { function selectRelation(d) { d3.event.preventDefault(); - context.enter(modeSelect(context, [d.relation.id]).suppressMenu(true)); + context.enter(modeSelect(context, [d.relation.id])); } @@ -55,7 +55,7 @@ export function uiRawMembershipEditor(context) { t('operations.add.annotation.relation') ); - context.enter(modeSelect(context, [relation.id]).suppressMenu(true)); + context.enter(modeSelect(context, [relation.id])); } } diff --git a/modules/ui/selection_list.js b/modules/ui/selection_list.js index aaede3035..71ce89cb5 100644 --- a/modules/ui/selection_list.js +++ b/modules/ui/selection_list.js @@ -9,7 +9,7 @@ import { utilDisplayName } from '../util/index'; export function uiSelectionList(context, selectedIDs) { function selectEntity(entity) { - context.enter(modeSelect(context, [entity.id]).suppressMenu(true)); + context.enter(modeSelect(context, [entity.id])); } @@ -19,7 +19,7 @@ export function uiSelectionList(context, selectedIDs) { if (index > -1) { selectedIDs.splice(index, 1); } - context.enter(modeSelect(context, selectedIDs).suppressMenu(true)); + context.enter(modeSelect(context, selectedIDs)); }