code: function (dataZoomModel) {
          if (dataZoomModel !== this._dataZoomModel) {
              return;
          }
  
          var targetSeries = this.getTargetSeriesModels();
          // Culculate data window and data extent, and record them.
          this._dataExtent = calculateDataExtent(this, this._dimName, targetSeries);
  
          // this.hasSeriesStacked = false;
          // each(targetSeries, function (series) {
              // var data = series.getData();
              // var dataDim = data.mapDimension(this._dimName);
              // var stackedDimension = data.getCalculationInfo('stackedDimension');
              // if (stackedDimension && stackedDimension === dataDim) {
                  // this.hasSeriesStacked = true;
              // }
          // }, this);
  
          // `calculateDataWindow` uses min/maxSpan.
          setMinMaxSpan(this);
  
          var dataWindow = this.calculateDataWindow(dataZoomModel.option);
  
          this._valueWindow = dataWindow.valueWindow;
          this._percentWindow = dataWindow.percentWindow;
  
          // Update axis setting then.
          setAxisModel(this);
      }
docs: Notice: reset should not be called before series.restoreData() called,
  so it is recommanded to be called in "process stage" but not "model init
  stage".
  
  @param {module: echarts/component/dataZoom/DataZoomModel} dataZoomModel