Merge pull request #11780 from M393/dragbox-add-cancel-event

Add a cancel event to the DragBox interaction
This commit is contained in:
Andreas Hocevar
2020-11-27 23:53:54 +01:00
committed by GitHub

View File

@@ -53,6 +53,13 @@ const DragBoxEventType = {
* @api
*/
BOXEND: 'boxend',
/**
* Triggered upon drag box canceled.
* @event DragBoxEvent#boxcancel
* @api
*/
BOXCANCEL: 'boxcancel',
};
/**
@@ -192,22 +199,21 @@ class DragBox extends PointerInteraction {
handleUpEvent(mapBrowserEvent) {
this.box_.setMap(null);
if (
this.boxEndCondition_(
mapBrowserEvent,
this.startPixel_,
mapBrowserEvent.pixel
)
) {
const completeBox = this.boxEndCondition_(
mapBrowserEvent,
this.startPixel_,
mapBrowserEvent.pixel
);
if (completeBox) {
this.onBoxEnd(mapBrowserEvent);
this.dispatchEvent(
new DragBoxEvent(
DragBoxEventType.BOXEND,
mapBrowserEvent.coordinate,
mapBrowserEvent
)
);
}
this.dispatchEvent(
new DragBoxEvent(
completeBox ? DragBoxEventType.BOXEND : DragBoxEventType.BOXCANCEL,
mapBrowserEvent.coordinate,
mapBrowserEvent
)
);
return false;
}