diff --git a/modules/behavior/select.js b/modules/behavior/select.js index cf5c8d139..9c627701d 100644 --- a/modules/behavior/select.js +++ b/modules/behavior/select.js @@ -27,7 +27,9 @@ export function behaviorSelect(context) { lasso = d3.select('#surface .lasso').node(), mode = context.mode(); - if (!(datum instanceof osmEntity)) { + if (datum.type === 'midpoint') { + // do nothing + } else if (!(datum instanceof osmEntity)) { if (!d3.event.shiftKey && !lasso && mode.id !== 'browse') context.enter(modeBrowse(context)); diff --git a/modules/modes/select.js b/modules/modes/select.js index a4d2dc7a6..4715daf7e 100644 --- a/modules/modes/select.js +++ b/modules/modes/select.js @@ -245,6 +245,15 @@ export function modeSelect(context, selectedIDs) { t('operations.add.annotation.vertex') ); + d3.event.preventDefault(); + d3.event.stopPropagation(); + } else if (datum.type === 'midpoint') { + var node = osmNode(); + + context.perform( + actionAddMidpoint({loc: datum.loc, edge: datum.edge}, node), + t('operations.add.annotation.vertex')); + d3.event.preventDefault(); d3.event.stopPropagation(); }