qauMaWeb/node_modules/.cache/babel-loader/8a6b05f4e1e1dc5a7de15017c60...

1 line
31 KiB
JSON

{"ast":null,"code":"/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n\n/**\r\n * AUTO-GENERATED FILE. DO NOT MODIFY.\r\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport SymbolDraw from '../helper/SymbolDraw.js';\nimport LineDraw from '../helper/LineDraw.js';\nimport RoamController from '../../component/helper/RoamController.js';\nimport * as roamHelper from '../../component/helper/roamHelper.js';\nimport { onIrrelevantElement } from '../../component/helper/cursorHelper.js';\nimport * as graphic from '../../util/graphic.js';\nimport adjustEdge from './adjustEdge.js';\nimport { getNodeGlobalScale } from './graphHelper.js';\nimport ChartView from '../../view/Chart.js';\nimport { getECData } from '../../util/innerStore.js';\n\nfunction isViewCoordSys(coordSys) {\n return coordSys.type === 'view';\n}\n\nvar GraphView =\n/** @class */\nfunction (_super) {\n __extends(GraphView, _super);\n\n function GraphView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = GraphView.type;\n return _this;\n }\n\n GraphView.prototype.init = function (ecModel, api) {\n var symbolDraw = new SymbolDraw();\n var lineDraw = new LineDraw();\n var group = this.group;\n this._controller = new RoamController(api.getZr());\n this._controllerHost = {\n target: group\n };\n group.add(symbolDraw.group);\n group.add(lineDraw.group);\n this._symbolDraw = symbolDraw;\n this._lineDraw = lineDraw;\n this._firstRender = true;\n };\n\n GraphView.prototype.render = function (seriesModel, ecModel, api) {\n var _this = this;\n\n var coordSys = seriesModel.coordinateSystem;\n this._model = seriesModel;\n var symbolDraw = this._symbolDraw;\n var lineDraw = this._lineDraw;\n var group = this.group;\n\n if (isViewCoordSys(coordSys)) {\n var groupNewProp = {\n x: coordSys.x,\n y: coordSys.y,\n scaleX: coordSys.scaleX,\n scaleY: coordSys.scaleY\n };\n\n if (this._firstRender) {\n group.attr(groupNewProp);\n } else {\n graphic.updateProps(group, groupNewProp, seriesModel);\n }\n } // Fix edge contact point with node\n\n\n adjustEdge(seriesModel.getGraph(), getNodeGlobalScale(seriesModel));\n var data = seriesModel.getData();\n symbolDraw.updateData(data);\n var edgeData = seriesModel.getEdgeData(); // TODO: TYPE\n\n lineDraw.updateData(edgeData);\n\n this._updateNodeAndLinkScale();\n\n this._updateController(seriesModel, ecModel, api);\n\n clearTimeout(this._layoutTimeout);\n var forceLayout = seriesModel.forceLayout;\n var layoutAnimation = seriesModel.get(['force', 'layoutAnimation']);\n\n if (forceLayout) {\n this._startForceLayoutIteration(forceLayout, layoutAnimation);\n }\n\n data.graph.eachNode(function (node) {\n var idx = node.dataIndex;\n var el = node.getGraphicEl();\n var itemModel = node.getModel();\n\n if (!el) {\n return;\n } // Update draggable\n\n\n el.off('drag').off('dragend');\n var draggable = itemModel.get('draggable');\n\n if (draggable) {\n el.on('drag', function () {\n if (forceLayout) {\n forceLayout.warmUp();\n !_this._layouting && _this._startForceLayoutIteration(forceLayout, layoutAnimation);\n forceLayout.setFixed(idx); // Write position back to layout\n\n data.setItemLayout(idx, [el.x, el.y]);\n }\n }).on('dragend', function () {\n if (forceLayout) {\n forceLayout.setUnfixed(idx);\n }\n });\n }\n\n el.setDraggable(draggable && !!forceLayout);\n var focus = itemModel.get(['emphasis', 'focus']);\n\n if (focus === 'adjacency') {\n getECData(el).focus = node.getAdjacentDataIndices();\n }\n });\n data.graph.eachEdge(function (edge) {\n var el = edge.getGraphicEl();\n var focus = edge.getModel().get(['emphasis', 'focus']);\n\n if (!el) {\n return;\n }\n\n if (focus === 'adjacency') {\n getECData(el).focus = {\n edge: [edge.dataIndex],\n node: [edge.node1.dataIndex, edge.node2.dataIndex]\n };\n }\n });\n var circularRotateLabel = seriesModel.get('layout') === 'circular' && seriesModel.get(['circular', 'rotateLabel']);\n var cx = data.getLayout('cx');\n var cy = data.getLayout('cy');\n data.eachItemGraphicEl(function (el, idx) {\n var itemModel = data.getItemModel(idx);\n var labelRotate = itemModel.get(['label', 'rotate']) || 0;\n var symbolPath = el.getSymbolPath();\n\n if (circularRotateLabel) {\n var pos = data.getItemLayout(idx);\n var rad = Math.atan2(pos[1] - cy, pos[0] - cx);\n\n if (rad < 0) {\n rad = Math.PI * 2 + rad;\n }\n\n var isLeft = pos[0] < cx;\n\n if (isLeft) {\n rad = rad - Math.PI;\n }\n\n var textPosition = isLeft ? 'left' : 'right';\n symbolPath.setTextConfig({\n rotation: -rad,\n position: textPosition,\n origin: 'center'\n });\n var emphasisState = symbolPath.ensureState('emphasis');\n zrUtil.extend(emphasisState.textConfig || (emphasisState.textConfig = {}), {\n position: textPosition\n });\n } else {\n symbolPath.setTextConfig({\n rotation: labelRotate *= Math.PI / 180\n });\n }\n });\n this._firstRender = false;\n };\n\n GraphView.prototype.dispose = function () {\n this._controller && this._controller.dispose();\n this._controllerHost = null;\n };\n\n GraphView.prototype._startForceLayoutIteration = function (forceLayout, layoutAnimation) {\n var self = this;\n\n (function step() {\n forceLayout.step(function (stopped) {\n self.updateLayout(self._model);\n (self._layouting = !stopped) && (layoutAnimation ? self._layoutTimeout = setTimeout(step, 16) : step());\n });\n })();\n };\n\n GraphView.prototype._updateController = function (seriesModel, ecModel, api) {\n var _this = this;\n\n var controller = this._controller;\n var controllerHost = this._controllerHost;\n var group = this.group;\n controller.setPointerChecker(function (e, x, y) {\n var rect = group.getBoundingRect();\n rect.applyTransform(group.transform);\n return rect.contain(x, y) && !onIrrelevantElement(e, api, seriesModel);\n });\n\n if (!isViewCoordSys(seriesModel.coordinateSystem)) {\n controller.disable();\n return;\n }\n\n controller.enable(seriesModel.get('roam'));\n controllerHost.zoomLimit = seriesModel.get('scaleLimit');\n controllerHost.zoom = seriesModel.coordinateSystem.getZoom();\n controller.off('pan').off('zoom').on('pan', function (e) {\n roamHelper.updateViewOnPan(controllerHost, e.dx, e.dy);\n api.dispatchAction({\n seriesId: seriesModel.id,\n type: 'graphRoam',\n dx: e.dx,\n dy: e.dy\n });\n }).on('zoom', function (e) {\n roamHelper.updateViewOnZoom(controllerHost, e.scale, e.originX, e.originY);\n api.dispatchAction({\n seriesId: seriesModel.id,\n type: 'graphRoam',\n zoom: e.scale,\n originX: e.originX,\n originY: e.originY\n });\n\n _this._updateNodeAndLinkScale();\n\n adjustEdge(seriesModel.getGraph(), getNodeGlobalScale(seriesModel));\n\n _this._lineDraw.updateLayout(); // Only update label layout on zoom\n\n\n api.updateLabelLayout();\n });\n };\n\n GraphView.prototype._updateNodeAndLinkScale = function () {\n var seriesModel = this._model;\n var data = seriesModel.getData();\n var nodeScale = getNodeGlobalScale(seriesModel);\n data.eachItemGraphicEl(function (el, idx) {\n el && el.setSymbolScale(nodeScale);\n });\n };\n\n GraphView.prototype.updateLayout = function (seriesModel) {\n adjustEdge(seriesModel.getGraph(), getNodeGlobalScale(seriesModel));\n\n this._symbolDraw.updateLayout();\n\n this._lineDraw.updateLayout();\n };\n\n GraphView.prototype.remove = function (ecModel, api) {\n this._symbolDraw && this._symbolDraw.remove();\n this._lineDraw && this._lineDraw.remove();\n };\n\n GraphView.type = 'graph';\n return GraphView;\n}(ChartView);\n\nexport default GraphView;","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src/qingge-Market/qingge-vue/node_modules/echarts/lib/chart/graph/GraphView.js"],"names":["__extends","zrUtil","SymbolDraw","LineDraw","RoamController","roamHelper","onIrrelevantElement","graphic","adjustEdge","getNodeGlobalScale","ChartView","getECData","isViewCoordSys","coordSys","type","GraphView","_super","_this","apply","arguments","prototype","init","ecModel","api","symbolDraw","lineDraw","group","_controller","getZr","_controllerHost","target","add","_symbolDraw","_lineDraw","_firstRender","render","seriesModel","coordinateSystem","_model","groupNewProp","x","y","scaleX","scaleY","attr","updateProps","getGraph","data","getData","updateData","edgeData","getEdgeData","_updateNodeAndLinkScale","_updateController","clearTimeout","_layoutTimeout","forceLayout","layoutAnimation","get","_startForceLayoutIteration","graph","eachNode","node","idx","dataIndex","el","getGraphicEl","itemModel","getModel","off","draggable","on","warmUp","_layouting","setFixed","setItemLayout","setUnfixed","setDraggable","focus","getAdjacentDataIndices","eachEdge","edge","node1","node2","circularRotateLabel","cx","getLayout","cy","eachItemGraphicEl","getItemModel","labelRotate","symbolPath","getSymbolPath","pos","getItemLayout","rad","Math","atan2","PI","isLeft","textPosition","setTextConfig","rotation","position","origin","emphasisState","ensureState","extend","textConfig","dispose","self","step","stopped","updateLayout","setTimeout","controller","controllerHost","setPointerChecker","e","rect","getBoundingRect","applyTransform","transform","contain","disable","enable","zoomLimit","zoom","getZoom","updateViewOnPan","dx","dy","dispatchAction","seriesId","id","updateViewOnZoom","scale","originX","originY","updateLabelLayout","nodeScale","setSymbolScale","remove"],"mappings":"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","sourcesContent":["\r\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\r\n\r\n\r\n/**\r\n * AUTO-GENERATED FILE. DO NOT MODIFY.\r\n */\r\n\r\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\r\nimport { __extends } from \"tslib\";\r\nimport * as zrUtil from 'zrender/lib/core/util.js';\r\nimport SymbolDraw from '../helper/SymbolDraw.js';\r\nimport LineDraw from '../helper/LineDraw.js';\r\nimport RoamController from '../../component/helper/RoamController.js';\r\nimport * as roamHelper from '../../component/helper/roamHelper.js';\r\nimport { onIrrelevantElement } from '../../component/helper/cursorHelper.js';\r\nimport * as graphic from '../../util/graphic.js';\r\nimport adjustEdge from './adjustEdge.js';\r\nimport { getNodeGlobalScale } from './graphHelper.js';\r\nimport ChartView from '../../view/Chart.js';\r\nimport { getECData } from '../../util/innerStore.js';\r\n\r\nfunction isViewCoordSys(coordSys) {\r\n return coordSys.type === 'view';\r\n}\r\n\r\nvar GraphView =\r\n/** @class */\r\nfunction (_super) {\r\n __extends(GraphView, _super);\r\n\r\n function GraphView() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n\r\n _this.type = GraphView.type;\r\n return _this;\r\n }\r\n\r\n GraphView.prototype.init = function (ecModel, api) {\r\n var symbolDraw = new SymbolDraw();\r\n var lineDraw = new LineDraw();\r\n var group = this.group;\r\n this._controller = new RoamController(api.getZr());\r\n this._controllerHost = {\r\n target: group\r\n };\r\n group.add(symbolDraw.group);\r\n group.add(lineDraw.group);\r\n this._symbolDraw = symbolDraw;\r\n this._lineDraw = lineDraw;\r\n this._firstRender = true;\r\n };\r\n\r\n GraphView.prototype.render = function (seriesModel, ecModel, api) {\r\n var _this = this;\r\n\r\n var coordSys = seriesModel.coordinateSystem;\r\n this._model = seriesModel;\r\n var symbolDraw = this._symbolDraw;\r\n var lineDraw = this._lineDraw;\r\n var group = this.group;\r\n\r\n if (isViewCoordSys(coordSys)) {\r\n var groupNewProp = {\r\n x: coordSys.x,\r\n y: coordSys.y,\r\n scaleX: coordSys.scaleX,\r\n scaleY: coordSys.scaleY\r\n };\r\n\r\n if (this._firstRender) {\r\n group.attr(groupNewProp);\r\n } else {\r\n graphic.updateProps(group, groupNewProp, seriesModel);\r\n }\r\n } // Fix edge contact point with node\r\n\r\n\r\n adjustEdge(seriesModel.getGraph(), getNodeGlobalScale(seriesModel));\r\n var data = seriesModel.getData();\r\n symbolDraw.updateData(data);\r\n var edgeData = seriesModel.getEdgeData(); // TODO: TYPE\r\n\r\n lineDraw.updateData(edgeData);\r\n\r\n this._updateNodeAndLinkScale();\r\n\r\n this._updateController(seriesModel, ecModel, api);\r\n\r\n clearTimeout(this._layoutTimeout);\r\n var forceLayout = seriesModel.forceLayout;\r\n var layoutAnimation = seriesModel.get(['force', 'layoutAnimation']);\r\n\r\n if (forceLayout) {\r\n this._startForceLayoutIteration(forceLayout, layoutAnimation);\r\n }\r\n\r\n data.graph.eachNode(function (node) {\r\n var idx = node.dataIndex;\r\n var el = node.getGraphicEl();\r\n var itemModel = node.getModel();\r\n\r\n if (!el) {\r\n return;\r\n } // Update draggable\r\n\r\n\r\n el.off('drag').off('dragend');\r\n var draggable = itemModel.get('draggable');\r\n\r\n if (draggable) {\r\n el.on('drag', function () {\r\n if (forceLayout) {\r\n forceLayout.warmUp();\r\n !_this._layouting && _this._startForceLayoutIteration(forceLayout, layoutAnimation);\r\n forceLayout.setFixed(idx); // Write position back to layout\r\n\r\n data.setItemLayout(idx, [el.x, el.y]);\r\n }\r\n }).on('dragend', function () {\r\n if (forceLayout) {\r\n forceLayout.setUnfixed(idx);\r\n }\r\n });\r\n }\r\n\r\n el.setDraggable(draggable && !!forceLayout);\r\n var focus = itemModel.get(['emphasis', 'focus']);\r\n\r\n if (focus === 'adjacency') {\r\n getECData(el).focus = node.getAdjacentDataIndices();\r\n }\r\n });\r\n data.graph.eachEdge(function (edge) {\r\n var el = edge.getGraphicEl();\r\n var focus = edge.getModel().get(['emphasis', 'focus']);\r\n\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (focus === 'adjacency') {\r\n getECData(el).focus = {\r\n edge: [edge.dataIndex],\r\n node: [edge.node1.dataIndex, edge.node2.dataIndex]\r\n };\r\n }\r\n });\r\n var circularRotateLabel = seriesModel.get('layout') === 'circular' && seriesModel.get(['circular', 'rotateLabel']);\r\n var cx = data.getLayout('cx');\r\n var cy = data.getLayout('cy');\r\n data.eachItemGraphicEl(function (el, idx) {\r\n var itemModel = data.getItemModel(idx);\r\n var labelRotate = itemModel.get(['label', 'rotate']) || 0;\r\n var symbolPath = el.getSymbolPath();\r\n\r\n if (circularRotateLabel) {\r\n var pos = data.getItemLayout(idx);\r\n var rad = Math.atan2(pos[1] - cy, pos[0] - cx);\r\n\r\n if (rad < 0) {\r\n rad = Math.PI * 2 + rad;\r\n }\r\n\r\n var isLeft = pos[0] < cx;\r\n\r\n if (isLeft) {\r\n rad = rad - Math.PI;\r\n }\r\n\r\n var textPosition = isLeft ? 'left' : 'right';\r\n symbolPath.setTextConfig({\r\n rotation: -rad,\r\n position: textPosition,\r\n origin: 'center'\r\n });\r\n var emphasisState = symbolPath.ensureState('emphasis');\r\n zrUtil.extend(emphasisState.textConfig || (emphasisState.textConfig = {}), {\r\n position: textPosition\r\n });\r\n } else {\r\n symbolPath.setTextConfig({\r\n rotation: labelRotate *= Math.PI / 180\r\n });\r\n }\r\n });\r\n this._firstRender = false;\r\n };\r\n\r\n GraphView.prototype.dispose = function () {\r\n this._controller && this._controller.dispose();\r\n this._controllerHost = null;\r\n };\r\n\r\n GraphView.prototype._startForceLayoutIteration = function (forceLayout, layoutAnimation) {\r\n var self = this;\r\n\r\n (function step() {\r\n forceLayout.step(function (stopped) {\r\n self.updateLayout(self._model);\r\n (self._layouting = !stopped) && (layoutAnimation ? self._layoutTimeout = setTimeout(step, 16) : step());\r\n });\r\n })();\r\n };\r\n\r\n GraphView.prototype._updateController = function (seriesModel, ecModel, api) {\r\n var _this = this;\r\n\r\n var controller = this._controller;\r\n var controllerHost = this._controllerHost;\r\n var group = this.group;\r\n controller.setPointerChecker(function (e, x, y) {\r\n var rect = group.getBoundingRect();\r\n rect.applyTransform(group.transform);\r\n return rect.contain(x, y) && !onIrrelevantElement(e, api, seriesModel);\r\n });\r\n\r\n if (!isViewCoordSys(seriesModel.coordinateSystem)) {\r\n controller.disable();\r\n return;\r\n }\r\n\r\n controller.enable(seriesModel.get('roam'));\r\n controllerHost.zoomLimit = seriesModel.get('scaleLimit');\r\n controllerHost.zoom = seriesModel.coordinateSystem.getZoom();\r\n controller.off('pan').off('zoom').on('pan', function (e) {\r\n roamHelper.updateViewOnPan(controllerHost, e.dx, e.dy);\r\n api.dispatchAction({\r\n seriesId: seriesModel.id,\r\n type: 'graphRoam',\r\n dx: e.dx,\r\n dy: e.dy\r\n });\r\n }).on('zoom', function (e) {\r\n roamHelper.updateViewOnZoom(controllerHost, e.scale, e.originX, e.originY);\r\n api.dispatchAction({\r\n seriesId: seriesModel.id,\r\n type: 'graphRoam',\r\n zoom: e.scale,\r\n originX: e.originX,\r\n originY: e.originY\r\n });\r\n\r\n _this._updateNodeAndLinkScale();\r\n\r\n adjustEdge(seriesModel.getGraph(), getNodeGlobalScale(seriesModel));\r\n\r\n _this._lineDraw.updateLayout(); // Only update label layout on zoom\r\n\r\n\r\n api.updateLabelLayout();\r\n });\r\n };\r\n\r\n GraphView.prototype._updateNodeAndLinkScale = function () {\r\n var seriesModel = this._model;\r\n var data = seriesModel.getData();\r\n var nodeScale = getNodeGlobalScale(seriesModel);\r\n data.eachItemGraphicEl(function (el, idx) {\r\n el && el.setSymbolScale(nodeScale);\r\n });\r\n };\r\n\r\n GraphView.prototype.updateLayout = function (seriesModel) {\r\n adjustEdge(seriesModel.getGraph(), getNodeGlobalScale(seriesModel));\r\n\r\n this._symbolDraw.updateLayout();\r\n\r\n this._lineDraw.updateLayout();\r\n };\r\n\r\n GraphView.prototype.remove = function (ecModel, api) {\r\n this._symbolDraw && this._symbolDraw.remove();\r\n this._lineDraw && this._lineDraw.remove();\r\n };\r\n\r\n GraphView.type = 'graph';\r\n return GraphView;\r\n}(ChartView);\r\n\r\nexport default GraphView;"]},"metadata":{},"sourceType":"module"}