diff --git a/samples/zoom.html b/samples/zoom.html index 60d653076..30333b78b 100644 --- a/samples/zoom.html +++ b/samples/zoom.html @@ -22,6 +22,9 @@ + + + - - diff --git a/src/plugin.js b/src/plugin.js index 2a34250ce..0023727f4 100644 --- a/src/plugin.js +++ b/src/plugin.js @@ -363,32 +363,7 @@ var zoomPlugin = { } }, - afterInit: function(chartInstance) { - - chartInstance.resetZoom = function() { - storeOriginalOptions(chartInstance); - var originalOptions = chartInstance.$zoom._originalOptions; - helpers.each(chartInstance.scales, function(scale) { - - var options = scale.options; - if (originalOptions[scale.id]) { - options.min = originalOptions[scale.id].min; - options.max = originalOptions[scale.id].max; - } else { - delete options.min; - delete options.max; - } - }); - chartInstance.update(); - }; - - }, - - beforeUpdate: function(chart, args, options) { - resolveOptions(chart, options); - }, - - beforeInit: function(chartInstance, args, pluginOptions) { + start: function(chartInstance, args, pluginOptions) { chartInstance.$zoom = { _originalOptions: {} }; @@ -601,6 +576,27 @@ var zoomPlugin = { chartInstance._mc = mc; } + + chartInstance.resetZoom = function() { + storeOriginalOptions(chartInstance); + var originalOptions = chartInstance.$zoom._originalOptions; + helpers.each(chartInstance.scales, function(scale) { + + var scaleOptions = scale.options; + if (originalOptions[scale.id]) { + scaleOptions.min = originalOptions[scale.id].min; + scaleOptions.max = originalOptions[scale.id].max; + } else { + delete scaleOptions.min; + delete scaleOptions.max; + } + }); + chartInstance.update(); + }; + }, + + beforeUpdate: function(chart, args, options) { + resolveOptions(chart, options); }, beforeDatasetsDraw: function(chartInstance) { @@ -647,7 +643,7 @@ var zoomPlugin = { } }, - destroy: function(chartInstance) { + stop: function(chartInstance) { if (!chartInstance.$zoom) { return; }