chunk-vendors-b16c2dec.97e5bd12.js.map 92 KB

1
  1. {"version":3,"file":"js/chunk-vendors-b16c2dec.97e5bd12.js","mappings":"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","sources":["webpack://app/./node_modules/echarts/lib/chart/graph.js","webpack://app/./node_modules/echarts/lib/chart/graph/categoryFilter.js","webpack://app/./node_modules/echarts/lib/chart/graph/categoryVisual.js","webpack://app/./node_modules/echarts/lib/chart/graph/circularLayout.js","webpack://app/./node_modules/echarts/lib/chart/graph/circularLayoutHelper.js","webpack://app/./node_modules/echarts/lib/chart/graph/createView.js","webpack://app/./node_modules/echarts/lib/chart/graph/edgeVisual.js","webpack://app/./node_modules/echarts/lib/chart/graph/forceHelper.js","webpack://app/./node_modules/echarts/lib/chart/graph/forceLayout.js","webpack://app/./node_modules/echarts/lib/chart/graph/graphAction.js","webpack://app/./node_modules/echarts/lib/chart/graph/graphHelper.js","webpack://app/./node_modules/echarts/lib/chart/graph/simpleLayout.js","webpack://app/./node_modules/echarts/lib/chart/graph/simpleLayoutHelper.js","webpack://app/./node_modules/echarts/lib/chart/heatmap.js","webpack://app/./node_modules/echarts/lib/chart/heatmap/HeatmapLayer.js","webpack://app/./node_modules/echarts/lib/chart/heatmap/HeatmapSeries.js","webpack://app/./node_modules/echarts/lib/chart/heatmap/HeatmapView.js"],"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\nvar echarts = require(\"../echarts\");\n\nrequire(\"./graph/GraphSeries\");\n\nrequire(\"./graph/GraphView\");\n\nrequire(\"./graph/graphAction\");\n\nvar categoryFilter = require(\"./graph/categoryFilter\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar categoryVisual = require(\"./graph/categoryVisual\");\n\nvar edgeVisual = require(\"./graph/edgeVisual\");\n\nvar simpleLayout = require(\"./graph/simpleLayout\");\n\nvar circularLayout = require(\"./graph/circularLayout\");\n\nvar forceLayout = require(\"./graph/forceLayout\");\n\nvar createView = require(\"./graph/createView\");\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*/\necharts.registerProcessor(categoryFilter);\necharts.registerVisual(visualSymbol('graph', 'circle', null));\necharts.registerVisual(categoryVisual);\necharts.registerVisual(edgeVisual);\necharts.registerLayout(simpleLayout);\necharts.registerLayout(echarts.PRIORITY.VISUAL.POST_CHART_LAYOUT, circularLayout);\necharts.registerLayout(forceLayout); // Graph view coordinate system\n\necharts.registerCoordinateSystem('graphView', {\n create: createView\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* 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*/\nfunction _default(ecModel) {\n var legendModels = ecModel.findComponents({\n mainType: 'legend'\n });\n\n if (!legendModels || !legendModels.length) {\n return;\n }\n\n ecModel.eachSeriesByType('graph', function (graphSeries) {\n var categoriesData = graphSeries.getCategoriesData();\n var graph = graphSeries.getGraph();\n var data = graph.data;\n var categoryNames = categoriesData.mapArray(categoriesData.getName);\n data.filterSelf(function (idx) {\n var model = data.getItemModel(idx);\n var category = model.getShallow('category');\n\n if (category != null) {\n if (typeof category === 'number') {\n category = categoryNames[category];\n } // If in any legend component the status is not selected.\n\n\n for (var i = 0; i < legendModels.length; i++) {\n if (!legendModels[i].isSelected(category)) {\n return false;\n }\n }\n }\n\n return true;\n });\n }, this);\n}\n\nmodule.exports = _default;","\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* 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*/\nfunction _default(ecModel) {\n var paletteScope = {};\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n var categoriesData = seriesModel.getCategoriesData();\n var data = seriesModel.getData();\n var categoryNameIdxMap = {};\n categoriesData.each(function (idx) {\n var name = categoriesData.getName(idx); // Add prefix to avoid conflict with Object.prototype.\n\n categoryNameIdxMap['ec-' + name] = idx;\n var itemModel = categoriesData.getItemModel(idx);\n var color = itemModel.get('itemStyle.color') || seriesModel.getColorFromPalette(name, paletteScope);\n categoriesData.setItemVisual(idx, 'color', color);\n var itemStyleList = ['opacity', 'symbol', 'symbolSize', 'symbolKeepAspect'];\n\n for (var i = 0; i < itemStyleList.length; i++) {\n var itemStyle = itemModel.getShallow(itemStyleList[i], true);\n\n if (itemStyle != null) {\n categoriesData.setItemVisual(idx, itemStyleList[i], itemStyle);\n }\n }\n }); // Assign category color to visual\n\n if (categoriesData.count()) {\n data.each(function (idx) {\n var model = data.getItemModel(idx);\n var category = model.getShallow('category');\n\n if (category != null) {\n if (typeof category === 'string') {\n category = categoryNameIdxMap['ec-' + category];\n }\n\n var itemStyleList = ['color', 'opacity', 'symbol', 'symbolSize', 'symbolKeepAspect'];\n\n for (var i = 0; i < itemStyleList.length; i++) {\n if (data.getItemVisual(idx, itemStyleList[i], true) == null) {\n data.setItemVisual(idx, itemStyleList[i], categoriesData.getItemVisual(category, itemStyleList[i]));\n }\n }\n }\n });\n }\n });\n}\n\nmodule.exports = _default;","\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\nvar _circularLayoutHelper = require(\"./circularLayoutHelper\");\n\nvar circularLayout = _circularLayoutHelper.circularLayout;\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*/\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n if (seriesModel.get('layout') === 'circular') {\n circularLayout(seriesModel, 'symbolSize');\n }\n });\n}\n\nmodule.exports = _default;","\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\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar _graphHelper = require(\"./graphHelper\");\n\nvar getSymbolSize = _graphHelper.getSymbolSize;\nvar getNodeGlobalScale = _graphHelper.getNodeGlobalScale;\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*/\nvar PI = Math.PI;\nvar _symbolRadiansHalf = [];\n/**\n * `basedOn` can be:\n * 'value':\n * This layout is not accurate and have same bad case. For example,\n * if the min value is very smaller than the max value, the nodes\n * with the min value probably overlap even though there is enough\n * space to layout them. So we only use this approach in the as the\n * init layout of the force layout.\n * FIXME\n * Probably we do not need this method any more but use\n * `basedOn: 'symbolSize'` in force layout if\n * delay its init operations to GraphView.\n * 'symbolSize':\n * This approach work only if all of the symbol size calculated.\n * That is, the progressive rendering is not applied to graph.\n * FIXME\n * If progressive rendering is applied to graph some day,\n * probably we have to use `basedOn: 'value'`.\n *\n * @param {module:echarts/src/model/Series} seriesModel\n * @param {string} basedOn 'value' or 'symbolSize'\n */\n\nfunction circularLayout(seriesModel, basedOn) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.type !== 'view') {\n return;\n }\n\n var rect = coordSys.getBoundingRect();\n var nodeData = seriesModel.getData();\n var graph = nodeData.graph;\n var cx = rect.width / 2 + rect.x;\n var cy = rect.height / 2 + rect.y;\n var r = Math.min(rect.width, rect.height) / 2;\n var count = nodeData.count();\n nodeData.setLayout({\n cx: cx,\n cy: cy\n });\n\n if (!count) {\n return;\n }\n\n _layoutNodesBasedOn[basedOn](seriesModel, coordSys, graph, nodeData, r, cx, cy, count);\n\n graph.eachEdge(function (edge) {\n var curveness = edge.getModel().get('lineStyle.curveness') || 0;\n var p1 = vec2.clone(edge.node1.getLayout());\n var p2 = vec2.clone(edge.node2.getLayout());\n var cp1;\n var x12 = (p1[0] + p2[0]) / 2;\n var y12 = (p1[1] + p2[1]) / 2;\n\n if (+curveness) {\n curveness *= 3;\n cp1 = [cx * curveness + x12 * (1 - curveness), cy * curveness + y12 * (1 - curveness)];\n }\n\n edge.setLayout([p1, p2, cp1]);\n });\n}\n\nvar _layoutNodesBasedOn = {\n value: function (seriesModel, coordSys, graph, nodeData, r, cx, cy, count) {\n var angle = 0;\n var sum = nodeData.getSum('value');\n var unitAngle = Math.PI * 2 / (sum || count);\n graph.eachNode(function (node) {\n var value = node.getValue('value');\n var radianHalf = unitAngle * (sum ? value : 1) / 2;\n angle += radianHalf;\n node.setLayout([r * Math.cos(angle) + cx, r * Math.sin(angle) + cy]);\n angle += radianHalf;\n });\n },\n symbolSize: function (seriesModel, coordSys, graph, nodeData, r, cx, cy, count) {\n var sumRadian = 0;\n _symbolRadiansHalf.length = count;\n var nodeScale = getNodeGlobalScale(seriesModel);\n graph.eachNode(function (node) {\n var symbolSize = getSymbolSize(node); // Normally this case will not happen, but we still add\n // some the defensive code (2px is an arbitrary value).\n\n isNaN(symbolSize) && (symbolSize = 2);\n symbolSize < 0 && (symbolSize = 0);\n symbolSize *= nodeScale;\n var symbolRadianHalf = Math.asin(symbolSize / 2 / r); // when `symbolSize / 2` is bigger than `r`.\n\n isNaN(symbolRadianHalf) && (symbolRadianHalf = PI / 2);\n _symbolRadiansHalf[node.dataIndex] = symbolRadianHalf;\n sumRadian += symbolRadianHalf * 2;\n });\n var halfRemainRadian = (2 * PI - sumRadian) / count / 2;\n var angle = 0;\n graph.eachNode(function (node) {\n var radianHalf = halfRemainRadian + _symbolRadiansHalf[node.dataIndex];\n angle += radianHalf;\n node.setLayout([r * Math.cos(angle) + cx, r * Math.sin(angle) + cy]);\n angle += radianHalf;\n });\n }\n};\nexports.circularLayout = circularLayout;","\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\nvar View = require(\"../../coord/View\");\n\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\n\nvar bbox = require(\"zrender/lib/core/bbox\");\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// FIXME Where to create the simple view coordinate system\nfunction getViewRect(seriesModel, api, aspect) {\n var option = seriesModel.getBoxLayoutParams();\n option.aspect = aspect;\n return getLayoutRect(option, {\n width: api.getWidth(),\n height: api.getHeight()\n });\n}\n\nfunction _default(ecModel, api) {\n var viewList = [];\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n var coordSysType = seriesModel.get('coordinateSystem');\n\n if (!coordSysType || coordSysType === 'view') {\n var data = seriesModel.getData();\n var positions = data.mapArray(function (idx) {\n var itemModel = data.getItemModel(idx);\n return [+itemModel.get('x'), +itemModel.get('y')];\n });\n var min = [];\n var max = [];\n bbox.fromPoints(positions, min, max); // If width or height is 0\n\n if (max[0] - min[0] === 0) {\n max[0] += 1;\n min[0] -= 1;\n }\n\n if (max[1] - min[1] === 0) {\n max[1] += 1;\n min[1] -= 1;\n }\n\n var aspect = (max[0] - min[0]) / (max[1] - min[1]); // FIXME If get view rect after data processed?\n\n var viewRect = getViewRect(seriesModel, api, aspect); // Position may be NaN, use view rect instead\n\n if (isNaN(aspect)) {\n min = [viewRect.x, viewRect.y];\n max = [viewRect.x + viewRect.width, viewRect.y + viewRect.height];\n }\n\n var bbWidth = max[0] - min[0];\n var bbHeight = max[1] - min[1];\n var viewWidth = viewRect.width;\n var viewHeight = viewRect.height;\n var viewCoordSys = seriesModel.coordinateSystem = new View();\n viewCoordSys.zoomLimit = seriesModel.get('scaleLimit');\n viewCoordSys.setBoundingRect(min[0], min[1], bbWidth, bbHeight);\n viewCoordSys.setViewRect(viewRect.x, viewRect.y, viewWidth, viewHeight); // Update roam info\n\n viewCoordSys.setCenter(seriesModel.get('center'));\n viewCoordSys.setZoom(seriesModel.get('zoom'));\n viewList.push(viewCoordSys);\n }\n });\n return viewList;\n}\n\nmodule.exports = _default;","\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* 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*/\nfunction normalize(a) {\n if (!(a instanceof Array)) {\n a = [a, a];\n }\n\n return a;\n}\n\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n var graph = seriesModel.getGraph();\n var edgeData = seriesModel.getEdgeData();\n var symbolType = normalize(seriesModel.get('edgeSymbol'));\n var symbolSize = normalize(seriesModel.get('edgeSymbolSize'));\n var colorQuery = 'lineStyle.color'.split('.');\n var opacityQuery = 'lineStyle.opacity'.split('.');\n edgeData.setVisual('fromSymbol', symbolType && symbolType[0]);\n edgeData.setVisual('toSymbol', symbolType && symbolType[1]);\n edgeData.setVisual('fromSymbolSize', symbolSize && symbolSize[0]);\n edgeData.setVisual('toSymbolSize', symbolSize && symbolSize[1]);\n edgeData.setVisual('color', seriesModel.get(colorQuery));\n edgeData.setVisual('opacity', seriesModel.get(opacityQuery));\n edgeData.each(function (idx) {\n var itemModel = edgeData.getItemModel(idx);\n var edge = graph.getEdgeByIndex(idx);\n var symbolType = normalize(itemModel.getShallow('symbol', true));\n var symbolSize = normalize(itemModel.getShallow('symbolSize', true)); // Edge visual must after node visual\n\n var color = itemModel.get(colorQuery);\n var opacity = itemModel.get(opacityQuery);\n\n switch (color) {\n case 'source':\n color = edge.node1.getVisual('color');\n break;\n\n case 'target':\n color = edge.node2.getVisual('color');\n break;\n }\n\n symbolType[0] && edge.setVisual('fromSymbol', symbolType[0]);\n symbolType[1] && edge.setVisual('toSymbol', symbolType[1]);\n symbolSize[0] && edge.setVisual('fromSymbolSize', symbolSize[0]);\n symbolSize[1] && edge.setVisual('toSymbolSize', symbolSize[1]);\n edge.setVisual('color', color);\n edge.setVisual('opacity', opacity);\n });\n });\n}\n\nmodule.exports = _default;","\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\nvar vec2 = require(\"zrender/lib/core/vector\");\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* A third-party license is embeded for some of the code in this file:\n* Some formulas were originally copied from \"d3.js\" with some\n* modifications made for this project.\n* (See more details in the comment of the method \"step\" below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\n* </licenses/LICENSE-d3>).\n*/\nvar scaleAndAdd = vec2.scaleAndAdd; // function adjacentNode(n, e) {\n// return e.n1 === n ? e.n2 : e.n1;\n// }\n\nfunction forceLayout(nodes, edges, opts) {\n var rect = opts.rect;\n var width = rect.width;\n var height = rect.height;\n var center = [rect.x + width / 2, rect.y + height / 2]; // var scale = opts.scale || 1;\n\n var gravity = opts.gravity == null ? 0.1 : opts.gravity; // for (var i = 0; i < edges.length; i++) {\n // var e = edges[i];\n // var n1 = e.n1;\n // var n2 = e.n2;\n // n1.edges = n1.edges || [];\n // n2.edges = n2.edges || [];\n // n1.edges.push(e);\n // n2.edges.push(e);\n // }\n // Init position\n\n for (var i = 0; i < nodes.length; i++) {\n var n = nodes[i];\n\n if (!n.p) {\n n.p = vec2.create(width * (Math.random() - 0.5) + center[0], height * (Math.random() - 0.5) + center[1]);\n }\n\n n.pp = vec2.clone(n.p);\n n.edges = null;\n } // Formula in 'Graph Drawing by Force-directed Placement'\n // var k = scale * Math.sqrt(width * height / nodes.length);\n // var k2 = k * k;\n\n\n var initialFriction = opts.friction == null ? 0.6 : opts.friction;\n var friction = initialFriction;\n return {\n warmUp: function () {\n friction = initialFriction * 0.8;\n },\n setFixed: function (idx) {\n nodes[idx].fixed = true;\n },\n setUnfixed: function (idx) {\n nodes[idx].fixed = false;\n },\n\n /**\n * Some formulas were originally copied from \"d3.js\"\n * https://github.com/d3/d3/blob/b516d77fb8566b576088e73410437494717ada26/src/layout/force.js\n * with some modifications made for this project.\n * See the license statement at the head of this file.\n */\n step: function (cb) {\n var v12 = [];\n var nLen = nodes.length;\n\n for (var i = 0; i < edges.length; i++) {\n var e = edges[i];\n\n if (e.ignoreForceLayout) {\n continue;\n }\n\n var n1 = e.n1;\n var n2 = e.n2;\n vec2.sub(v12, n2.p, n1.p);\n var d = vec2.len(v12) - e.d;\n var w = n2.w / (n1.w + n2.w);\n\n if (isNaN(w)) {\n w = 0;\n }\n\n vec2.normalize(v12, v12);\n !n1.fixed && scaleAndAdd(n1.p, n1.p, v12, w * d * friction);\n !n2.fixed && scaleAndAdd(n2.p, n2.p, v12, -(1 - w) * d * friction);\n } // Gravity\n\n\n for (var i = 0; i < nLen; i++) {\n var n = nodes[i];\n\n if (!n.fixed) {\n vec2.sub(v12, center, n.p); // var d = vec2.len(v12);\n // vec2.scale(v12, v12, 1 / d);\n // var gravityFactor = gravity;\n\n scaleAndAdd(n.p, n.p, v12, gravity * friction);\n }\n } // Repulsive\n // PENDING\n\n\n for (var i = 0; i < nLen; i++) {\n var n1 = nodes[i];\n\n for (var j = i + 1; j < nLen; j++) {\n var n2 = nodes[j];\n vec2.sub(v12, n2.p, n1.p);\n var d = vec2.len(v12);\n\n if (d === 0) {\n // Random repulse\n vec2.set(v12, Math.random() - 0.5, Math.random() - 0.5);\n d = 1;\n }\n\n var repFact = (n1.rep + n2.rep) / d / d;\n !n1.fixed && scaleAndAdd(n1.pp, n1.pp, v12, repFact);\n !n2.fixed && scaleAndAdd(n2.pp, n2.pp, v12, -repFact);\n }\n }\n\n var v = [];\n\n for (var i = 0; i < nLen; i++) {\n var n = nodes[i];\n\n if (!n.fixed) {\n vec2.sub(v, n.p, n.pp);\n scaleAndAdd(n.p, n.p, v, friction);\n vec2.copy(n.pp, n.p);\n }\n }\n\n friction = friction * 0.992;\n cb && cb(nodes, edges, friction < 0.01);\n }\n };\n}\n\nexports.forceLayout = forceLayout;","\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\nvar _forceHelper = require(\"./forceHelper\");\n\nvar forceLayout = _forceHelper.forceLayout;\n\nvar _simpleLayoutHelper = require(\"./simpleLayoutHelper\");\n\nvar simpleLayout = _simpleLayoutHelper.simpleLayout;\n\nvar _circularLayoutHelper = require(\"./circularLayoutHelper\");\n\nvar circularLayout = _circularLayoutHelper.circularLayout;\n\nvar _number = require(\"../../util/number\");\n\nvar linearMap = _number.linearMap;\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('graph', function (graphSeries) {\n var coordSys = graphSeries.coordinateSystem;\n\n if (coordSys && coordSys.type !== 'view') {\n return;\n }\n\n if (graphSeries.get('layout') === 'force') {\n var preservedPoints = graphSeries.preservedPoints || {};\n var graph = graphSeries.getGraph();\n var nodeData = graph.data;\n var edgeData = graph.edgeData;\n var forceModel = graphSeries.getModel('force');\n var initLayout = forceModel.get('initLayout');\n\n if (graphSeries.preservedPoints) {\n nodeData.each(function (idx) {\n var id = nodeData.getId(idx);\n nodeData.setItemLayout(idx, preservedPoints[id] || [NaN, NaN]);\n });\n } else if (!initLayout || initLayout === 'none') {\n simpleLayout(graphSeries);\n } else if (initLayout === 'circular') {\n circularLayout(graphSeries, 'value');\n }\n\n var nodeDataExtent = nodeData.getDataExtent('value');\n var edgeDataExtent = edgeData.getDataExtent('value'); // var edgeDataExtent = edgeData.getDataExtent('value');\n\n var repulsion = forceModel.get('repulsion');\n var edgeLength = forceModel.get('edgeLength');\n\n if (!zrUtil.isArray(repulsion)) {\n repulsion = [repulsion, repulsion];\n }\n\n if (!zrUtil.isArray(edgeLength)) {\n edgeLength = [edgeLength, edgeLength];\n } // Larger value has smaller length\n\n\n edgeLength = [edgeLength[1], edgeLength[0]];\n var nodes = nodeData.mapArray('value', function (value, idx) {\n var point = nodeData.getItemLayout(idx);\n var rep = linearMap(value, nodeDataExtent, repulsion);\n\n if (isNaN(rep)) {\n rep = (repulsion[0] + repulsion[1]) / 2;\n }\n\n return {\n w: rep,\n rep: rep,\n fixed: nodeData.getItemModel(idx).get('fixed'),\n p: !point || isNaN(point[0]) || isNaN(point[1]) ? null : point\n };\n });\n var edges = edgeData.mapArray('value', function (value, idx) {\n var edge = graph.getEdgeByIndex(idx);\n var d = linearMap(value, edgeDataExtent, edgeLength);\n\n if (isNaN(d)) {\n d = (edgeLength[0] + edgeLength[1]) / 2;\n }\n\n var edgeModel = edge.getModel();\n return {\n n1: nodes[edge.node1.dataIndex],\n n2: nodes[edge.node2.dataIndex],\n d: d,\n curveness: edgeModel.get('lineStyle.curveness') || 0,\n ignoreForceLayout: edgeModel.get('ignoreForceLayout')\n };\n });\n var coordSys = graphSeries.coordinateSystem;\n var rect = coordSys.getBoundingRect();\n var forceInstance = forceLayout(nodes, edges, {\n rect: rect,\n gravity: forceModel.get('gravity'),\n friction: forceModel.get('friction')\n });\n var oldStep = forceInstance.step;\n\n forceInstance.step = function (cb) {\n for (var i = 0, l = nodes.length; i < l; i++) {\n if (nodes[i].fixed) {\n // Write back to layout instance\n vec2.copy(nodes[i].p, graph.getNodeByIndex(i).getLayout());\n }\n }\n\n oldStep(function (nodes, edges, stopped) {\n for (var i = 0, l = nodes.length; i < l; i++) {\n if (!nodes[i].fixed) {\n graph.getNodeByIndex(i).setLayout(nodes[i].p);\n }\n\n preservedPoints[nodeData.getId(i)] = nodes[i].p;\n }\n\n for (var i = 0, l = edges.length; i < l; i++) {\n var e = edges[i];\n var edge = graph.getEdgeByIndex(i);\n var p1 = e.n1.p;\n var p2 = e.n2.p;\n var points = edge.getLayout();\n points = points ? points.slice() : [];\n points[0] = points[0] || [];\n points[1] = points[1] || [];\n vec2.copy(points[0], p1);\n vec2.copy(points[1], p2);\n\n if (+e.curveness) {\n points[2] = [(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * e.curveness, (p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * e.curveness];\n }\n\n edge.setLayout(points);\n } // Update layout\n\n\n cb && cb(stopped);\n });\n };\n\n graphSeries.forceLayout = forceInstance;\n graphSeries.preservedPoints = preservedPoints; // Step to get the layout\n\n forceInstance.step();\n } else {\n // Remove prev injected forceLayout instance\n graphSeries.forceLayout = null;\n }\n });\n}\n\nmodule.exports = _default;","\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\nvar echarts = require(\"../../echarts\");\n\nvar _roamHelper = require(\"../../action/roamHelper\");\n\nvar updateCenterAndZoom = _roamHelper.updateCenterAndZoom;\n\nrequire(\"../helper/focusNodeAdjacencyAction\");\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*/\nvar actionInfo = {\n type: 'graphRoam',\n event: 'graphRoam',\n update: 'none'\n};\n/**\n * @payload\n * @property {string} name Series name\n * @property {number} [dx]\n * @property {number} [dy]\n * @property {number} [zoom]\n * @property {number} [originX]\n * @property {number} [originY]\n */\n\necharts.registerAction(actionInfo, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n query: payload\n }, function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var res = updateCenterAndZoom(coordSys, payload);\n seriesModel.setCenter && seriesModel.setCenter(res.center);\n seriesModel.setZoom && seriesModel.setZoom(res.zoom);\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*/\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*/\nfunction getNodeGlobalScale(seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys.type !== 'view') {\n return 1;\n }\n\n var nodeScaleRatio = seriesModel.option.nodeScaleRatio;\n var groupScale = coordSys.scale;\n var groupZoom = groupScale && groupScale[0] || 1; // Scale node when zoom changes\n\n var roamZoom = coordSys.getZoom();\n var nodeScale = (roamZoom - 1) * nodeScaleRatio + 1;\n return nodeScale / groupZoom;\n}\n\nfunction getSymbolSize(node) {\n var symbolSize = node.getVisual('symbolSize');\n\n if (symbolSize instanceof Array) {\n symbolSize = (symbolSize[0] + symbolSize[1]) / 2;\n }\n\n return +symbolSize;\n}\n\nexports.getNodeGlobalScale = getNodeGlobalScale;\nexports.getSymbolSize = getSymbolSize;","\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\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\n\nvar _simpleLayoutHelper = require(\"./simpleLayoutHelper\");\n\nvar simpleLayout = _simpleLayoutHelper.simpleLayout;\nvar simpleLayoutEdge = _simpleLayoutHelper.simpleLayoutEdge;\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*/\nfunction _default(ecModel, api) {\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n var layout = seriesModel.get('layout');\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.type !== 'view') {\n var data = seriesModel.getData();\n var dimensions = [];\n each(coordSys.dimensions, function (coordDim) {\n dimensions = dimensions.concat(data.mapDimension(coordDim, true));\n });\n\n for (var dataIndex = 0; dataIndex < data.count(); dataIndex++) {\n var value = [];\n var hasValue = false;\n\n for (var i = 0; i < dimensions.length; i++) {\n var val = data.get(dimensions[i], dataIndex);\n\n if (!isNaN(val)) {\n hasValue = true;\n }\n\n value.push(val);\n }\n\n if (hasValue) {\n data.setItemLayout(dataIndex, coordSys.dataToPoint(value));\n } else {\n // Also {Array.<number>}, not undefined to avoid if...else... statement\n data.setItemLayout(dataIndex, [NaN, NaN]);\n }\n }\n\n simpleLayoutEdge(data.graph);\n } else if (!layout || layout === 'none') {\n simpleLayout(seriesModel);\n }\n });\n}\n\nmodule.exports = _default;","\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\nvar vec2 = require(\"zrender/lib/core/vector\");\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*/\nfunction simpleLayout(seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.type !== 'view') {\n return;\n }\n\n var graph = seriesModel.getGraph();\n graph.eachNode(function (node) {\n var model = node.getModel();\n node.setLayout([+model.get('x'), +model.get('y')]);\n });\n simpleLayoutEdge(graph);\n}\n\nfunction simpleLayoutEdge(graph) {\n graph.eachEdge(function (edge) {\n var curveness = edge.getModel().get('lineStyle.curveness') || 0;\n var p1 = vec2.clone(edge.node1.getLayout());\n var p2 = vec2.clone(edge.node2.getLayout());\n var points = [p1, p2];\n\n if (+curveness) {\n points.push([(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * curveness, (p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * curveness]);\n }\n\n edge.setLayout(points);\n });\n}\n\nexports.simpleLayout = simpleLayout;\nexports.simpleLayoutEdge = simpleLayoutEdge;","\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\nrequire(\"./heatmap/HeatmapSeries\");\n\nrequire(\"./heatmap/HeatmapView\");","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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/* global Uint8ClampedArray */\nvar GRADIENT_LEVELS = 256;\n/**\n * Heatmap Chart\n *\n * @class\n */\n\nfunction Heatmap() {\n var canvas = zrUtil.createCanvas();\n this.canvas = canvas;\n this.blurSize = 30;\n this.pointSize = 20;\n this.maxOpacity = 1;\n this.minOpacity = 0;\n this._gradientPixels = {};\n}\n\nHeatmap.prototype = {\n /**\n * Renders Heatmap and returns the rendered canvas\n * @param {Array} data array of data, each has x, y, value\n * @param {number} width canvas width\n * @param {number} height canvas height\n */\n update: function (data, width, height, normalize, colorFunc, isInRange) {\n var brush = this._getBrush();\n\n var gradientInRange = this._getGradient(data, colorFunc, 'inRange');\n\n var gradientOutOfRange = this._getGradient(data, colorFunc, 'outOfRange');\n\n var r = this.pointSize + this.blurSize;\n var canvas = this.canvas;\n var ctx = canvas.getContext('2d');\n var len = data.length;\n canvas.width = width;\n canvas.height = height;\n\n for (var i = 0; i < len; ++i) {\n var p = data[i];\n var x = p[0];\n var y = p[1];\n var value = p[2]; // calculate alpha using value\n\n var alpha = normalize(value); // draw with the circle brush with alpha\n\n ctx.globalAlpha = alpha;\n ctx.drawImage(brush, x - r, y - r);\n }\n\n if (!canvas.width || !canvas.height) {\n // Avoid \"Uncaught DOMException: Failed to execute 'getImageData' on\n // 'CanvasRenderingContext2D': The source height is 0.\"\n return canvas;\n } // colorize the canvas using alpha value and set with gradient\n\n\n var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);\n var pixels = imageData.data;\n var offset = 0;\n var pixelLen = pixels.length;\n var minOpacity = this.minOpacity;\n var maxOpacity = this.maxOpacity;\n var diffOpacity = maxOpacity - minOpacity;\n\n while (offset < pixelLen) {\n var alpha = pixels[offset + 3] / 256;\n var gradientOffset = Math.floor(alpha * (GRADIENT_LEVELS - 1)) * 4; // Simple optimize to ignore the empty data\n\n if (alpha > 0) {\n var gradient = isInRange(alpha) ? gradientInRange : gradientOutOfRange; // Any alpha > 0 will be mapped to [minOpacity, maxOpacity]\n\n alpha > 0 && (alpha = alpha * diffOpacity + minOpacity);\n pixels[offset++] = gradient[gradientOffset];\n pixels[offset++] = gradient[gradientOffset + 1];\n pixels[offset++] = gradient[gradientOffset + 2];\n pixels[offset++] = gradient[gradientOffset + 3] * alpha * 256;\n } else {\n offset += 4;\n }\n }\n\n ctx.putImageData(imageData, 0, 0);\n return canvas;\n },\n\n /**\n * get canvas of a black circle brush used for canvas to draw later\n * @private\n * @returns {Object} circle brush canvas\n */\n _getBrush: function () {\n var brushCanvas = this._brushCanvas || (this._brushCanvas = zrUtil.createCanvas()); // set brush size\n\n var r = this.pointSize + this.blurSize;\n var d = r * 2;\n brushCanvas.width = d;\n brushCanvas.height = d;\n var ctx = brushCanvas.getContext('2d');\n ctx.clearRect(0, 0, d, d); // in order to render shadow without the distinct circle,\n // draw the distinct circle in an invisible place,\n // and use shadowOffset to draw shadow in the center of the canvas\n\n ctx.shadowOffsetX = d;\n ctx.shadowBlur = this.blurSize; // draw the shadow in black, and use alpha and shadow blur to generate\n // color in color map\n\n ctx.shadowColor = '#000'; // draw circle in the left to the canvas\n\n ctx.beginPath();\n ctx.arc(-r, r, this.pointSize, 0, Math.PI * 2, true);\n ctx.closePath();\n ctx.fill();\n return brushCanvas;\n },\n\n /**\n * get gradient color map\n * @private\n */\n _getGradient: function (data, colorFunc, state) {\n var gradientPixels = this._gradientPixels;\n var pixelsSingleState = gradientPixels[state] || (gradientPixels[state] = new Uint8ClampedArray(256 * 4));\n var color = [0, 0, 0, 0];\n var off = 0;\n\n for (var i = 0; i < 256; i++) {\n colorFunc[state](i / 255, true, color);\n pixelsSingleState[off++] = color[0];\n pixelsSingleState[off++] = color[1];\n pixelsSingleState[off++] = color[2];\n pixelsSingleState[off++] = color[3];\n }\n\n return pixelsSingleState;\n }\n};\nvar _default = Heatmap;\nmodule.exports = _default;","\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\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createListFromArray = require(\"../helper/createListFromArray\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\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*/\nvar _default = SeriesModel.extend({\n type: 'series.heatmap',\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this, {\n generateCoord: 'value'\n });\n },\n preventIncremental: function () {\n var coordSysCreator = CoordinateSystem.get(this.get('coordinateSystem'));\n\n if (coordSysCreator && coordSysCreator.dimensions) {\n return coordSysCreator.dimensions[0] === 'lng' && coordSysCreator.dimensions[1] === 'lat';\n }\n },\n defaultOption: {\n // Cartesian2D or geo\n coordinateSystem: 'cartesian2d',\n zlevel: 0,\n z: 2,\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // Geo coordinate system\n geoIndex: 0,\n blurSize: 30,\n pointSize: 20,\n maxOpacity: 1,\n minOpacity: 0\n }\n});\n\nmodule.exports = _default;","\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\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar HeatmapLayer = require(\"./HeatmapLayer\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nfunction getIsInPiecewiseRange(dataExtent, pieceList, selected) {\n var dataSpan = dataExtent[1] - dataExtent[0];\n pieceList = zrUtil.map(pieceList, function (piece) {\n return {\n interval: [(piece.interval[0] - dataExtent[0]) / dataSpan, (piece.interval[1] - dataExtent[0]) / dataSpan]\n };\n });\n var len = pieceList.length;\n var lastIndex = 0;\n return function (val) {\n // Try to find in the location of the last found\n for (var i = lastIndex; i < len; i++) {\n var interval = pieceList[i].interval;\n\n if (interval[0] <= val && val <= interval[1]) {\n lastIndex = i;\n break;\n }\n }\n\n if (i === len) {\n // Not found, back interation\n for (var i = lastIndex - 1; i >= 0; i--) {\n var interval = pieceList[i].interval;\n\n if (interval[0] <= val && val <= interval[1]) {\n lastIndex = i;\n break;\n }\n }\n }\n\n return i >= 0 && i < len && selected[i];\n };\n}\n\nfunction getIsInContinuousRange(dataExtent, range) {\n var dataSpan = dataExtent[1] - dataExtent[0];\n range = [(range[0] - dataExtent[0]) / dataSpan, (range[1] - dataExtent[0]) / dataSpan];\n return function (val) {\n return val >= range[0] && val <= range[1];\n };\n}\n\nfunction isGeoCoordSys(coordSys) {\n var dimensions = coordSys.dimensions; // Not use coorSys.type === 'geo' because coordSys maybe extended\n\n return dimensions[0] === 'lng' && dimensions[1] === 'lat';\n}\n\nvar _default = echarts.extendChartView({\n type: 'heatmap',\n render: function (seriesModel, ecModel, api) {\n var visualMapOfThisSeries;\n ecModel.eachComponent('visualMap', function (visualMap) {\n visualMap.eachTargetSeries(function (targetSeries) {\n if (targetSeries === seriesModel) {\n visualMapOfThisSeries = visualMap;\n }\n });\n });\n this.group.removeAll();\n this._incrementalDisplayable = null;\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys.type === 'cartesian2d' || coordSys.type === 'calendar') {\n this._renderOnCartesianAndCalendar(seriesModel, api, 0, seriesModel.getData().count());\n } else if (isGeoCoordSys(coordSys)) {\n this._renderOnGeo(coordSys, seriesModel, visualMapOfThisSeries, api);\n }\n },\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this.group.removeAll();\n },\n incrementalRender: function (params, seriesModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys) {\n this._renderOnCartesianAndCalendar(seriesModel, api, params.start, params.end, true);\n }\n },\n _renderOnCartesianAndCalendar: function (seriesModel, api, start, end, incremental) {\n var coordSys = seriesModel.coordinateSystem;\n var width;\n var height;\n\n if (coordSys.type === 'cartesian2d') {\n var xAxis = coordSys.getAxis('x');\n var yAxis = coordSys.getAxis('y');\n width = xAxis.getBandWidth();\n height = yAxis.getBandWidth();\n }\n\n var group = this.group;\n var data = seriesModel.getData();\n var itemStyleQuery = 'itemStyle';\n var hoverItemStyleQuery = 'emphasis.itemStyle';\n var labelQuery = 'label';\n var hoverLabelQuery = 'emphasis.label';\n var style = seriesModel.getModel(itemStyleQuery).getItemStyle(['color']);\n var hoverStl = seriesModel.getModel(hoverItemStyleQuery).getItemStyle();\n var labelModel = seriesModel.getModel(labelQuery);\n var hoverLabelModel = seriesModel.getModel(hoverLabelQuery);\n var coordSysType = coordSys.type;\n var dataDims = coordSysType === 'cartesian2d' ? [data.mapDimension('x'), data.mapDimension('y'), data.mapDimension('value')] : [data.mapDimension('time'), data.mapDimension('value')];\n\n for (var idx = start; idx < end; idx++) {\n var rect;\n\n if (coordSysType === 'cartesian2d') {\n // Ignore empty data\n if (isNaN(data.get(dataDims[2], idx))) {\n continue;\n }\n\n var point = coordSys.dataToPoint([data.get(dataDims[0], idx), data.get(dataDims[1], idx)]);\n rect = new graphic.Rect({\n shape: {\n x: Math.floor(Math.round(point[0]) - width / 2),\n y: Math.floor(Math.round(point[1]) - height / 2),\n width: Math.ceil(width),\n height: Math.ceil(height)\n },\n style: {\n fill: data.getItemVisual(idx, 'color'),\n opacity: data.getItemVisual(idx, 'opacity')\n }\n });\n } else {\n // Ignore empty data\n if (isNaN(data.get(dataDims[1], idx))) {\n continue;\n }\n\n rect = new graphic.Rect({\n z2: 1,\n shape: coordSys.dataToRect([data.get(dataDims[0], idx)]).contentShape,\n style: {\n fill: data.getItemVisual(idx, 'color'),\n opacity: data.getItemVisual(idx, 'opacity')\n }\n });\n }\n\n var itemModel = data.getItemModel(idx); // Optimization for large datset\n\n if (data.hasItemOption) {\n style = itemModel.getModel(itemStyleQuery).getItemStyle(['color']);\n hoverStl = itemModel.getModel(hoverItemStyleQuery).getItemStyle();\n labelModel = itemModel.getModel(labelQuery);\n hoverLabelModel = itemModel.getModel(hoverLabelQuery);\n }\n\n var rawValue = seriesModel.getRawValue(idx);\n var defaultText = '-';\n\n if (rawValue && rawValue[2] != null) {\n defaultText = rawValue[2];\n }\n\n graphic.setLabelStyle(style, hoverStl, labelModel, hoverLabelModel, {\n labelFetcher: seriesModel,\n labelDataIndex: idx,\n defaultText: defaultText,\n isRectText: true\n });\n rect.setStyle(style);\n graphic.setHoverStyle(rect, data.hasItemOption ? hoverStl : zrUtil.extend({}, hoverStl));\n rect.incremental = incremental; // PENDING\n\n if (incremental) {\n // Rect must use hover layer if it's incremental.\n rect.useHoverLayer = true;\n }\n\n group.add(rect);\n data.setItemGraphicEl(idx, rect);\n }\n },\n _renderOnGeo: function (geo, seriesModel, visualMapModel, api) {\n var inRangeVisuals = visualMapModel.targetVisuals.inRange;\n var outOfRangeVisuals = visualMapModel.targetVisuals.outOfRange; // if (!visualMapping) {\n // throw new Error('Data range must have color visuals');\n // }\n\n var data = seriesModel.getData();\n var hmLayer = this._hmLayer || this._hmLayer || new HeatmapLayer();\n hmLayer.blurSize = seriesModel.get('blurSize');\n hmLayer.pointSize = seriesModel.get('pointSize');\n hmLayer.minOpacity = seriesModel.get('minOpacity');\n hmLayer.maxOpacity = seriesModel.get('maxOpacity');\n var rect = geo.getViewRect().clone();\n var roamTransform = geo.getRoamTransform();\n rect.applyTransform(roamTransform); // Clamp on viewport\n\n var x = Math.max(rect.x, 0);\n var y = Math.max(rect.y, 0);\n var x2 = Math.min(rect.width + rect.x, api.getWidth());\n var y2 = Math.min(rect.height + rect.y, api.getHeight());\n var width = x2 - x;\n var height = y2 - y;\n var dims = [data.mapDimension('lng'), data.mapDimension('lat'), data.mapDimension('value')];\n var points = data.mapArray(dims, function (lng, lat, value) {\n var pt = geo.dataToPoint([lng, lat]);\n pt[0] -= x;\n pt[1] -= y;\n pt.push(value);\n return pt;\n });\n var dataExtent = visualMapModel.getExtent();\n var isInRange = visualMapModel.type === 'visualMap.continuous' ? getIsInContinuousRange(dataExtent, visualMapModel.option.range) : getIsInPiecewiseRange(dataExtent, visualMapModel.getPieceList(), visualMapModel.option.selected);\n hmLayer.update(points, width, height, inRangeVisuals.color.getNormalizer(), {\n inRange: inRangeVisuals.color.getColorMapper(),\n outOfRange: outOfRangeVisuals.color.getColorMapper()\n }, isInRange);\n var img = new graphic.Image({\n style: {\n width: width,\n height: height,\n x: x,\n y: y,\n image: hmLayer.canvas\n },\n silent: true\n });\n this.group.add(img);\n },\n dispose: function () {}\n});\n\nmodule.exports = _default;"],"names":["echarts","categoryFilter","visualSymbol","categoryVisual","edgeVisual","simpleLayout","circularLayout","forceLayout","createView","registerProcessor","registerVisual","registerLayout","PRIORITY","VISUAL","POST_CHART_LAYOUT","registerCoordinateSystem","create","_default","ecModel","legendModels","findComponents","mainType","length","eachSeriesByType","graphSeries","categoriesData","getCategoriesData","graph","getGraph","data","categoryNames","mapArray","getName","filterSelf","idx","model","getItemModel","category","getShallow","i","isSelected","this","module","exports","paletteScope","seriesModel","getData","categoryNameIdxMap","each","name","itemModel","color","get","getColorFromPalette","setItemVisual","itemStyleList","itemStyle","count","getItemVisual","_circularLayoutHelper","vec2","_graphHelper","getSymbolSize","getNodeGlobalScale","PI","Math","_symbolRadiansHalf","basedOn","coordSys","coordinateSystem","type","rect","getBoundingRect","nodeData","cx","width","x","cy","height","y","r","min","setLayout","_layoutNodesBasedOn","eachEdge","edge","cp1","curveness","getModel","p1","clone","node1","getLayout","p2","node2","x12","y12","value","angle","sum","getSum","unitAngle","eachNode","node","getValue","radianHalf","cos","sin","symbolSize","sumRadian","nodeScale","isNaN","symbolRadianHalf","asin","dataIndex","halfRemainRadian","View","_layout","getLayoutRect","bbox","getViewRect","api","aspect","option","getBoxLayoutParams","getWidth","getHeight","viewList","coordSysType","positions","max","fromPoints","viewRect","bbWidth","bbHeight","viewWidth","viewHeight","viewCoordSys","zoomLimit","setBoundingRect","setViewRect","setCenter","setZoom","push","normalize","a","Array","edgeData","getEdgeData","symbolType","colorQuery","split","opacityQuery","setVisual","getEdgeByIndex","opacity","getVisual","scaleAndAdd","nodes","edges","opts","center","gravity","n","p","random","pp","initialFriction","friction","warmUp","setFixed","fixed","setUnfixed","step","cb","v12","nLen","e","ignoreForceLayout","n1","n2","sub","d","len","w","j","set","repFact","rep","v","copy","_forceHelper","_simpleLayoutHelper","_number","linearMap","zrUtil","preservedPoints","forceModel","initLayout","id","getId","setItemLayout","NaN","nodeDataExtent","getDataExtent","edgeDataExtent","repulsion","edgeLength","isArray","point","getItemLayout","edgeModel","forceInstance","oldStep","l","getNodeByIndex","stopped","points","slice","_roamHelper","updateCenterAndZoom","actionInfo","event","update","registerAction","payload","eachComponent","query","res","zoom","nodeScaleRatio","groupScale","scale","groupZoom","roamZoom","getZoom","_util","simpleLayoutEdge","layout","dimensions","coordDim","concat","mapDimension","hasValue","val","dataToPoint","GRADIENT_LEVELS","Heatmap","canvas","createCanvas","blurSize","pointSize","maxOpacity","minOpacity","_gradientPixels","prototype","colorFunc","isInRange","brush","_getBrush","gradientInRange","_getGradient","gradientOutOfRange","ctx","getContext","alpha","globalAlpha","drawImage","imageData","getImageData","pixels","offset","pixelLen","diffOpacity","gradientOffset","floor","gradient","putImageData","brushCanvas","_brushCanvas","clearRect","shadowOffsetX","shadowBlur","shadowColor","beginPath","arc","closePath","fill","state","gradientPixels","pixelsSingleState","Uint8ClampedArray","off","SeriesModel","createListFromArray","CoordinateSystem","extend","getInitialData","getSource","generateCoord","preventIncremental","coordSysCreator","defaultOption","zlevel","z","geoIndex","_config","__DEV__","graphic","HeatmapLayer","getIsInPiecewiseRange","dataExtent","pieceList","selected","dataSpan","map","piece","interval","lastIndex","getIsInContinuousRange","range","isGeoCoordSys","extendChartView","render","visualMapOfThisSeries","visualMap","eachTargetSeries","targetSeries","group","removeAll","_incrementalDisplayable","_renderOnCartesianAndCalendar","_renderOnGeo","incrementalPrepareRender","incrementalRender","params","start","end","incremental","xAxis","getAxis","yAxis","getBandWidth","itemStyleQuery","hoverItemStyleQuery","labelQuery","hoverLabelQuery","style","getItemStyle","hoverStl","labelModel","hoverLabelModel","dataDims","Rect","shape","round","ceil","z2","dataToRect","contentShape","hasItemOption","rawValue","getRawValue","defaultText","setLabelStyle","labelFetcher","labelDataIndex","isRectText","setStyle","setHoverStyle","useHoverLayer","add","setItemGraphicEl","geo","visualMapModel","inRangeVisuals","targetVisuals","inRange","outOfRangeVisuals","outOfRange","hmLayer","_hmLayer","roamTransform","getRoamTransform","applyTransform","x2","y2","dims","lng","lat","pt","getExtent","getPieceList","getNormalizer","getColorMapper","img","Image","image","silent","dispose"],"sourceRoot":""}