mirror of
https://github.com/openseadragon/openseadragon.git
synced 2025-03-14 04:56:19 +03:00
Changed hasGestureHandlers to be a function to better work with dynamically added handlers
Previously, we were setting hasGestureHandlers once in the constructor and never re-assigning it after the initial creation. This resulted in MouseTrackers created without gesture handlers never updating its hasGestureHandlers values, even when gesture handlers were dynamically added after creation. By changing this to a function, our MouseTrackers' hasGestureHandlers value should always be in the proper state, even if handlers are dynamically created or removed.
This commit is contained in:
parent
56d0d982da
commit
865c3884b2
@ -277,11 +277,6 @@
|
||||
sentDragEvent: false
|
||||
};
|
||||
|
||||
this.hasGestureHandlers = !!( this.pressHandler || this.nonPrimaryPressHandler ||
|
||||
this.releaseHandler || this.nonPrimaryReleaseHandler ||
|
||||
this.clickHandler || this.dblClickHandler ||
|
||||
this.dragHandler || this.dragEndHandler ||
|
||||
this.pinchHandler );
|
||||
this.hasScrollHandler = !!this.scrollHandler;
|
||||
|
||||
if ( $.MouseTracker.havePointerEvents ) {
|
||||
@ -391,6 +386,23 @@
|
||||
return count;
|
||||
},
|
||||
|
||||
/**
|
||||
* Do we currently have any assigned gesture handlers.
|
||||
* @function
|
||||
* @returns {Boolean} Do we currently have any assigned gesture handlers.
|
||||
*/
|
||||
hasGestureHandlers: function () {
|
||||
return !!(this.pressHandler ||
|
||||
this.nonPrimaryPressHandler ||
|
||||
this.releaseHandler ||
|
||||
this.nonPrimaryReleaseHandler ||
|
||||
this.clickHandler ||
|
||||
this.dblClickHandler ||
|
||||
this.dragHandler ||
|
||||
this.dragEndHandler ||
|
||||
this.pinchHandler);
|
||||
},
|
||||
|
||||
/**
|
||||
* Implement or assign implementation to these handlers during or after
|
||||
* calling the constructor.
|
||||
@ -2836,7 +2848,7 @@
|
||||
eventInfo.isStoppable = true;
|
||||
eventInfo.isCancelable = true;
|
||||
eventInfo.preventDefault = false;
|
||||
eventInfo.preventGesture = !tracker.hasGestureHandlers;
|
||||
eventInfo.preventGesture = !tracker.hasGestureHandlers();
|
||||
eventInfo.stopPropagation = false;
|
||||
break;
|
||||
case 'pointerover':
|
||||
@ -2854,15 +2866,15 @@
|
||||
case 'pointerdown':
|
||||
eventInfo.isStoppable = true;
|
||||
eventInfo.isCancelable = true;
|
||||
eventInfo.preventDefault = false; // updatePointerDown() may set true (tracker.hasGestureHandlers)
|
||||
eventInfo.preventGesture = !tracker.hasGestureHandlers;
|
||||
eventInfo.preventDefault = false; // updatePointerDown() may set true (tracker.hasGestureHandlers())
|
||||
eventInfo.preventGesture = !tracker.hasGestureHandlers();
|
||||
eventInfo.stopPropagation = false;
|
||||
break;
|
||||
case 'pointerup':
|
||||
eventInfo.isStoppable = true;
|
||||
eventInfo.isCancelable = true;
|
||||
eventInfo.preventDefault = false;
|
||||
eventInfo.preventGesture = !tracker.hasGestureHandlers;
|
||||
eventInfo.preventGesture = !tracker.hasGestureHandlers();
|
||||
eventInfo.stopPropagation = false;
|
||||
break;
|
||||
case 'wheel':
|
||||
|
Loading…
x
Reference in New Issue
Block a user