You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by su...@apache.org on 2021/02/01 09:25:21 UTC

[echarts] 01/01: fix: error thrown when `toolbox.feature.dataZoom: { show: false, yAxisIndex: false }`. (brought in 5.0)

This is an automated email from the ASF dual-hosted git repository.

sushuang pushed a commit to branch fix/toolbox-datazoom
in repository https://gitbox.apache.org/repos/asf/echarts.git

commit 11d77c16e7daf3a2f58418f0737b33f3cb66d08d
Author: 100pah <su...@gmail.com>
AuthorDate: Mon Feb 1 17:24:14 2021 +0800

    fix: error thrown when `toolbox.feature.dataZoom: { show: false, yAxisIndex: false }`. (brought in 5.0)
---
 src/component/toolbox/feature/DataZoom.ts | 27 ++++++++++++---------------
 1 file changed, 12 insertions(+), 15 deletions(-)

diff --git a/src/component/toolbox/feature/DataZoom.ts b/src/component/toolbox/feature/DataZoom.ts
index 0d8603c..da948f6 100644
--- a/src/component/toolbox/feature/DataZoom.ts
+++ b/src/component/toolbox/feature/DataZoom.ts
@@ -73,9 +73,9 @@ type ToolboxDataZoomFeatureModel = ToolboxFeatureModel<ToolboxDataZoomFeatureOpt
 
 class DataZoomFeature extends ToolboxFeature<ToolboxDataZoomFeatureOption> {
 
-    brushController: BrushController;
+    _brushController: BrushController;
 
-    isZoomActive: boolean;
+    _isZoomActive: boolean;
 
     render(
         featureModel: ToolboxDataZoomFeatureModel,
@@ -83,9 +83,9 @@ class DataZoomFeature extends ToolboxFeature<ToolboxDataZoomFeatureOption> {
         api: ExtensionAPI,
         payload: Payload
     ) {
-        if (!this.brushController) {
-            this.brushController = new BrushController(api.getZr());
-            this.brushController.on('brush', zrUtil.bind(this._onBrush, this))
+        if (!this._brushController) {
+            this._brushController = new BrushController(api.getZr());
+            this._brushController.on('brush', zrUtil.bind(this._onBrush, this))
                 .mount();
         }
         updateZoomBtnStatus(featureModel, ecModel, this, payload, api);
@@ -104,14 +104,14 @@ class DataZoomFeature extends ToolboxFeature<ToolboxDataZoomFeatureOption> {
         ecModel: GlobalModel,
         api: ExtensionAPI
     ) {
-        this.brushController.unmount();
+        this._brushController && this._brushController.unmount();
     }
 
     dispose(
         ecModel: GlobalModel,
         api: ExtensionAPI
     ) {
-        this.brushController.dispose();
+        this._brushController && this._brushController.dispose();
     }
 
     private _onBrush(eventParam: BrushControllerEvents['brush']): void {
@@ -122,7 +122,7 @@ class DataZoomFeature extends ToolboxFeature<ToolboxDataZoomFeatureOption> {
         const snapshot: history.DataZoomStoreSnapshot = {};
         const ecModel = this.ecModel;
 
-        this.brushController.updateCovers([]); // remove cover
+        this._brushController.updateCovers([]); // remove cover
 
         const brushTargetManager = new BrushTargetManager(
             makeAxisFinder(this.model),
@@ -185,9 +185,6 @@ class DataZoomFeature extends ToolboxFeature<ToolboxDataZoomFeatureOption> {
         }
     };
 
-    /**
-     * @internal
-     */
     _dispatchZoomAction(snapshot: history.DataZoomStoreSnapshot): void {
         const batch: DataZoomPayloadBatchItem[] = [];
 
@@ -226,7 +223,7 @@ class DataZoomFeature extends ToolboxFeature<ToolboxDataZoomFeatureOption> {
 
 const handlers: { [key in IconType]: (this: DataZoomFeature) => void } = {
     zoom: function () {
-        const nextActive = !this.isZoomActive;
+        const nextActive = !this._isZoomActive;
 
         this.api.dispatchAction({
             type: 'takeGlobalCursor',
@@ -280,14 +277,14 @@ function updateZoomBtnStatus(
     payload: Payload,
     api: ExtensionAPI
 ) {
-    let zoomActive = view.isZoomActive;
+    let zoomActive = view._isZoomActive;
 
     if (payload && payload.type === 'takeGlobalCursor') {
         zoomActive = payload.key === 'dataZoomSelect'
             ? payload.dataZoomSelectActive : false;
     }
 
-    view.isZoomActive = zoomActive;
+    view._isZoomActive = zoomActive;
 
     featureModel.setIconStatus('zoom', zoomActive ? 'emphasis' : 'normal');
 
@@ -305,7 +302,7 @@ function updateZoomBtnStatus(
             : 'rect';
     });
 
-    view.brushController
+    view._brushController
         .setPanels(panels)
         .enableBrush(
             (zoomActive && panels.length)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org