1 line
26 KiB
JSON
1 line
26 KiB
JSON
{"ast":null,"code":"import \"core-js/modules/es.array.slice.js\";\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\n/**\n * Provide effect for line\n */\n\nimport * as graphic from '../../util/graphic.js';\nimport Line from './Line.js';\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { createSymbol } from '../../util/symbol.js';\nimport * as vec2 from 'zrender/lib/core/vector.js';\nimport * as curveUtil from 'zrender/lib/core/curve.js';\n\nvar EffectLine =\n/** @class */\nfunction (_super) {\n __extends(EffectLine, _super);\n\n function EffectLine(lineData, idx, seriesScope) {\n var _this = _super.call(this) || this;\n\n _this.add(_this.createLine(lineData, idx, seriesScope));\n\n _this._updateEffectSymbol(lineData, idx);\n\n return _this;\n }\n\n EffectLine.prototype.createLine = function (lineData, idx, seriesScope) {\n return new Line(lineData, idx, seriesScope);\n };\n\n EffectLine.prototype._updateEffectSymbol = function (lineData, idx) {\n var itemModel = lineData.getItemModel(idx);\n var effectModel = itemModel.getModel('effect');\n var size = effectModel.get('symbolSize');\n var symbolType = effectModel.get('symbol');\n\n if (!zrUtil.isArray(size)) {\n size = [size, size];\n }\n\n var lineStyle = lineData.getItemVisual(idx, 'style');\n var color = effectModel.get('color') || lineStyle && lineStyle.stroke;\n var symbol = this.childAt(1);\n\n if (this._symbolType !== symbolType) {\n // Remove previous\n this.remove(symbol);\n symbol = createSymbol(symbolType, -0.5, -0.5, 1, 1, color);\n symbol.z2 = 100;\n symbol.culling = true;\n this.add(symbol);\n } // Symbol may be removed if loop is false\n\n\n if (!symbol) {\n return;\n } // Shadow color is same with color in default\n\n\n symbol.setStyle('shadowColor', color);\n symbol.setStyle(effectModel.getItemStyle(['color']));\n symbol.scaleX = size[0];\n symbol.scaleY = size[1];\n symbol.setColor(color);\n this._symbolType = symbolType;\n this._symbolScale = size;\n\n this._updateEffectAnimation(lineData, effectModel, idx);\n };\n\n EffectLine.prototype._updateEffectAnimation = function (lineData, effectModel, idx) {\n var symbol = this.childAt(1);\n\n if (!symbol) {\n return;\n }\n\n var points = lineData.getItemLayout(idx);\n var period = effectModel.get('period') * 1000;\n var loop = effectModel.get('loop');\n var roundTrip = effectModel.get('roundTrip');\n var constantSpeed = effectModel.get('constantSpeed');\n var delayExpr = zrUtil.retrieve(effectModel.get('delay'), function (idx) {\n return idx / lineData.count() * period / 3;\n }); // Ignore when updating\n\n symbol.ignore = true;\n\n this._updateAnimationPoints(symbol, points);\n\n if (constantSpeed > 0) {\n period = this._getLineLength(symbol) / constantSpeed * 1000;\n }\n\n if (period !== this._period || loop !== this._loop || roundTrip !== this._roundTrip) {\n symbol.stopAnimation();\n var delayNum = void 0;\n\n if (zrUtil.isFunction(delayExpr)) {\n delayNum = delayExpr(idx);\n } else {\n delayNum = delayExpr;\n }\n\n if (symbol.__t > 0) {\n delayNum = -period * symbol.__t;\n }\n\n this._animateSymbol(symbol, period, delayNum, loop, roundTrip);\n }\n\n this._period = period;\n this._loop = loop;\n this._roundTrip = roundTrip;\n };\n\n EffectLine.prototype._animateSymbol = function (symbol, period, delayNum, loop, roundTrip) {\n if (period > 0) {\n symbol.__t = 0;\n var self_1 = this;\n var animator = symbol.animate('', loop).when(roundTrip ? period * 2 : period, {\n __t: roundTrip ? 2 : 1\n }).delay(delayNum).during(function () {\n self_1._updateSymbolPosition(symbol);\n });\n\n if (!loop) {\n animator.done(function () {\n self_1.remove(symbol);\n });\n }\n\n animator.start();\n }\n };\n\n EffectLine.prototype._getLineLength = function (symbol) {\n // Not so accurate\n return vec2.dist(symbol.__p1, symbol.__cp1) + vec2.dist(symbol.__cp1, symbol.__p2);\n };\n\n EffectLine.prototype._updateAnimationPoints = function (symbol, points) {\n symbol.__p1 = points[0];\n symbol.__p2 = points[1];\n symbol.__cp1 = points[2] || [(points[0][0] + points[1][0]) / 2, (points[0][1] + points[1][1]) / 2];\n };\n\n EffectLine.prototype.updateData = function (lineData, idx, seriesScope) {\n this.childAt(0).updateData(lineData, idx, seriesScope);\n\n this._updateEffectSymbol(lineData, idx);\n };\n\n EffectLine.prototype._updateSymbolPosition = function (symbol) {\n var p1 = symbol.__p1;\n var p2 = symbol.__p2;\n var cp1 = symbol.__cp1;\n var t = symbol.__t < 1 ? symbol.__t : 2 - symbol.__t;\n var pos = [symbol.x, symbol.y];\n var lastPos = pos.slice();\n var quadraticAt = curveUtil.quadraticAt;\n var quadraticDerivativeAt = curveUtil.quadraticDerivativeAt;\n pos[0] = quadraticAt(p1[0], cp1[0], p2[0], t);\n pos[1] = quadraticAt(p1[1], cp1[1], p2[1], t); // Tangent\n\n var tx = symbol.__t < 1 ? quadraticDerivativeAt(p1[0], cp1[0], p2[0], t) : quadraticDerivativeAt(p2[0], cp1[0], p1[0], 1 - t);\n var ty = symbol.__t < 1 ? quadraticDerivativeAt(p1[1], cp1[1], p2[1], t) : quadraticDerivativeAt(p2[1], cp1[1], p1[1], 1 - t);\n symbol.rotation = -Math.atan2(ty, tx) - Math.PI / 2; // enable continuity trail for 'line', 'rect', 'roundRect' symbolType\n\n if (this._symbolType === 'line' || this._symbolType === 'rect' || this._symbolType === 'roundRect') {\n if (symbol.__lastT !== undefined && symbol.__lastT < symbol.__t) {\n symbol.scaleY = vec2.dist(lastPos, pos) * 1.05; // make sure the last segment render within endPoint\n\n if (t === 1) {\n pos[0] = lastPos[0] + (pos[0] - lastPos[0]) / 2;\n pos[1] = lastPos[1] + (pos[1] - lastPos[1]) / 2;\n }\n } else if (symbol.__lastT === 1) {\n // After first loop, symbol.__t does NOT start with 0, so connect p1 to pos directly.\n symbol.scaleY = 2 * vec2.dist(p1, pos);\n } else {\n symbol.scaleY = this._symbolScale[1];\n }\n }\n\n symbol.__lastT = symbol.__t;\n symbol.ignore = false;\n symbol.x = pos[0];\n symbol.y = pos[1];\n };\n\n EffectLine.prototype.updateLayout = function (lineData, idx) {\n this.childAt(0).updateLayout(lineData, idx);\n var effectModel = lineData.getItemModel(idx).getModel('effect');\n\n this._updateEffectAnimation(lineData, effectModel, idx);\n };\n\n return EffectLine;\n}(graphic.Group);\n\nexport default EffectLine;","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src啊/ElectronicMallVue/node_modules/echarts/lib/chart/helper/EffectLine.js"],"names":["__extends","graphic","Line","zrUtil","createSymbol","vec2","curveUtil","EffectLine","_super","lineData","idx","seriesScope","_this","call","add","createLine","_updateEffectSymbol","prototype","itemModel","getItemModel","effectModel","getModel","size","get","symbolType","isArray","lineStyle","getItemVisual","color","stroke","symbol","childAt","_symbolType","remove","z2","culling","setStyle","getItemStyle","scaleX","scaleY","setColor","_symbolScale","_updateEffectAnimation","points","getItemLayout","period","loop","roundTrip","constantSpeed","delayExpr","retrieve","count","ignore","_updateAnimationPoints","_getLineLength","_period","_loop","_roundTrip","stopAnimation","delayNum","isFunction","__t","_animateSymbol","self_1","animator","animate","when","delay","during","_updateSymbolPosition","done","start","dist","__p1","__cp1","__p2","updateData","p1","p2","cp1","t","pos","x","y","lastPos","slice","quadraticAt","quadraticDerivativeAt","tx","ty","rotation","Math","atan2","PI","__lastT","undefined","updateLayout","Group"],"mappings":"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","sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\n/**\n * Provide effect for line\n */\n\nimport * as graphic from '../../util/graphic.js';\nimport Line from './Line.js';\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { createSymbol } from '../../util/symbol.js';\nimport * as vec2 from 'zrender/lib/core/vector.js';\nimport * as curveUtil from 'zrender/lib/core/curve.js';\n\nvar EffectLine =\n/** @class */\nfunction (_super) {\n __extends(EffectLine, _super);\n\n function EffectLine(lineData, idx, seriesScope) {\n var _this = _super.call(this) || this;\n\n _this.add(_this.createLine(lineData, idx, seriesScope));\n\n _this._updateEffectSymbol(lineData, idx);\n\n return _this;\n }\n\n EffectLine.prototype.createLine = function (lineData, idx, seriesScope) {\n return new Line(lineData, idx, seriesScope);\n };\n\n EffectLine.prototype._updateEffectSymbol = function (lineData, idx) {\n var itemModel = lineData.getItemModel(idx);\n var effectModel = itemModel.getModel('effect');\n var size = effectModel.get('symbolSize');\n var symbolType = effectModel.get('symbol');\n\n if (!zrUtil.isArray(size)) {\n size = [size, size];\n }\n\n var lineStyle = lineData.getItemVisual(idx, 'style');\n var color = effectModel.get('color') || lineStyle && lineStyle.stroke;\n var symbol = this.childAt(1);\n\n if (this._symbolType !== symbolType) {\n // Remove previous\n this.remove(symbol);\n symbol = createSymbol(symbolType, -0.5, -0.5, 1, 1, color);\n symbol.z2 = 100;\n symbol.culling = true;\n this.add(symbol);\n } // Symbol may be removed if loop is false\n\n\n if (!symbol) {\n return;\n } // Shadow color is same with color in default\n\n\n symbol.setStyle('shadowColor', color);\n symbol.setStyle(effectModel.getItemStyle(['color']));\n symbol.scaleX = size[0];\n symbol.scaleY = size[1];\n symbol.setColor(color);\n this._symbolType = symbolType;\n this._symbolScale = size;\n\n this._updateEffectAnimation(lineData, effectModel, idx);\n };\n\n EffectLine.prototype._updateEffectAnimation = function (lineData, effectModel, idx) {\n var symbol = this.childAt(1);\n\n if (!symbol) {\n return;\n }\n\n var points = lineData.getItemLayout(idx);\n var period = effectModel.get('period') * 1000;\n var loop = effectModel.get('loop');\n var roundTrip = effectModel.get('roundTrip');\n var constantSpeed = effectModel.get('constantSpeed');\n var delayExpr = zrUtil.retrieve(effectModel.get('delay'), function (idx) {\n return idx / lineData.count() * period / 3;\n }); // Ignore when updating\n\n symbol.ignore = true;\n\n this._updateAnimationPoints(symbol, points);\n\n if (constantSpeed > 0) {\n period = this._getLineLength(symbol) / constantSpeed * 1000;\n }\n\n if (period !== this._period || loop !== this._loop || roundTrip !== this._roundTrip) {\n symbol.stopAnimation();\n var delayNum = void 0;\n\n if (zrUtil.isFunction(delayExpr)) {\n delayNum = delayExpr(idx);\n } else {\n delayNum = delayExpr;\n }\n\n if (symbol.__t > 0) {\n delayNum = -period * symbol.__t;\n }\n\n this._animateSymbol(symbol, period, delayNum, loop, roundTrip);\n }\n\n this._period = period;\n this._loop = loop;\n this._roundTrip = roundTrip;\n };\n\n EffectLine.prototype._animateSymbol = function (symbol, period, delayNum, loop, roundTrip) {\n if (period > 0) {\n symbol.__t = 0;\n var self_1 = this;\n var animator = symbol.animate('', loop).when(roundTrip ? period * 2 : period, {\n __t: roundTrip ? 2 : 1\n }).delay(delayNum).during(function () {\n self_1._updateSymbolPosition(symbol);\n });\n\n if (!loop) {\n animator.done(function () {\n self_1.remove(symbol);\n });\n }\n\n animator.start();\n }\n };\n\n EffectLine.prototype._getLineLength = function (symbol) {\n // Not so accurate\n return vec2.dist(symbol.__p1, symbol.__cp1) + vec2.dist(symbol.__cp1, symbol.__p2);\n };\n\n EffectLine.prototype._updateAnimationPoints = function (symbol, points) {\n symbol.__p1 = points[0];\n symbol.__p2 = points[1];\n symbol.__cp1 = points[2] || [(points[0][0] + points[1][0]) / 2, (points[0][1] + points[1][1]) / 2];\n };\n\n EffectLine.prototype.updateData = function (lineData, idx, seriesScope) {\n this.childAt(0).updateData(lineData, idx, seriesScope);\n\n this._updateEffectSymbol(lineData, idx);\n };\n\n EffectLine.prototype._updateSymbolPosition = function (symbol) {\n var p1 = symbol.__p1;\n var p2 = symbol.__p2;\n var cp1 = symbol.__cp1;\n var t = symbol.__t < 1 ? symbol.__t : 2 - symbol.__t;\n var pos = [symbol.x, symbol.y];\n var lastPos = pos.slice();\n var quadraticAt = curveUtil.quadraticAt;\n var quadraticDerivativeAt = curveUtil.quadraticDerivativeAt;\n pos[0] = quadraticAt(p1[0], cp1[0], p2[0], t);\n pos[1] = quadraticAt(p1[1], cp1[1], p2[1], t); // Tangent\n\n var tx = symbol.__t < 1 ? quadraticDerivativeAt(p1[0], cp1[0], p2[0], t) : quadraticDerivativeAt(p2[0], cp1[0], p1[0], 1 - t);\n var ty = symbol.__t < 1 ? quadraticDerivativeAt(p1[1], cp1[1], p2[1], t) : quadraticDerivativeAt(p2[1], cp1[1], p1[1], 1 - t);\n symbol.rotation = -Math.atan2(ty, tx) - Math.PI / 2; // enable continuity trail for 'line', 'rect', 'roundRect' symbolType\n\n if (this._symbolType === 'line' || this._symbolType === 'rect' || this._symbolType === 'roundRect') {\n if (symbol.__lastT !== undefined && symbol.__lastT < symbol.__t) {\n symbol.scaleY = vec2.dist(lastPos, pos) * 1.05; // make sure the last segment render within endPoint\n\n if (t === 1) {\n pos[0] = lastPos[0] + (pos[0] - lastPos[0]) / 2;\n pos[1] = lastPos[1] + (pos[1] - lastPos[1]) / 2;\n }\n } else if (symbol.__lastT === 1) {\n // After first loop, symbol.__t does NOT start with 0, so connect p1 to pos directly.\n symbol.scaleY = 2 * vec2.dist(p1, pos);\n } else {\n symbol.scaleY = this._symbolScale[1];\n }\n }\n\n symbol.__lastT = symbol.__t;\n symbol.ignore = false;\n symbol.x = pos[0];\n symbol.y = pos[1];\n };\n\n EffectLine.prototype.updateLayout = function (lineData, idx) {\n this.childAt(0).updateLayout(lineData, idx);\n var effectModel = lineData.getItemModel(idx).getModel('effect');\n\n this._updateEffectAnimation(lineData, effectModel, idx);\n };\n\n return EffectLine;\n}(graphic.Group);\n\nexport default EffectLine;"]},"metadata":{},"sourceType":"module"} |