| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 | 
/** Licensed to the Apache Software Foundation (ASF) under one* or more contributor license agreements.  See the NOTICE file* distributed with this work for additional information* regarding copyright ownership.  The ASF licenses this file* to you under the Apache License, Version 2.0 (the* "License"); you may not use this file except in compliance* with the License.  You may obtain a copy of the License at**   http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing,* software distributed under the License is distributed on an* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY* KIND, either express or implied.  See the License for the* specific language governing permissions and limitations* under the License.*//** * AUTO-GENERATED FILE. DO NOT MODIFY. *//** Licensed to the Apache Software Foundation (ASF) under one* or more contributor license agreements.  See the NOTICE file* distributed with this work for additional information* regarding copyright ownership.  The ASF licenses this file* to you under the Apache License, Version 2.0 (the* "License"); you may not use this file except in compliance* with the License.  You may obtain a copy of the License at**   http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing,* software distributed under the License is distributed on an* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY* KIND, either express or implied.  See the License for the* specific language governing permissions and limitations* under the License.*/import { __extends } from "tslib";import DataZoomView from './DataZoomView.js';import sliderMove from '../helper/sliderMove.js';import * as roams from './roams.js';import { bind } from 'zrender/lib/core/util.js';var InsideZoomView =/** @class */function (_super) {  __extends(InsideZoomView, _super);  function InsideZoomView() {    var _this = _super !== null && _super.apply(this, arguments) || this;    _this.type = 'dataZoom.inside';    return _this;  }  InsideZoomView.prototype.render = function (dataZoomModel, ecModel, api) {    _super.prototype.render.apply(this, arguments);    if (dataZoomModel.noTarget()) {      this._clear();      return;    } // Hence the `throttle` util ensures to preserve command order,    // here simply updating range all the time will not cause missing    // any of the the roam change.    this.range = dataZoomModel.getPercentRange(); // Reset controllers.    roams.setViewInfoToCoordSysRecord(api, dataZoomModel, {      pan: bind(getRangeHandlers.pan, this),      zoom: bind(getRangeHandlers.zoom, this),      scrollMove: bind(getRangeHandlers.scrollMove, this)    });  };  InsideZoomView.prototype.dispose = function () {    this._clear();    _super.prototype.dispose.apply(this, arguments);  };  InsideZoomView.prototype._clear = function () {    roams.disposeCoordSysRecordIfNeeded(this.api, this.dataZoomModel);    this.range = null;  };  InsideZoomView.type = 'dataZoom.inside';  return InsideZoomView;}(DataZoomView);var getRangeHandlers = {  zoom: function (coordSysInfo, coordSysMainType, controller, e) {    var lastRange = this.range;    var range = lastRange.slice(); // Calculate transform by the first axis.    var axisModel = coordSysInfo.axisModels[0];    if (!axisModel) {      return;    }    var directionInfo = getDirectionInfo[coordSysMainType](null, [e.originX, e.originY], axisModel, controller, coordSysInfo);    var percentPoint = (directionInfo.signal > 0 ? directionInfo.pixelStart + directionInfo.pixelLength - directionInfo.pixel : directionInfo.pixel - directionInfo.pixelStart) / directionInfo.pixelLength * (range[1] - range[0]) + range[0];    var scale = Math.max(1 / e.scale, 0);    range[0] = (range[0] - percentPoint) * scale + percentPoint;    range[1] = (range[1] - percentPoint) * scale + percentPoint; // Restrict range.    var minMaxSpan = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();    sliderMove(0, range, [0, 100], 0, minMaxSpan.minSpan, minMaxSpan.maxSpan);    this.range = range;    if (lastRange[0] !== range[0] || lastRange[1] !== range[1]) {      return range;    }  },  pan: makeMover(function (range, axisModel, coordSysInfo, coordSysMainType, controller, e) {    var directionInfo = getDirectionInfo[coordSysMainType]([e.oldX, e.oldY], [e.newX, e.newY], axisModel, controller, coordSysInfo);    return directionInfo.signal * (range[1] - range[0]) * directionInfo.pixel / directionInfo.pixelLength;  }),  scrollMove: makeMover(function (range, axisModel, coordSysInfo, coordSysMainType, controller, e) {    var directionInfo = getDirectionInfo[coordSysMainType]([0, 0], [e.scrollDelta, e.scrollDelta], axisModel, controller, coordSysInfo);    return directionInfo.signal * (range[1] - range[0]) * e.scrollDelta;  })};function makeMover(getPercentDelta) {  return function (coordSysInfo, coordSysMainType, controller, e) {    var lastRange = this.range;    var range = lastRange.slice(); // Calculate transform by the first axis.    var axisModel = coordSysInfo.axisModels[0];    if (!axisModel) {      return;    }    var percentDelta = getPercentDelta(range, axisModel, coordSysInfo, coordSysMainType, controller, e);    sliderMove(percentDelta, range, [0, 100], 'all');    this.range = range;    if (lastRange[0] !== range[0] || lastRange[1] !== range[1]) {      return range;    }  };}var getDirectionInfo = {  grid: function (oldPoint, newPoint, axisModel, controller, coordSysInfo) {    var axis = axisModel.axis;    var ret = {};    var rect = coordSysInfo.model.coordinateSystem.getRect();    oldPoint = oldPoint || [0, 0];    if (axis.dim === 'x') {      ret.pixel = newPoint[0] - oldPoint[0];      ret.pixelLength = rect.width;      ret.pixelStart = rect.x;      ret.signal = axis.inverse ? 1 : -1;    } else {      // axis.dim === 'y'      ret.pixel = newPoint[1] - oldPoint[1];      ret.pixelLength = rect.height;      ret.pixelStart = rect.y;      ret.signal = axis.inverse ? -1 : 1;    }    return ret;  },  polar: function (oldPoint, newPoint, axisModel, controller, coordSysInfo) {    var axis = axisModel.axis;    var ret = {};    var polar = coordSysInfo.model.coordinateSystem;    var radiusExtent = polar.getRadiusAxis().getExtent();    var angleExtent = polar.getAngleAxis().getExtent();    oldPoint = oldPoint ? polar.pointToCoord(oldPoint) : [0, 0];    newPoint = polar.pointToCoord(newPoint);    if (axisModel.mainType === 'radiusAxis') {      ret.pixel = newPoint[0] - oldPoint[0]; // ret.pixelLength = Math.abs(radiusExtent[1] - radiusExtent[0]);      // ret.pixelStart = Math.min(radiusExtent[0], radiusExtent[1]);      ret.pixelLength = radiusExtent[1] - radiusExtent[0];      ret.pixelStart = radiusExtent[0];      ret.signal = axis.inverse ? 1 : -1;    } else {      // 'angleAxis'      ret.pixel = newPoint[1] - oldPoint[1]; // ret.pixelLength = Math.abs(angleExtent[1] - angleExtent[0]);      // ret.pixelStart = Math.min(angleExtent[0], angleExtent[1]);      ret.pixelLength = angleExtent[1] - angleExtent[0];      ret.pixelStart = angleExtent[0];      ret.signal = axis.inverse ? -1 : 1;    }    return ret;  },  singleAxis: function (oldPoint, newPoint, axisModel, controller, coordSysInfo) {    var axis = axisModel.axis;    var rect = coordSysInfo.model.coordinateSystem.getRect();    var ret = {};    oldPoint = oldPoint || [0, 0];    if (axis.orient === 'horizontal') {      ret.pixel = newPoint[0] - oldPoint[0];      ret.pixelLength = rect.width;      ret.pixelStart = rect.x;      ret.signal = axis.inverse ? 1 : -1;    } else {      // 'vertical'      ret.pixel = newPoint[1] - oldPoint[1];      ret.pixelLength = rect.height;      ret.pixelStart = rect.y;      ret.signal = axis.inverse ? -1 : 1;    }    return ret;  }};export default InsideZoomView;
 |