UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

85 lines (84 loc) 3.11 kB
import { __extends } from "../../../../tslib/tslib.es6.mjs"; import ComponentView from "../../view/Component.mjs"; import { each, bind, extend } from "../../../../zrender/lib/core/util.mjs"; import { createOrUpdate, clear } from "../../util/throttle.mjs"; var CLICK_THRESHOLD = 5; var ParallelView = function(_super) { __extends(ParallelView2, _super); function ParallelView2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = ParallelView2.type; return _this; } ParallelView2.prototype.render = function(parallelModel, ecModel, api) { this._model = parallelModel; this._api = api; if (!this._handlers) { this._handlers = {}; each(handlers, function(handler, eventName) { api.getZr().on(eventName, this._handlers[eventName] = bind(handler, this)); }, this); } createOrUpdate(this, "_throttledDispatchExpand", parallelModel.get("axisExpandRate"), "fixRate"); }; ParallelView2.prototype.dispose = function(ecModel, api) { clear(this, "_throttledDispatchExpand"); each(this._handlers, function(handler, eventName) { api.getZr().off(eventName, handler); }); this._handlers = null; }; ParallelView2.prototype._throttledDispatchExpand = function(opt) { this._dispatchExpand(opt); }; ParallelView2.prototype._dispatchExpand = function(opt) { opt && this._api.dispatchAction(extend({ type: "parallelAxisExpand" }, opt)); }; ParallelView2.type = "parallel"; return ParallelView2; }(ComponentView); var handlers = { mousedown: function(e) { if (checkTrigger(this, "click")) { this._mouseDownPoint = [e.offsetX, e.offsetY]; } }, mouseup: function(e) { var mouseDownPoint = this._mouseDownPoint; if (checkTrigger(this, "click") && mouseDownPoint) { var point = [e.offsetX, e.offsetY]; var dist = Math.pow(mouseDownPoint[0] - point[0], 2) + Math.pow(mouseDownPoint[1] - point[1], 2); if (dist > CLICK_THRESHOLD) { return; } var result = this._model.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX, e.offsetY]); result.behavior !== "none" && this._dispatchExpand({ axisExpandWindow: result.axisExpandWindow }); } this._mouseDownPoint = null; }, mousemove: function(e) { if (this._mouseDownPoint || !checkTrigger(this, "mousemove")) { return; } var model = this._model; var result = model.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX, e.offsetY]); var behavior = result.behavior; behavior === "jump" && this._throttledDispatchExpand.debounceNextCall(model.get("axisExpandDebounce")); this._throttledDispatchExpand(behavior === "none" ? null : { axisExpandWindow: result.axisExpandWindow, animation: behavior === "jump" ? null : { duration: 0 } }); } }; function checkTrigger(view, triggerOn) { var model = view._model; return model.get("axisExpandable") && model.get("axisExpandTriggerOn") === triggerOn; } var ParallelView$1 = ParallelView; export { ParallelView$1 as default };