Skip to content

Commit

Permalink
Merge 0198c88 into 34d72a9
Browse files Browse the repository at this point in the history
  • Loading branch information
austintang committed May 30, 2020
2 parents 34d72a9 + 0198c88 commit 69ccf0d
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions modules/layers/src/layers/editable-layer.ts
Expand Up @@ -35,7 +35,9 @@ export default class EditableLayer extends CompositeLayer<any> {
// default implementation - do nothing
}

onPointerMove(event: PointerMoveEvent) {} // default implementation - do nothing
onPointerMove(event: PointerMoveEvent) {
// default implementation - do nothing
}
// TODO: implement onCancelDragging (e.g. drag off screen)

initializeState() {
Expand All @@ -60,12 +62,19 @@ export default class EditableLayer extends CompositeLayer<any> {
this._removePointerHandlers();
}

// Adding an event handler for dblclick causes deck to debounce clicks. This method prevents
// an event handler for dblclick from being registered if onDoubleClick wasn't overridden.
_getActiveEventTypes() {
const isOnDoubleClickOverriden = this.onDoubleClick !== EditableLayer.prototype.onDoubleClick;
return isOnDoubleClickOverriden ? EVENT_TYPES : EVENT_TYPES.filter((t) => t !== 'dblclick');
}

_addPointerHandlers() {
// @ts-ignore
const { eventManager } = this.context.deck;
const { eventHandler } = this.state._editableLayerState;

for (const eventType of EVENT_TYPES) {
for (const eventType of this._getActiveEventTypes()) {
eventManager.on(eventType, eventHandler, {
// give nebula a higher priority so that it can stop propagation to deck.gl's map panning handlers
priority: 100,
Expand All @@ -78,7 +87,7 @@ export default class EditableLayer extends CompositeLayer<any> {
const { eventManager } = this.context.deck;
const { eventHandler } = this.state._editableLayerState;

for (const eventType of EVENT_TYPES) {
for (const eventType of this._getActiveEventTypes()) {
eventManager.off(eventType, eventHandler);
}
}
Expand Down

0 comments on commit 69ccf0d

Please sign in to comment.