1 line
23 KiB
JSON
1 line
23 KiB
JSON
{"ast":null,"code":"import \"core-js/modules/es.array.join.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.string.split.js\";\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*/\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*/\n// @ts-nocheck\nimport * as zrUtil from 'zrender/lib/core/util.js';\nvar KEY_DELIMITER = '-->';\n/**\r\n * params handler\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n * @returns {*}\r\n */\n\nvar getAutoCurvenessParams = function getAutoCurvenessParams(seriesModel) {\n return seriesModel.get('autoCurveness') || null;\n};\n/**\r\n * Generate a list of edge curvatures, 20 is the default\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n * @param {number} appendLength\r\n * @return 20 => [0, -0.2, 0.2, -0.4, 0.4, -0.6, 0.6, -0.8, 0.8, -1, 1, -1.2, 1.2, -1.4, 1.4, -1.6, 1.6, -1.8, 1.8, -2]\r\n */\n\n\nvar createCurveness = function createCurveness(seriesModel, appendLength) {\n var autoCurvenessParmas = getAutoCurvenessParams(seriesModel);\n var length = 20;\n var curvenessList = []; // handler the function set\n\n if (zrUtil.isNumber(autoCurvenessParmas)) {\n length = autoCurvenessParmas;\n } else if (zrUtil.isArray(autoCurvenessParmas)) {\n seriesModel.__curvenessList = autoCurvenessParmas;\n return;\n } // append length\n\n\n if (appendLength > length) {\n length = appendLength;\n } // make sure the length is even\n\n\n var len = length % 2 ? length + 2 : length + 3;\n curvenessList = [];\n\n for (var i = 0; i < len; i++) {\n curvenessList.push((i % 2 ? i + 1 : i) / 10 * (i % 2 ? -1 : 1));\n }\n\n seriesModel.__curvenessList = curvenessList;\n};\n/**\r\n * Create different cache key data in the positive and negative directions, in order to set the curvature later\r\n * @param {number|string|module:echarts/data/Graph.Node} n1\r\n * @param {number|string|module:echarts/data/Graph.Node} n2\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n * @returns {string} key\r\n */\n\n\nvar getKeyOfEdges = function getKeyOfEdges(n1, n2, seriesModel) {\n var source = [n1.id, n1.dataIndex].join('.');\n var target = [n2.id, n2.dataIndex].join('.');\n return [seriesModel.uid, source, target].join(KEY_DELIMITER);\n};\n/**\r\n * get opposite key\r\n * @param {string} key\r\n * @returns {string}\r\n */\n\n\nvar getOppositeKey = function getOppositeKey(key) {\n var keys = key.split(KEY_DELIMITER);\n return [keys[0], keys[2], keys[1]].join(KEY_DELIMITER);\n};\n/**\r\n * get edgeMap with key\r\n * @param edge\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n */\n\n\nvar getEdgeFromMap = function getEdgeFromMap(edge, seriesModel) {\n var key = getKeyOfEdges(edge.node1, edge.node2, seriesModel);\n return seriesModel.__edgeMap[key];\n};\n/**\r\n * calculate all cases total length\r\n * @param edge\r\n * @param seriesModel\r\n * @returns {number}\r\n */\n\n\nvar getTotalLengthBetweenNodes = function getTotalLengthBetweenNodes(edge, seriesModel) {\n var len = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node1, edge.node2, seriesModel), seriesModel);\n var lenV = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node2, edge.node1, seriesModel), seriesModel);\n return len + lenV;\n};\n/**\r\n *\r\n * @param key\r\n */\n\n\nvar getEdgeMapLengthWithKey = function getEdgeMapLengthWithKey(key, seriesModel) {\n var edgeMap = seriesModel.__edgeMap;\n return edgeMap[key] ? edgeMap[key].length : 0;\n};\n/**\r\n * Count the number of edges between the same two points, used to obtain the curvature table and the parity of the edge\r\n * @see /graph/GraphSeries.js@getInitialData\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n */\n\n\nexport function initCurvenessList(seriesModel) {\n if (!getAutoCurvenessParams(seriesModel)) {\n return;\n }\n\n seriesModel.__curvenessList = [];\n seriesModel.__edgeMap = {}; // calc the array of curveness List\n\n createCurveness(seriesModel);\n}\n/**\r\n * set edgeMap with key\r\n * @param {number|string|module:echarts/data/Graph.Node} n1\r\n * @param {number|string|module:echarts/data/Graph.Node} n2\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n * @param {number} index\r\n */\n\nexport function createEdgeMapForCurveness(n1, n2, seriesModel, index) {\n if (!getAutoCurvenessParams(seriesModel)) {\n return;\n }\n\n var key = getKeyOfEdges(n1, n2, seriesModel);\n var edgeMap = seriesModel.__edgeMap;\n var oppositeEdges = edgeMap[getOppositeKey(key)]; // set direction\n\n if (edgeMap[key] && !oppositeEdges) {\n edgeMap[key].isForward = true;\n } else if (oppositeEdges && edgeMap[key]) {\n oppositeEdges.isForward = true;\n edgeMap[key].isForward = false;\n }\n\n edgeMap[key] = edgeMap[key] || [];\n edgeMap[key].push(index);\n}\n/**\r\n * get curvature for edge\r\n * @param edge\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n * @param index\r\n */\n\nexport function getCurvenessForEdge(edge, seriesModel, index, needReverse) {\n var autoCurvenessParams = getAutoCurvenessParams(seriesModel);\n var isArrayParam = zrUtil.isArray(autoCurvenessParams);\n\n if (!autoCurvenessParams) {\n return null;\n }\n\n var edgeArray = getEdgeFromMap(edge, seriesModel);\n\n if (!edgeArray) {\n return null;\n }\n\n var edgeIndex = -1;\n\n for (var i = 0; i < edgeArray.length; i++) {\n if (edgeArray[i] === index) {\n edgeIndex = i;\n break;\n }\n } // if totalLen is Longer createCurveness\n\n\n var totalLen = getTotalLengthBetweenNodes(edge, seriesModel);\n createCurveness(seriesModel, totalLen);\n edge.lineStyle = edge.lineStyle || {}; // if is opposite edge, must set curvenss to opposite number\n\n var curKey = getKeyOfEdges(edge.node1, edge.node2, seriesModel);\n var curvenessList = seriesModel.__curvenessList; // if pass array no need parity\n\n var parityCorrection = isArrayParam ? 0 : totalLen % 2 ? 0 : 1;\n\n if (!edgeArray.isForward) {\n // the opposite edge show outside\n var oppositeKey = getOppositeKey(curKey);\n var len = getEdgeMapLengthWithKey(oppositeKey, seriesModel);\n var resValue = curvenessList[edgeIndex + len + parityCorrection]; // isNeedReverse, simple, force type need reverse the curveness in the junction of the forword and the opposite\n\n if (needReverse) {\n // set as array may make the parity handle with the len of opposite\n if (isArrayParam) {\n if (autoCurvenessParams && autoCurvenessParams[0] === 0) {\n return (len + parityCorrection) % 2 ? resValue : -resValue;\n } else {\n return ((len % 2 ? 0 : 1) + parityCorrection) % 2 ? resValue : -resValue;\n }\n } else {\n return (len + parityCorrection) % 2 ? resValue : -resValue;\n }\n } else {\n return curvenessList[edgeIndex + len + parityCorrection];\n }\n } else {\n return curvenessList[parityCorrection + edgeIndex];\n }\n}","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src/qingge-Market/qingge-vue/node_modules/echarts/lib/chart/helper/multipleGraphEdgeHelper.js"],"names":["zrUtil","KEY_DELIMITER","getAutoCurvenessParams","seriesModel","get","createCurveness","appendLength","autoCurvenessParmas","length","curvenessList","isNumber","isArray","__curvenessList","len","i","push","getKeyOfEdges","n1","n2","source","id","dataIndex","join","target","uid","getOppositeKey","key","keys","split","getEdgeFromMap","edge","node1","node2","__edgeMap","getTotalLengthBetweenNodes","getEdgeMapLengthWithKey","lenV","edgeMap","initCurvenessList","createEdgeMapForCurveness","index","oppositeEdges","isForward","getCurvenessForEdge","needReverse","autoCurvenessParams","isArrayParam","edgeArray","edgeIndex","totalLen","lineStyle","curKey","parityCorrection","oppositeKey","resValue"],"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\n// @ts-nocheck\r\nimport * as zrUtil from 'zrender/lib/core/util.js';\r\nvar KEY_DELIMITER = '-->';\r\n/**\r\n * params handler\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n * @returns {*}\r\n */\r\n\r\nvar getAutoCurvenessParams = function (seriesModel) {\r\n return seriesModel.get('autoCurveness') || null;\r\n};\r\n/**\r\n * Generate a list of edge curvatures, 20 is the default\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n * @param {number} appendLength\r\n * @return 20 => [0, -0.2, 0.2, -0.4, 0.4, -0.6, 0.6, -0.8, 0.8, -1, 1, -1.2, 1.2, -1.4, 1.4, -1.6, 1.6, -1.8, 1.8, -2]\r\n */\r\n\r\n\r\nvar createCurveness = function (seriesModel, appendLength) {\r\n var autoCurvenessParmas = getAutoCurvenessParams(seriesModel);\r\n var length = 20;\r\n var curvenessList = []; // handler the function set\r\n\r\n if (zrUtil.isNumber(autoCurvenessParmas)) {\r\n length = autoCurvenessParmas;\r\n } else if (zrUtil.isArray(autoCurvenessParmas)) {\r\n seriesModel.__curvenessList = autoCurvenessParmas;\r\n return;\r\n } // append length\r\n\r\n\r\n if (appendLength > length) {\r\n length = appendLength;\r\n } // make sure the length is even\r\n\r\n\r\n var len = length % 2 ? length + 2 : length + 3;\r\n curvenessList = [];\r\n\r\n for (var i = 0; i < len; i++) {\r\n curvenessList.push((i % 2 ? i + 1 : i) / 10 * (i % 2 ? -1 : 1));\r\n }\r\n\r\n seriesModel.__curvenessList = curvenessList;\r\n};\r\n/**\r\n * Create different cache key data in the positive and negative directions, in order to set the curvature later\r\n * @param {number|string|module:echarts/data/Graph.Node} n1\r\n * @param {number|string|module:echarts/data/Graph.Node} n2\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n * @returns {string} key\r\n */\r\n\r\n\r\nvar getKeyOfEdges = function (n1, n2, seriesModel) {\r\n var source = [n1.id, n1.dataIndex].join('.');\r\n var target = [n2.id, n2.dataIndex].join('.');\r\n return [seriesModel.uid, source, target].join(KEY_DELIMITER);\r\n};\r\n/**\r\n * get opposite key\r\n * @param {string} key\r\n * @returns {string}\r\n */\r\n\r\n\r\nvar getOppositeKey = function (key) {\r\n var keys = key.split(KEY_DELIMITER);\r\n return [keys[0], keys[2], keys[1]].join(KEY_DELIMITER);\r\n};\r\n/**\r\n * get edgeMap with key\r\n * @param edge\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n */\r\n\r\n\r\nvar getEdgeFromMap = function (edge, seriesModel) {\r\n var key = getKeyOfEdges(edge.node1, edge.node2, seriesModel);\r\n return seriesModel.__edgeMap[key];\r\n};\r\n/**\r\n * calculate all cases total length\r\n * @param edge\r\n * @param seriesModel\r\n * @returns {number}\r\n */\r\n\r\n\r\nvar getTotalLengthBetweenNodes = function (edge, seriesModel) {\r\n var len = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node1, edge.node2, seriesModel), seriesModel);\r\n var lenV = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node2, edge.node1, seriesModel), seriesModel);\r\n return len + lenV;\r\n};\r\n/**\r\n *\r\n * @param key\r\n */\r\n\r\n\r\nvar getEdgeMapLengthWithKey = function (key, seriesModel) {\r\n var edgeMap = seriesModel.__edgeMap;\r\n return edgeMap[key] ? edgeMap[key].length : 0;\r\n};\r\n/**\r\n * Count the number of edges between the same two points, used to obtain the curvature table and the parity of the edge\r\n * @see /graph/GraphSeries.js@getInitialData\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n */\r\n\r\n\r\nexport function initCurvenessList(seriesModel) {\r\n if (!getAutoCurvenessParams(seriesModel)) {\r\n return;\r\n }\r\n\r\n seriesModel.__curvenessList = [];\r\n seriesModel.__edgeMap = {}; // calc the array of curveness List\r\n\r\n createCurveness(seriesModel);\r\n}\r\n/**\r\n * set edgeMap with key\r\n * @param {number|string|module:echarts/data/Graph.Node} n1\r\n * @param {number|string|module:echarts/data/Graph.Node} n2\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n * @param {number} index\r\n */\r\n\r\nexport function createEdgeMapForCurveness(n1, n2, seriesModel, index) {\r\n if (!getAutoCurvenessParams(seriesModel)) {\r\n return;\r\n }\r\n\r\n var key = getKeyOfEdges(n1, n2, seriesModel);\r\n var edgeMap = seriesModel.__edgeMap;\r\n var oppositeEdges = edgeMap[getOppositeKey(key)]; // set direction\r\n\r\n if (edgeMap[key] && !oppositeEdges) {\r\n edgeMap[key].isForward = true;\r\n } else if (oppositeEdges && edgeMap[key]) {\r\n oppositeEdges.isForward = true;\r\n edgeMap[key].isForward = false;\r\n }\r\n\r\n edgeMap[key] = edgeMap[key] || [];\r\n edgeMap[key].push(index);\r\n}\r\n/**\r\n * get curvature for edge\r\n * @param edge\r\n * @param {module:echarts/model/SeriesModel} seriesModel\r\n * @param index\r\n */\r\n\r\nexport function getCurvenessForEdge(edge, seriesModel, index, needReverse) {\r\n var autoCurvenessParams = getAutoCurvenessParams(seriesModel);\r\n var isArrayParam = zrUtil.isArray(autoCurvenessParams);\r\n\r\n if (!autoCurvenessParams) {\r\n return null;\r\n }\r\n\r\n var edgeArray = getEdgeFromMap(edge, seriesModel);\r\n\r\n if (!edgeArray) {\r\n return null;\r\n }\r\n\r\n var edgeIndex = -1;\r\n\r\n for (var i = 0; i < edgeArray.length; i++) {\r\n if (edgeArray[i] === index) {\r\n edgeIndex = i;\r\n break;\r\n }\r\n } // if totalLen is Longer createCurveness\r\n\r\n\r\n var totalLen = getTotalLengthBetweenNodes(edge, seriesModel);\r\n createCurveness(seriesModel, totalLen);\r\n edge.lineStyle = edge.lineStyle || {}; // if is opposite edge, must set curvenss to opposite number\r\n\r\n var curKey = getKeyOfEdges(edge.node1, edge.node2, seriesModel);\r\n var curvenessList = seriesModel.__curvenessList; // if pass array no need parity\r\n\r\n var parityCorrection = isArrayParam ? 0 : totalLen % 2 ? 0 : 1;\r\n\r\n if (!edgeArray.isForward) {\r\n // the opposite edge show outside\r\n var oppositeKey = getOppositeKey(curKey);\r\n var len = getEdgeMapLengthWithKey(oppositeKey, seriesModel);\r\n var resValue = curvenessList[edgeIndex + len + parityCorrection]; // isNeedReverse, simple, force type need reverse the curveness in the junction of the forword and the opposite\r\n\r\n if (needReverse) {\r\n // set as array may make the parity handle with the len of opposite\r\n if (isArrayParam) {\r\n if (autoCurvenessParams && autoCurvenessParams[0] === 0) {\r\n return (len + parityCorrection) % 2 ? resValue : -resValue;\r\n } else {\r\n return ((len % 2 ? 0 : 1) + parityCorrection) % 2 ? resValue : -resValue;\r\n }\r\n } else {\r\n return (len + parityCorrection) % 2 ? resValue : -resValue;\r\n }\r\n } else {\r\n return curvenessList[edgeIndex + len + parityCorrection];\r\n }\r\n } else {\r\n return curvenessList[parityCorrection + edgeIndex];\r\n }\r\n}"]},"metadata":{},"sourceType":"module"} |