Merge pull request #11817 from greggian/select-stop-propagation
stopPropagation support for PluggableMap
This commit is contained in:
@@ -1029,7 +1029,7 @@ class PluggableMap extends BaseObject {
|
||||
continue;
|
||||
}
|
||||
const cont = interaction.handleEvent(mapBrowserEvent);
|
||||
if (!cont) {
|
||||
if (!cont || mapBrowserEvent.propagationStopped) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ class DoubleClickZoom extends Interaction {
|
||||
const delta = browserEvent.shiftKey ? -this.delta_ : this.delta_;
|
||||
const view = map.getView();
|
||||
zoomByDelta(view, delta, anchor, this.duration_);
|
||||
mapBrowserEvent.preventDefault();
|
||||
browserEvent.preventDefault();
|
||||
stopEvent = true;
|
||||
}
|
||||
return !stopEvent;
|
||||
|
||||
@@ -512,7 +512,7 @@ class Draw extends PointerInteraction {
|
||||
handleEvent(event) {
|
||||
if (event.originalEvent.type === EventType.CONTEXTMENU) {
|
||||
// Avoid context menu for long taps when drawing on mobile
|
||||
event.preventDefault();
|
||||
event.originalEvent.preventDefault();
|
||||
}
|
||||
this.freehand_ =
|
||||
this.mode_ !== Mode.POINT && this.freehandCondition_(event);
|
||||
@@ -554,7 +554,7 @@ class Draw extends PointerInteraction {
|
||||
this.handlePointerMove_(event);
|
||||
if (this.shouldHandle_) {
|
||||
// Avoid page scrolling when freehand drawing on mobile
|
||||
event.preventDefault();
|
||||
event.originalEvent.preventDefault();
|
||||
}
|
||||
} else if (
|
||||
event.originalEvent.pointerType === 'mouse' ||
|
||||
@@ -646,7 +646,7 @@ class Draw extends PointerInteraction {
|
||||
}
|
||||
|
||||
if (!pass && this.stopClick_) {
|
||||
event.stopPropagation();
|
||||
event.originalEvent.stopPropagation();
|
||||
}
|
||||
return pass;
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ class KeyboardPan extends Interaction {
|
||||
const delta = [deltaX, deltaY];
|
||||
rotateCoordinate(delta, view.getRotation());
|
||||
pan(view, delta, this.duration_);
|
||||
mapBrowserEvent.preventDefault();
|
||||
keyEvent.preventDefault();
|
||||
stopEvent = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ class KeyboardZoom extends Interaction {
|
||||
charCode == '+'.charCodeAt(0) ? this.delta_ : -this.delta_;
|
||||
const view = map.getView();
|
||||
zoomByDelta(view, delta, undefined, this.duration_);
|
||||
mapBrowserEvent.preventDefault();
|
||||
keyEvent.preventDefault();
|
||||
stopEvent = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -178,10 +178,9 @@ class MouseWheelZoom extends Interaction {
|
||||
return true;
|
||||
}
|
||||
|
||||
mapBrowserEvent.preventDefault();
|
||||
|
||||
const map = mapBrowserEvent.map;
|
||||
const wheelEvent = /** @type {WheelEvent} */ (mapBrowserEvent.originalEvent);
|
||||
wheelEvent.preventDefault();
|
||||
|
||||
if (this.useAnchor_) {
|
||||
this.lastAnchor_ = mapBrowserEvent.coordinate;
|
||||
|
||||
@@ -139,7 +139,7 @@ class PointerInteraction extends Interaction {
|
||||
if (mapBrowserEvent.type == MapBrowserEventType.POINTERDRAG) {
|
||||
this.handleDragEvent(mapBrowserEvent);
|
||||
// prevent page scrolling during dragging
|
||||
mapBrowserEvent.preventDefault();
|
||||
mapBrowserEvent.originalEvent.preventDefault();
|
||||
} else if (mapBrowserEvent.type == MapBrowserEventType.POINTERUP) {
|
||||
const handledUp = this.handleUpEvent(mapBrowserEvent);
|
||||
this.handlingDownUpSequence =
|
||||
|
||||
Reference in New Issue
Block a user