Skip to content

Commit df5b65e

Browse files
Fix non-zoomable charts eating scroll events (#429)
* Fix non-zoomable charts eating scroll events
1 parent 7c61ddc commit df5b65e

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

.eslintrc.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ plugins: ['html', 'es']
1818

1919
rules:
2020
complexity: ["warn", 10]
21+
max-statements: ["warn", 30]

src/plugin.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)