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