@@ -442,11 +442,17 @@ var zoomPlugin = {
442442 } ;
443443
444444 if ( Hammer ) {
445+ var zoomOptions = chartInstance . $zoom . _options . zoom ;
446+ var panOptions = chartInstance . $zoom . _options . pan ;
445447 var mc = new Hammer . Manager ( node ) ;
446- mc . add ( new Hammer . Pinch ( ) ) ;
447- mc . add ( new Hammer . Pan ( {
448- threshold : panThreshold
449- } ) ) ;
448+ if ( zoomOptions && zoomOptions . enabled ) {
449+ mc . add ( new Hammer . Pinch ( ) ) ;
450+ }
451+ if ( panOptions && panOptions . enabled ) {
452+ mc . add ( new Hammer . Pan ( {
453+ threshold : panThreshold
454+ } ) ) ;
455+ }
450456
451457 // Hammer reports the total scaling. We need the incremental amount
452458 var currentPinchScaling ;
@@ -477,7 +483,6 @@ var zoomPlugin = {
477483
478484 doZoom ( chartInstance , diff , diff , center , xy ) ;
479485
480- var zoomOptions = chartInstance . $zoom . _options . zoom ;
481486 if ( typeof zoomOptions . onZoom === 'function' ) {
482487 zoomOptions . onZoom ( { chart : chartInstance } ) ;
483488 }
@@ -493,7 +498,6 @@ var zoomPlugin = {
493498 mc . on ( 'pinchend' , function ( e ) {
494499 handlePinch ( e ) ;
495500 currentPinchScaling = null ; // reset
496- var zoomOptions = chartInstance . $zoom . _options . zoom ;
497501 if ( typeof zoomOptions . onZoomComplete === 'function' ) {
498502 zoomOptions . onZoomComplete ( { chart : chartInstance } ) ;
499503 }
@@ -525,8 +529,6 @@ var zoomPlugin = {
525529 setTimeout ( function ( ) {
526530 panning = false ;
527531 } , 500 ) ;
528-
529- var panOptions = chartInstance . $zoom . _options . pan ;
530532 if ( typeof panOptions . onPanComplete === 'function' ) {
531533 panOptions . onPanComplete ( { chart : chartInstance } ) ;
532534 }
0 commit comments