manage preventDefaultAction flag inside the canvas-click viewer event. Trigger the canvas-click event before default click zoom happens on the viewer

This commit is contained in:
kinto 2017-03-14 16:08:52 +01:00
parent 199e960d22
commit d5031835da

View File

@ -2463,16 +2463,15 @@ function onCanvasClick( event ) {
this.canvas.focus(); this.canvas.focus();
} }
if ( !event.preventDefaultAction && this.viewport && event.quick ) { var canvasClickEventArgs = {
gestureSettings = this.gestureSettingsByDeviceType( event.pointerType ); tracker: event.eventSource,
if ( gestureSettings.clickToZoom ) { position: event.position,
this.viewport.zoomBy( quick: event.quick,
event.shift ? 1.0 / this.zoomPerClick : this.zoomPerClick, shift: event.shift,
this.viewport.pointFromPixel( event.position, true ) originalEvent: event.originalEvent,
); preventDefaultAction: event.preventDefaultAction
this.viewport.applyConstraints(); };
}
}
/** /**
* Raised when a mouse press/release or touch/remove occurs on the {@link OpenSeadragon.Viewer#canvas} element. * Raised when a mouse press/release or touch/remove occurs on the {@link OpenSeadragon.Viewer#canvas} element.
* *
@ -2487,13 +2486,18 @@ function onCanvasClick( event ) {
* @property {Object} originalEvent - The original DOM event. * @property {Object} originalEvent - The original DOM event.
* @property {?Object} userData - Arbitrary subscriber-defined object. * @property {?Object} userData - Arbitrary subscriber-defined object.
*/ */
this.raiseEvent( 'canvas-click', { this.raiseEvent( 'canvas-click', canvasClickEventArgs);
tracker: event.eventSource,
position: event.position, if ( !canvasClickEventArgs.preventDefaultAction && this.viewport && event.quick ) {
quick: event.quick, gestureSettings = this.gestureSettingsByDeviceType( event.pointerType );
shift: event.shift, if ( gestureSettings.clickToZoom ) {
originalEvent: event.originalEvent this.viewport.zoomBy(
}); event.shift ? 1.0 / this.zoomPerClick : this.zoomPerClick,
this.viewport.pointFromPixel( event.position, true )
);
this.viewport.applyConstraints();
}
}
} }
function onCanvasDblClick( event ) { function onCanvasDblClick( event ) {