{"version":3,"file":"js/chunk-vendors-b160bec6.10f573ea.js","mappings":"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","sources":["webpack://app/./node_modules/echarts/lib/chart/map.js","webpack://app/./node_modules/echarts/lib/chart/map/MapSeries.js","webpack://app/./node_modules/echarts/lib/chart/map/MapView.js","webpack://app/./node_modules/echarts/lib/chart/map/backwardCompat.js","webpack://app/./node_modules/echarts/lib/chart/map/mapDataStatistic.js","webpack://app/./node_modules/echarts/lib/chart/map/mapSymbolLayout.js","webpack://app/./node_modules/echarts/lib/chart/map/mapVisual.js","webpack://app/./node_modules/echarts/lib/chart/parallel.js","webpack://app/./node_modules/echarts/lib/chart/parallel/ParallelSeries.js","webpack://app/./node_modules/echarts/lib/chart/parallel/ParallelView.js","webpack://app/./node_modules/echarts/lib/chart/parallel/parallelVisual.js","webpack://app/./node_modules/echarts/lib/chart/pictorialBar.js","webpack://app/./node_modules/echarts/lib/chart/pie/PieSeries.js","webpack://app/./node_modules/echarts/lib/chart/pie/PieView.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(\"./map/MapSeries\");\n\nrequire(\"./map/MapView\");\n\nrequire(\"../action/geoRoam\");\n\nrequire(\"../coord/geo/geoCreator\");\n\nvar mapSymbolLayout = require(\"./map/mapSymbolLayout\");\n\nvar mapVisual = require(\"./map/mapVisual\");\n\nvar mapDataStatistic = require(\"./map/mapDataStatistic\");\n\nvar backwardCompat = require(\"./map/backwardCompat\");\n\nvar createDataSelectAction = require(\"../action/createDataSelectAction\");\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.registerLayout(mapSymbolLayout);\necharts.registerVisual(mapVisual);\necharts.registerProcessor(echarts.PRIORITY.PROCESSOR.STATISTIC, mapDataStatistic);\necharts.registerPreprocessor(backwardCompat);\ncreateDataSelectAction('map', [{\n type: 'mapToggleSelect',\n event: 'mapselectchanged',\n method: 'toggleSelected'\n}, {\n type: 'mapSelect',\n event: 'mapselected',\n method: 'select'\n}, {\n type: 'mapUnSelect',\n event: 'mapunselected',\n method: 'unSelect'\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar createListSimply = require(\"../helper/createListSimply\");\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\nvar addCommas = _format.addCommas;\n\nvar dataSelectableMixin = require(\"../../component/helper/selectableMixin\");\n\nvar _dataProvider = require(\"../../data/helper/dataProvider\");\n\nvar retrieveRawAttr = _dataProvider.retrieveRawAttr;\n\nvar geoSourceManager = require(\"../../coord/geo/geoSourceManager\");\n\nvar _sourceHelper = require(\"../../data/helper/sourceHelper\");\n\nvar makeSeriesEncodeForNameBased = _sourceHelper.makeSeriesEncodeForNameBased;\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 MapSeries = SeriesModel.extend({\n type: 'series.map',\n dependencies: ['geo'],\n layoutMode: 'box',\n\n /**\n * Only first map series of same mapType will drawMap\n * @type {boolean}\n */\n needsDrawMap: false,\n\n /**\n * Group of all map series with same mapType\n * @type {boolean}\n */\n seriesGroup: [],\n getInitialData: function (option) {\n var data = createListSimply(this, {\n coordDimensions: ['value'],\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForNameBased, this)\n });\n var valueDim = data.mapDimension('value');\n var dataNameMap = zrUtil.createHashMap();\n var selectTargetList = [];\n var toAppendNames = [];\n\n for (var i = 0, len = data.count(); i < len; i++) {\n var name = data.getName(i);\n dataNameMap.set(name, true);\n selectTargetList.push({\n name: name,\n value: data.get(valueDim, i),\n selected: retrieveRawAttr(data, i, 'selected')\n });\n }\n\n var geoSource = geoSourceManager.load(this.getMapType(), this.option.nameMap, this.option.nameProperty);\n zrUtil.each(geoSource.regions, function (region) {\n var name = region.name;\n\n if (!dataNameMap.get(name)) {\n selectTargetList.push({\n name: name\n });\n toAppendNames.push(name);\n }\n });\n this.updateSelectedMap(selectTargetList); // Complete data with missing regions. The consequent processes (like visual\n // map and render) can not be performed without a \"full data\". For example,\n // find `dataIndex` by name.\n\n data.appendValues([], toAppendNames);\n return data;\n },\n\n /**\n * If no host geo model, return null, which means using a\n * inner exclusive geo model.\n */\n getHostGeoModel: function () {\n var geoIndex = this.option.geoIndex;\n return geoIndex != null ? this.dependentModels.geo[geoIndex] : null;\n },\n getMapType: function () {\n return (this.getHostGeoModel() || this).option.map;\n },\n // _fillOption: function (option, mapName) {\n // Shallow clone\n // option = zrUtil.extend({}, option);\n // option.data = geoCreator.getFilledRegions(option.data, mapName, option.nameMap);\n // return option;\n // },\n getRawValue: function (dataIndex) {\n // Use value stored in data instead because it is calculated from multiple series\n // FIXME Provide all value of multiple series ?\n var data = this.getData();\n return data.get(data.mapDimension('value'), dataIndex);\n },\n\n /**\n * Get model of region\n * @param {string} name\n * @return {module:echarts/model/Model}\n */\n getRegionModel: function (regionName) {\n var data = this.getData();\n return data.getItemModel(data.indexOfName(regionName));\n },\n\n /**\n * Map tooltip formatter\n *\n * @param {number} dataIndex\n */\n formatTooltip: function (dataIndex) {\n // FIXME orignalData and data is a bit confusing\n var data = this.getData();\n var formattedValue = addCommas(this.getRawValue(dataIndex));\n var name = data.getName(dataIndex);\n var seriesGroup = this.seriesGroup;\n var seriesNames = [];\n\n for (var i = 0; i < seriesGroup.length; i++) {\n var otherIndex = seriesGroup[i].originalData.indexOfName(name);\n var valueDim = data.mapDimension('value');\n\n if (!isNaN(seriesGroup[i].originalData.get(valueDim, otherIndex))) {\n seriesNames.push(encodeHTML(seriesGroup[i].name));\n }\n }\n\n return seriesNames.join(', ') + '
' + encodeHTML(name + ' : ' + formattedValue);\n },\n\n /**\n * @implement\n */\n getTooltipPosition: function (dataIndex) {\n if (dataIndex != null) {\n var name = this.getData().getName(dataIndex);\n var geo = this.coordinateSystem;\n var region = geo.getRegion(name);\n return region && geo.dataToPoint(region.center);\n }\n },\n setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n },\n defaultOption: {\n // 一级层叠\n zlevel: 0,\n // 二级层叠\n z: 2,\n coordinateSystem: 'geo',\n // map should be explicitly specified since ec3.\n map: '',\n // If `geoIndex` is not specified, a exclusive geo will be\n // created. Otherwise use the specified geo component, and\n // `map` and `mapType` are ignored.\n // geoIndex: 0,\n // 'center' | 'left' | 'right' | 'x%' | {number}\n left: 'center',\n // 'center' | 'top' | 'bottom' | 'x%' | {number}\n top: 'center',\n // right\n // bottom\n // width:\n // height\n // Aspect is width / height. Inited to be geoJson bbox aspect\n // This parameter is used for scale this aspect\n aspectScale: 0.75,\n ///// Layout with center and size\n // If you wan't to put map in a fixed size box with right aspect ratio\n // This two properties may more conveninet\n // layoutCenter: [50%, 50%]\n // layoutSize: 100\n // 数值合并方式,默认加和,可选为:\n // 'sum' | 'average' | 'max' | 'min'\n // mapValueCalculation: 'sum',\n // 地图数值计算结果小数精度\n // mapValuePrecision: 0,\n // 显示图例颜色标识(系列标识的小圆点),图例开启时有效\n showLegendSymbol: true,\n // 选择模式,默认关闭,可选single,multiple\n // selectedMode: false,\n dataRangeHoverLink: true,\n // 是否开启缩放及漫游模式\n // roam: false,\n // Define left-top, right-bottom coords to control view\n // For example, [ [180, 90], [-180, -90] ],\n // higher priority than center and zoom\n boundingCoords: null,\n // Default on center of map\n center: null,\n zoom: 1,\n scaleLimit: null,\n label: {\n show: false,\n color: '#000'\n },\n // scaleLimit: null,\n itemStyle: {\n borderWidth: 0.5,\n borderColor: '#444',\n areaColor: '#eee'\n },\n emphasis: {\n label: {\n show: true,\n color: 'rgb(100,0,0)'\n },\n itemStyle: {\n areaColor: 'rgba(255,215,0,0.8)'\n }\n },\n nameProperty: 'name'\n }\n});\nzrUtil.mixin(MapSeries, dataSelectableMixin);\nvar _default = MapSeries;\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 zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar MapDraw = require(\"../../component/helper/MapDraw\");\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 HIGH_DOWN_PROP = '__seriesMapHighDown';\nvar RECORD_VERSION_PROP = '__seriesMapCallKey';\n\nvar _default = echarts.extendChartView({\n type: 'map',\n render: function (mapModel, ecModel, api, payload) {\n // Not render if it is an toggleSelect action from self\n if (payload && payload.type === 'mapToggleSelect' && payload.from === this.uid) {\n return;\n }\n\n var group = this.group;\n group.removeAll();\n\n if (mapModel.getHostGeoModel()) {\n return;\n } // Not update map if it is an roam action from self\n\n\n if (!(payload && payload.type === 'geoRoam' && payload.componentType === 'series' && payload.seriesId === mapModel.id)) {\n if (mapModel.needsDrawMap) {\n var mapDraw = this._mapDraw || new MapDraw(api, true);\n group.add(mapDraw.group);\n mapDraw.draw(mapModel, ecModel, api, this, payload);\n this._mapDraw = mapDraw;\n } else {\n // Remove drawed map\n this._mapDraw && this._mapDraw.remove();\n this._mapDraw = null;\n }\n } else {\n var mapDraw = this._mapDraw;\n mapDraw && group.add(mapDraw.group);\n }\n\n mapModel.get('showLegendSymbol') && ecModel.getComponent('legend') && this._renderSymbols(mapModel, ecModel, api);\n },\n remove: function () {\n this._mapDraw && this._mapDraw.remove();\n this._mapDraw = null;\n this.group.removeAll();\n },\n dispose: function () {\n this._mapDraw && this._mapDraw.remove();\n this._mapDraw = null;\n },\n _renderSymbols: function (mapModel, ecModel, api) {\n var originalData = mapModel.originalData;\n var group = this.group;\n originalData.each(originalData.mapDimension('value'), function (value, originalDataIndex) {\n if (isNaN(value)) {\n return;\n }\n\n var layout = originalData.getItemLayout(originalDataIndex);\n\n if (!layout || !layout.point) {\n // Not exists in map\n return;\n }\n\n var point = layout.point;\n var offset = layout.offset;\n var circle = new graphic.Circle({\n style: {\n // Because the special of map draw.\n // Which needs statistic of multiple series and draw on one map.\n // And each series also need a symbol with legend color\n //\n // Layout and visual are put one the different data\n fill: mapModel.getData().getVisual('color')\n },\n shape: {\n cx: point[0] + offset * 9,\n cy: point[1],\n r: 3\n },\n silent: true,\n // Do not overlap the first series, on which labels are displayed.\n z2: 8 + (!offset ? graphic.Z2_EMPHASIS_LIFT + 1 : 0)\n }); // Only the series that has the first value on the same region is in charge of rendering the label.\n // But consider the case:\n // series: [\n // {id: 'X', type: 'map', map: 'm', {data: [{name: 'A', value: 11}, {name: 'B', {value: 22}]},\n // {id: 'Y', type: 'map', map: 'm', {data: [{name: 'A', value: 21}, {name: 'C', {value: 33}]}\n // ]\n // The offset `0` of item `A` is at series `X`, but of item `C` is at series `Y`.\n // For backward compatibility, we follow the rule that render label `A` by the\n // settings on series `X` but render label `C` by the settings on series `Y`.\n\n if (!offset) {\n var fullData = mapModel.mainSeries.getData();\n var name = originalData.getName(originalDataIndex);\n var fullIndex = fullData.indexOfName(name);\n var itemModel = originalData.getItemModel(originalDataIndex);\n var labelModel = itemModel.getModel('label');\n var hoverLabelModel = itemModel.getModel('emphasis.label');\n var regionGroup = fullData.getItemGraphicEl(fullIndex); // `getFormattedLabel` needs to use `getData` inside. Here\n // `mapModel.getData()` is shallow cloned from `mainSeries.getData()`.\n // FIXME\n // If this is not the `mainSeries`, the item model (like label formatter)\n // set on original data item will never get. But it has been working\n // like that from the begining, and this scenario is rarely encountered.\n // So it won't be fixed until have to.\n\n var normalText = zrUtil.retrieve2(mapModel.getFormattedLabel(fullIndex, 'normal'), name);\n var emphasisText = zrUtil.retrieve2(mapModel.getFormattedLabel(fullIndex, 'emphasis'), normalText);\n var highDownRecord = regionGroup[HIGH_DOWN_PROP];\n var recordVersion = Math.random(); // Prevent from register listeners duplicatedly when roaming.\n\n if (!highDownRecord) {\n highDownRecord = regionGroup[HIGH_DOWN_PROP] = {};\n var onEmphasis = zrUtil.curry(onRegionHighDown, true);\n var onNormal = zrUtil.curry(onRegionHighDown, false);\n regionGroup.on('mouseover', onEmphasis).on('mouseout', onNormal).on('emphasis', onEmphasis).on('normal', onNormal);\n } // Prevent removed regions effect current grapics.\n\n\n regionGroup[RECORD_VERSION_PROP] = recordVersion;\n zrUtil.extend(highDownRecord, {\n recordVersion: recordVersion,\n circle: circle,\n labelModel: labelModel,\n hoverLabelModel: hoverLabelModel,\n emphasisText: emphasisText,\n normalText: normalText\n }); // FIXME\n // Consider set option when emphasis.\n\n enterRegionHighDown(highDownRecord, false);\n }\n\n group.add(circle);\n });\n }\n});\n\nfunction onRegionHighDown(toHighOrDown) {\n var highDownRecord = this[HIGH_DOWN_PROP];\n\n if (highDownRecord && highDownRecord.recordVersion === this[RECORD_VERSION_PROP]) {\n enterRegionHighDown(highDownRecord, toHighOrDown);\n }\n}\n\nfunction enterRegionHighDown(highDownRecord, toHighOrDown) {\n var circle = highDownRecord.circle;\n var labelModel = highDownRecord.labelModel;\n var hoverLabelModel = highDownRecord.hoverLabelModel;\n var emphasisText = highDownRecord.emphasisText;\n var normalText = highDownRecord.normalText;\n\n if (toHighOrDown) {\n circle.style.extendFrom(graphic.setTextStyle({}, hoverLabelModel, {\n text: hoverLabelModel.get('show') ? emphasisText : null\n }, {\n isRectText: true,\n useInsideStyle: false\n }, true)); // Make label upper than others if overlaps.\n\n circle.__mapOriginalZ2 = circle.z2;\n circle.z2 += graphic.Z2_EMPHASIS_LIFT;\n } else {\n graphic.setTextStyle(circle.style, labelModel, {\n text: labelModel.get('show') ? normalText : null,\n textPosition: labelModel.getShallow('position') || 'bottom'\n }, {\n isRectText: true,\n useInsideStyle: false\n }); // Trigger normalize style like padding.\n\n circle.dirty(false);\n\n if (circle.__mapOriginalZ2 != null) {\n circle.z2 = circle.__mapOriginalZ2;\n circle.__mapOriginalZ2 = 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 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(option) {\n // Save geoCoord\n var mapSeries = [];\n zrUtil.each(option.series, function (seriesOpt) {\n if (seriesOpt && seriesOpt.type === 'map') {\n mapSeries.push(seriesOpt);\n seriesOpt.map = seriesOpt.map || seriesOpt.mapType; // Put x, y, width, height, x2, y2 in the top level\n\n zrUtil.defaults(seriesOpt, seriesOpt.mapLocation);\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 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// FIXME 公用?\n\n/**\n * @param {Array.} datas\n * @param {string} statisticType 'average' 'sum'\n * @inner\n */\nfunction dataStatistics(datas, statisticType) {\n var dataNameMap = {};\n zrUtil.each(datas, function (data) {\n data.each(data.mapDimension('value'), function (value, idx) {\n // Add prefix to avoid conflict with Object.prototype.\n var mapKey = 'ec-' + data.getName(idx);\n dataNameMap[mapKey] = dataNameMap[mapKey] || [];\n\n if (!isNaN(value)) {\n dataNameMap[mapKey].push(value);\n }\n });\n });\n return datas[0].map(datas[0].mapDimension('value'), function (value, idx) {\n var mapKey = 'ec-' + datas[0].getName(idx);\n var sum = 0;\n var min = Infinity;\n var max = -Infinity;\n var len = dataNameMap[mapKey].length;\n\n for (var i = 0; i < len; i++) {\n min = Math.min(min, dataNameMap[mapKey][i]);\n max = Math.max(max, dataNameMap[mapKey][i]);\n sum += dataNameMap[mapKey][i];\n }\n\n var result;\n\n if (statisticType === 'min') {\n result = min;\n } else if (statisticType === 'max') {\n result = max;\n } else if (statisticType === 'average') {\n result = sum / len;\n } else {\n result = sum;\n }\n\n return len === 0 ? NaN : result;\n });\n}\n\nfunction _default(ecModel) {\n var seriesGroups = {};\n ecModel.eachSeriesByType('map', function (seriesModel) {\n var hostGeoModel = seriesModel.getHostGeoModel();\n var key = hostGeoModel ? 'o' + hostGeoModel.id : 'i' + seriesModel.getMapType();\n (seriesGroups[key] = seriesGroups[key] || []).push(seriesModel);\n });\n zrUtil.each(seriesGroups, function (seriesList, key) {\n var data = dataStatistics(zrUtil.map(seriesList, function (seriesModel) {\n return seriesModel.getData();\n }), seriesList[0].get('mapValueCalculation'));\n\n for (var i = 0; i < seriesList.length; i++) {\n seriesList[i].originalData = seriesList[i].getData();\n } // FIXME Put where?\n\n\n for (var i = 0; i < seriesList.length; i++) {\n seriesList[i].seriesGroup = seriesList;\n seriesList[i].needsDrawMap = i === 0 && !seriesList[i].getHostGeoModel();\n seriesList[i].setData(data.cloneShallow());\n seriesList[i].mainSeries = seriesList[0];\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 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 var processedMapType = {};\n ecModel.eachSeriesByType('map', function (mapSeries) {\n var mapType = mapSeries.getMapType();\n\n if (mapSeries.getHostGeoModel() || processedMapType[mapType]) {\n return;\n }\n\n var mapSymbolOffsets = {};\n zrUtil.each(mapSeries.seriesGroup, function (subMapSeries) {\n var geo = subMapSeries.coordinateSystem;\n var data = subMapSeries.originalData;\n\n if (subMapSeries.get('showLegendSymbol') && ecModel.getComponent('legend')) {\n data.each(data.mapDimension('value'), function (value, idx) {\n var name = data.getName(idx);\n var region = geo.getRegion(name); // If input series.data is [11, 22, '-'/null/undefined, 44],\n // it will be filled with NaN: [11, 22, NaN, 44] and NaN will\n // not be drawn. So here must validate if value is NaN.\n\n if (!region || isNaN(value)) {\n return;\n }\n\n var offset = mapSymbolOffsets[name] || 0;\n var point = geo.dataToPoint(region.center);\n mapSymbolOffsets[name] = offset + 1;\n data.setItemLayout(idx, {\n point: point,\n offset: offset\n });\n });\n }\n }); // Show label of those region not has legendSymbol(which is offset 0)\n\n var data = mapSeries.getData();\n data.each(function (idx) {\n var name = data.getName(idx);\n var layout = data.getItemLayout(idx) || {};\n layout.showLabel = !mapSymbolOffsets[name];\n data.setItemLayout(idx, layout);\n });\n processedMapType[mapType] = true;\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\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('map', function (seriesModel) {\n var colorList = seriesModel.get('color');\n var itemStyleModel = seriesModel.getModel('itemStyle');\n var areaColor = itemStyleModel.get('areaColor');\n var color = itemStyleModel.get('color') || colorList[seriesModel.seriesIndex % colorList.length];\n seriesModel.getData().setVisual({\n 'areaColor': areaColor,\n 'color': color\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\nrequire(\"../component/parallel\");\n\nrequire(\"./parallel/ParallelSeries\");\n\nrequire(\"./parallel/ParallelView\");\n\nvar parallelVisual = require(\"./parallel/parallelVisual\");\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.registerVisual(parallelVisual);","\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;\nvar createHashMap = _util.createHashMap;\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createListFromArray = require(\"../helper/createListFromArray\");\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.parallel',\n dependencies: ['parallel'],\n visualColorAccessPath: 'lineStyle.color',\n getInitialData: function (option, ecModel) {\n var source = this.getSource();\n setEncodeAndDimensions(source, this);\n return createListFromArray(source, this);\n },\n\n /**\n * User can get data raw indices on 'axisAreaSelected' event received.\n *\n * @public\n * @param {string} activeState 'active' or 'inactive' or 'normal'\n * @return {Array.} Raw indices\n */\n getRawIndicesByActiveState: function (activeState) {\n var coordSys = this.coordinateSystem;\n var data = this.getData();\n var indices = [];\n coordSys.eachActiveState(data, function (theActiveState, dataIndex) {\n if (activeState === theActiveState) {\n indices.push(data.getRawIndex(dataIndex));\n }\n });\n return indices;\n },\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 2,\n // 二级层叠\n coordinateSystem: 'parallel',\n parallelIndex: 0,\n label: {\n show: false\n },\n inactiveOpacity: 0.05,\n activeOpacity: 1,\n lineStyle: {\n width: 1,\n opacity: 0.45,\n type: 'solid'\n },\n emphasis: {\n label: {\n show: false\n }\n },\n progressive: 500,\n smooth: false,\n // true | false | number\n animationEasing: 'linear'\n }\n});\n\nfunction setEncodeAndDimensions(source, seriesModel) {\n // The mapping of parallelAxis dimension to data dimension can\n // be specified in parallelAxis.option.dim. For example, if\n // parallelAxis.option.dim is 'dim3', it mapping to the third\n // dimension of data. But `data.encode` has higher priority.\n // Moreover, parallelModel.dimension should not be regarded as data\n // dimensions. Consider dimensions = ['dim4', 'dim2', 'dim6'];\n if (source.encodeDefine) {\n return;\n }\n\n var parallelModel = seriesModel.ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n\n if (!parallelModel) {\n return;\n }\n\n var encodeDefine = source.encodeDefine = createHashMap();\n each(parallelModel.dimensions, function (axisDim) {\n var dataDimIndex = convertDimNameToNumber(axisDim);\n encodeDefine.set(axisDim, dataDimIndex);\n });\n}\n\nfunction convertDimNameToNumber(dimName) {\n return +dimName.replace('dim', '');\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 graphic = require(\"../../util/graphic\");\n\nvar ChartView = require(\"../../view/Chart\");\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_SMOOTH = 0.3;\nvar ParallelView = ChartView.extend({\n type: 'parallel',\n init: function () {\n /**\n * @type {module:zrender/container/Group}\n * @private\n */\n this._dataGroup = new graphic.Group();\n this.group.add(this._dataGroup);\n /**\n * @type {module:echarts/data/List}\n */\n\n this._data;\n /**\n * @type {boolean}\n */\n\n this._initialized;\n },\n\n /**\n * @override\n */\n render: function (seriesModel, ecModel, api, payload) {\n var dataGroup = this._dataGroup;\n var data = seriesModel.getData();\n var oldData = this._data;\n var coordSys = seriesModel.coordinateSystem;\n var dimensions = coordSys.dimensions;\n var seriesScope = makeSeriesScope(seriesModel);\n data.diff(oldData).add(add).update(update).remove(remove).execute();\n\n function add(newDataIndex) {\n var line = addEl(data, dataGroup, newDataIndex, dimensions, coordSys);\n updateElCommon(line, data, newDataIndex, seriesScope);\n }\n\n function update(newDataIndex, oldDataIndex) {\n var line = oldData.getItemGraphicEl(oldDataIndex);\n var points = createLinePoints(data, newDataIndex, dimensions, coordSys);\n data.setItemGraphicEl(newDataIndex, line);\n var animationModel = payload && payload.animation === false ? null : seriesModel;\n graphic.updateProps(line, {\n shape: {\n points: points\n }\n }, animationModel, newDataIndex);\n updateElCommon(line, data, newDataIndex, seriesScope);\n }\n\n function remove(oldDataIndex) {\n var line = oldData.getItemGraphicEl(oldDataIndex);\n dataGroup.remove(line);\n } // First create\n\n\n if (!this._initialized) {\n this._initialized = true;\n var clipPath = createGridClipShape(coordSys, seriesModel, function () {\n // Callback will be invoked immediately if there is no animation\n setTimeout(function () {\n dataGroup.removeClipPath();\n });\n });\n dataGroup.setClipPath(clipPath);\n }\n\n this._data = data;\n },\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this._initialized = true;\n this._data = null;\n\n this._dataGroup.removeAll();\n },\n incrementalRender: function (taskParams, seriesModel, ecModel) {\n var data = seriesModel.getData();\n var coordSys = seriesModel.coordinateSystem;\n var dimensions = coordSys.dimensions;\n var seriesScope = makeSeriesScope(seriesModel);\n\n for (var dataIndex = taskParams.start; dataIndex < taskParams.end; dataIndex++) {\n var line = addEl(data, this._dataGroup, dataIndex, dimensions, coordSys);\n line.incremental = true;\n updateElCommon(line, data, dataIndex, seriesScope);\n }\n },\n dispose: function () {},\n // _renderForProgressive: function (seriesModel) {\n // var dataGroup = this._dataGroup;\n // var data = seriesModel.getData();\n // var oldData = this._data;\n // var coordSys = seriesModel.coordinateSystem;\n // var dimensions = coordSys.dimensions;\n // var option = seriesModel.option;\n // var progressive = option.progressive;\n // var smooth = option.smooth ? SMOOTH : null;\n // // In progressive animation is disabled, so use simple data diff,\n // // which effects performance less.\n // // (Typically performance for data with length 7000+ like:\n // // simpleDiff: 60ms, addEl: 184ms,\n // // in RMBP 2.4GHz intel i7, OSX 10.9 chrome 50.0.2661.102 (64-bit))\n // if (simpleDiff(oldData, data, dimensions)) {\n // dataGroup.removeAll();\n // data.each(function (dataIndex) {\n // addEl(data, dataGroup, dataIndex, dimensions, coordSys);\n // });\n // }\n // updateElCommon(data, progressive, smooth);\n // // Consider switch between progressive and not.\n // data.__plProgressive = true;\n // this._data = data;\n // },\n\n /**\n * @override\n */\n remove: function () {\n this._dataGroup && this._dataGroup.removeAll();\n this._data = null;\n }\n});\n\nfunction createGridClipShape(coordSys, seriesModel, cb) {\n var parallelModel = coordSys.model;\n var rect = coordSys.getRect();\n var rectEl = new graphic.Rect({\n shape: {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n }\n });\n var dim = parallelModel.get('layout') === 'horizontal' ? 'width' : 'height';\n rectEl.setShape(dim, 0);\n graphic.initProps(rectEl, {\n shape: {\n width: rect.width,\n height: rect.height\n }\n }, seriesModel, cb);\n return rectEl;\n}\n\nfunction createLinePoints(data, dataIndex, dimensions, coordSys) {\n var points = [];\n\n for (var i = 0; i < dimensions.length; i++) {\n var dimName = dimensions[i];\n var value = data.get(data.mapDimension(dimName), dataIndex);\n\n if (!isEmptyValue(value, coordSys.getAxis(dimName).type)) {\n points.push(coordSys.dataToPoint(value, dimName));\n }\n }\n\n return points;\n}\n\nfunction addEl(data, dataGroup, dataIndex, dimensions, coordSys) {\n var points = createLinePoints(data, dataIndex, dimensions, coordSys);\n var line = new graphic.Polyline({\n shape: {\n points: points\n },\n silent: true,\n z2: 10\n });\n dataGroup.add(line);\n data.setItemGraphicEl(dataIndex, line);\n return line;\n}\n\nfunction makeSeriesScope(seriesModel) {\n var smooth = seriesModel.get('smooth', true);\n smooth === true && (smooth = DEFAULT_SMOOTH);\n return {\n lineStyle: seriesModel.getModel('lineStyle').getLineStyle(),\n smooth: smooth != null ? smooth : DEFAULT_SMOOTH\n };\n}\n\nfunction updateElCommon(el, data, dataIndex, seriesScope) {\n var lineStyle = seriesScope.lineStyle;\n\n if (data.hasItemOption) {\n var lineStyleModel = data.getItemModel(dataIndex).getModel('lineStyle');\n lineStyle = lineStyleModel.getLineStyle();\n }\n\n el.useStyle(lineStyle);\n var elStyle = el.style;\n elStyle.fill = null; // lineStyle.color have been set to itemVisual in module:echarts/visual/seriesColor.\n\n elStyle.stroke = data.getItemVisual(dataIndex, 'color'); // lineStyle.opacity have been set to itemVisual in parallelVisual.\n\n elStyle.opacity = data.getItemVisual(dataIndex, 'opacity');\n seriesScope.smooth && (el.shape.smooth = seriesScope.smooth);\n} // function simpleDiff(oldData, newData, dimensions) {\n// var oldLen;\n// if (!oldData\n// || !oldData.__plProgressive\n// || (oldLen = oldData.count()) !== newData.count()\n// ) {\n// return true;\n// }\n// var dimLen = dimensions.length;\n// for (var i = 0; i < oldLen; i++) {\n// for (var j = 0; j < dimLen; j++) {\n// if (oldData.get(dimensions[j], i) !== newData.get(dimensions[j], i)) {\n// return true;\n// }\n// }\n// }\n// return false;\n// }\n// FIXME\n// 公用方法?\n\n\nfunction isEmptyValue(val, axisType) {\n return axisType === 'category' ? val == null : val == null || isNaN(val); // axisType === 'value'\n}\n\nvar _default = ParallelView;\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*/\nvar opacityAccessPath = ['lineStyle', 'normal', 'opacity'];\nvar _default = {\n seriesType: 'parallel',\n reset: function (seriesModel, ecModel, api) {\n var itemStyleModel = seriesModel.getModel('itemStyle');\n var lineStyleModel = seriesModel.getModel('lineStyle');\n var globalColors = ecModel.get('color');\n var color = lineStyleModel.get('color') || itemStyleModel.get('color') || globalColors[seriesModel.seriesIndex % globalColors.length];\n var inactiveOpacity = seriesModel.get('inactiveOpacity');\n var activeOpacity = seriesModel.get('activeOpacity');\n var lineStyle = seriesModel.getModel('lineStyle').getLineStyle();\n var coordSys = seriesModel.coordinateSystem;\n var data = seriesModel.getData();\n var opacityMap = {\n normal: lineStyle.opacity,\n active: activeOpacity,\n inactive: inactiveOpacity\n };\n data.setVisual('color', color);\n\n function progress(params, data) {\n coordSys.eachActiveState(data, function (activeState, dataIndex) {\n var opacity = opacityMap[activeState];\n\n if (activeState === 'normal' && data.hasItemOption) {\n var itemOpacity = data.getItemModel(dataIndex).get(opacityAccessPath, true);\n itemOpacity != null && (opacity = itemOpacity);\n }\n\n data.setItemVisual(dataIndex, 'opacity', opacity);\n }, params.start, params.end);\n }\n\n return {\n progress: progress\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 zrUtil = require(\"zrender/lib/core/util\");\n\nrequire(\"../coord/cartesian/Grid\");\n\nrequire(\"./bar/PictorialBarSeries\");\n\nrequire(\"./bar/PictorialBarView\");\n\nvar _barGrid = require(\"../layout/barGrid\");\n\nvar layout = _barGrid.layout;\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nrequire(\"../component/gridSimple\");\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// In case developer forget to include grid component\necharts.registerLayout(zrUtil.curry(layout, 'pictorialBar'));\necharts.registerVisual(visualSymbol('pictorialBar', 'roundRect'));","\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 createListSimply = require(\"../helper/createListSimply\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar _number = require(\"../../util/number\");\n\nvar getPercentWithPrecision = _number.getPercentWithPrecision;\n\nvar dataSelectableMixin = require(\"../../component/helper/selectableMixin\");\n\nvar _dataProvider = require(\"../../data/helper/dataProvider\");\n\nvar retrieveRawAttr = _dataProvider.retrieveRawAttr;\n\nvar _sourceHelper = require(\"../../data/helper/sourceHelper\");\n\nvar makeSeriesEncodeForNameBased = _sourceHelper.makeSeriesEncodeForNameBased;\n\nvar LegendVisualProvider = require(\"../../visual/LegendVisualProvider\");\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 PieSeries = echarts.extendSeriesModel({\n type: 'series.pie',\n // Overwrite\n init: function (option) {\n PieSeries.superApply(this, 'init', arguments); // Enable legend selection for each data item\n // Use a function instead of direct access because data reference may changed\n\n this.legendVisualProvider = new LegendVisualProvider(zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this));\n this.updateSelectedMap(this._createSelectableList());\n\n this._defaultLabelLine(option);\n },\n // Overwrite\n mergeOption: function (newOption) {\n PieSeries.superCall(this, 'mergeOption', newOption);\n this.updateSelectedMap(this._createSelectableList());\n },\n getInitialData: function (option, ecModel) {\n return createListSimply(this, {\n coordDimensions: ['value'],\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForNameBased, this)\n });\n },\n _createSelectableList: function () {\n var data = this.getRawData();\n var valueDim = data.mapDimension('value');\n var targetList = [];\n\n for (var i = 0, len = data.count(); i < len; i++) {\n targetList.push({\n name: data.getName(i),\n value: data.get(valueDim, i),\n selected: retrieveRawAttr(data, i, 'selected')\n });\n }\n\n return targetList;\n },\n // Overwrite\n getDataParams: function (dataIndex) {\n var data = this.getData();\n var params = PieSeries.superCall(this, 'getDataParams', dataIndex); // FIXME toFixed?\n\n var valueList = [];\n data.each(data.mapDimension('value'), function (value) {\n valueList.push(value);\n });\n params.percent = getPercentWithPrecision(valueList, dataIndex, data.hostModel.get('percentPrecision'));\n params.$vars.push('percent');\n return params;\n },\n _defaultLabelLine: function (option) {\n // Extend labelLine emphasis\n modelUtil.defaultEmphasis(option, 'labelLine', ['show']);\n var labelLineNormalOpt = option.labelLine;\n var labelLineEmphasisOpt = option.emphasis.labelLine; // Not show label line if `label.normal.show = false`\n\n labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show;\n labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show;\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n legendHoverLink: true,\n hoverAnimation: true,\n // 默认全局居中\n center: ['50%', '50%'],\n radius: [0, '75%'],\n // 默认顺时针\n clockwise: true,\n startAngle: 90,\n // 最小角度改为0\n minAngle: 0,\n // If the angle of a sector less than `minShowLabelAngle`,\n // the label will not be displayed.\n minShowLabelAngle: 0,\n // 选中时扇区偏移量\n selectedOffset: 10,\n // 高亮扇区偏移量\n hoverOffset: 10,\n // If use strategy to avoid label overlapping\n avoidLabelOverlap: true,\n // 选择模式,默认关闭,可选single,multiple\n // selectedMode: false,\n // 南丁格尔玫瑰图模式,'radius'(半径) | 'area'(面积)\n // roseType: null,\n percentPrecision: 2,\n // If still show when all data zero.\n stillShowZeroSum: true,\n // cursor: null,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n width: null,\n height: null,\n label: {\n // If rotate around circle\n rotate: false,\n show: true,\n // 'outer', 'inside', 'center'\n position: 'outer',\n // 'none', 'labelLine', 'edge'. Works only when position is 'outer'\n alignTo: 'none',\n // Closest distance between label and chart edge.\n // Works only position is 'outer' and alignTo is 'edge'.\n margin: '25%',\n // Works only position is 'outer' and alignTo is not 'edge'.\n bleedMargin: 10,\n // Distance between text and label line.\n distanceToLabelLine: 5 // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调\n // 默认使用全局文本样式,详见TEXTSTYLE\n // distance: 当position为inner时有效,为label位置到圆心的距离与圆半径(环状图为内外半径和)的比例系数\n\n },\n // Enabled when label.normal.position is 'outer'\n labelLine: {\n show: true,\n // 引导线两段中的第一段长度\n length: 15,\n // 引导线两段中的第二段长度\n length2: 15,\n smooth: false,\n lineStyle: {\n // color: 各异,\n width: 1,\n type: 'solid'\n }\n },\n itemStyle: {\n borderWidth: 1\n },\n // Animation type. Valid values: expansion, scale\n animationType: 'expansion',\n // Animation type when update. Valid values: transition, expansion\n animationTypeUpdate: 'transition',\n animationEasing: 'cubicOut'\n }\n});\nzrUtil.mixin(PieSeries, dataSelectableMixin);\nvar _default = PieSeries;\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 zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar ChartView = require(\"../../view/Chart\");\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 * @param {module:echarts/model/Series} seriesModel\n * @param {boolean} hasAnimation\n * @inner\n */\nfunction updateDataSelected(uid, seriesModel, hasAnimation, api) {\n var data = seriesModel.getData();\n var dataIndex = this.dataIndex;\n var name = data.getName(dataIndex);\n var selectedOffset = seriesModel.get('selectedOffset');\n api.dispatchAction({\n type: 'pieToggleSelect',\n from: uid,\n name: name,\n seriesId: seriesModel.id\n });\n data.each(function (idx) {\n toggleItemSelected(data.getItemGraphicEl(idx), data.getItemLayout(idx), seriesModel.isSelected(data.getName(idx)), selectedOffset, hasAnimation);\n });\n}\n/**\n * @param {module:zrender/graphic/Sector} el\n * @param {Object} layout\n * @param {boolean} isSelected\n * @param {number} selectedOffset\n * @param {boolean} hasAnimation\n * @inner\n */\n\n\nfunction toggleItemSelected(el, layout, isSelected, selectedOffset, hasAnimation) {\n var midAngle = (layout.startAngle + layout.endAngle) / 2;\n var dx = Math.cos(midAngle);\n var dy = Math.sin(midAngle);\n var offset = isSelected ? selectedOffset : 0;\n var position = [dx * offset, dy * offset];\n hasAnimation // animateTo will stop revious animation like update transition\n ? el.animate().when(200, {\n position: position\n }).start('bounceOut') : el.attr('position', position);\n}\n/**\n * Piece of pie including Sector, Label, LabelLine\n * @constructor\n * @extends {module:zrender/graphic/Group}\n */\n\n\nfunction PiePiece(data, idx) {\n graphic.Group.call(this);\n var sector = new graphic.Sector({\n z2: 2\n });\n var polyline = new graphic.Polyline();\n var text = new graphic.Text();\n this.add(sector);\n this.add(polyline);\n this.add(text);\n this.updateData(data, idx, true);\n}\n\nvar piePieceProto = PiePiece.prototype;\n\npiePieceProto.updateData = function (data, idx, firstCreate) {\n var sector = this.childAt(0);\n var labelLine = this.childAt(1);\n var labelText = this.childAt(2);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var sectorShape = zrUtil.extend({}, layout);\n sectorShape.label = null;\n var animationTypeUpdate = seriesModel.getShallow('animationTypeUpdate');\n\n if (firstCreate) {\n sector.setShape(sectorShape);\n var animationType = seriesModel.getShallow('animationType');\n\n if (animationType === 'scale') {\n sector.shape.r = layout.r0;\n graphic.initProps(sector, {\n shape: {\n r: layout.r\n }\n }, seriesModel, idx);\n } // Expansion\n else {\n sector.shape.endAngle = layout.startAngle;\n graphic.updateProps(sector, {\n shape: {\n endAngle: layout.endAngle\n }\n }, seriesModel, idx);\n }\n } else {\n if (animationTypeUpdate === 'expansion') {\n // Sectors are set to be target shape and an overlaying clipPath is used for animation\n sector.setShape(sectorShape);\n } else {\n // Transition animation from the old shape\n graphic.updateProps(sector, {\n shape: sectorShape\n }, seriesModel, idx);\n }\n } // Update common style\n\n\n var visualColor = data.getItemVisual(idx, 'color');\n sector.useStyle(zrUtil.defaults({\n lineJoin: 'bevel',\n fill: visualColor\n }, itemModel.getModel('itemStyle').getItemStyle()));\n sector.hoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && sector.attr('cursor', cursorStyle); // Toggle selected\n\n toggleItemSelected(this, data.getItemLayout(idx), seriesModel.isSelected(data.getName(idx)), seriesModel.get('selectedOffset'), seriesModel.get('animation')); // Label and text animation should be applied only for transition type animation when update\n\n var withAnimation = !firstCreate && animationTypeUpdate === 'transition';\n\n this._updateLabel(data, idx, withAnimation);\n\n this.highDownOnUpdate = !seriesModel.get('silent') ? function (fromState, toState) {\n var hasAnimation = seriesModel.isAnimationEnabled() && itemModel.get('hoverAnimation');\n\n if (toState === 'emphasis') {\n labelLine.ignore = labelLine.hoverIgnore;\n labelText.ignore = labelText.hoverIgnore; // Sector may has animation of updating data. Force to move to the last frame\n // Or it may stopped on the wrong shape\n\n if (hasAnimation) {\n sector.stopAnimation(true);\n sector.animateTo({\n shape: {\n r: layout.r + seriesModel.get('hoverOffset')\n }\n }, 300, 'elasticOut');\n }\n } else {\n labelLine.ignore = labelLine.normalIgnore;\n labelText.ignore = labelText.normalIgnore;\n\n if (hasAnimation) {\n sector.stopAnimation(true);\n sector.animateTo({\n shape: {\n r: layout.r\n }\n }, 300, 'elasticOut');\n }\n }\n } : null;\n graphic.setHoverStyle(this);\n};\n\npiePieceProto._updateLabel = function (data, idx, withAnimation) {\n var labelLine = this.childAt(1);\n var labelText = this.childAt(2);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var labelLayout = layout.label;\n var visualColor = data.getItemVisual(idx, 'color');\n\n if (!labelLayout || isNaN(labelLayout.x) || isNaN(labelLayout.y)) {\n labelText.ignore = labelText.normalIgnore = labelText.hoverIgnore = labelLine.ignore = labelLine.normalIgnore = labelLine.hoverIgnore = true;\n return;\n }\n\n var targetLineShape = {\n points: labelLayout.linePoints || [[labelLayout.x, labelLayout.y], [labelLayout.x, labelLayout.y], [labelLayout.x, labelLayout.y]]\n };\n var targetTextStyle = {\n x: labelLayout.x,\n y: labelLayout.y\n };\n\n if (withAnimation) {\n graphic.updateProps(labelLine, {\n shape: targetLineShape\n }, seriesModel, idx);\n graphic.updateProps(labelText, {\n style: targetTextStyle\n }, seriesModel, idx);\n } else {\n labelLine.attr({\n shape: targetLineShape\n });\n labelText.attr({\n style: targetTextStyle\n });\n }\n\n labelText.attr({\n rotation: labelLayout.rotation,\n origin: [labelLayout.x, labelLayout.y],\n z2: 10\n });\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n var labelLineModel = itemModel.getModel('labelLine');\n var labelLineHoverModel = itemModel.getModel('emphasis.labelLine');\n var visualColor = data.getItemVisual(idx, 'color');\n graphic.setLabelStyle(labelText.style, labelText.hoverStyle = {}, labelModel, labelHoverModel, {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n defaultText: labelLayout.text,\n autoColor: visualColor,\n useInsideStyle: !!labelLayout.inside\n }, {\n textAlign: labelLayout.textAlign,\n textVerticalAlign: labelLayout.verticalAlign,\n opacity: data.getItemVisual(idx, 'opacity')\n });\n labelText.ignore = labelText.normalIgnore = !labelModel.get('show');\n labelText.hoverIgnore = !labelHoverModel.get('show');\n labelLine.ignore = labelLine.normalIgnore = !labelLineModel.get('show');\n labelLine.hoverIgnore = !labelLineHoverModel.get('show'); // Default use item visual color\n\n labelLine.setStyle({\n stroke: visualColor,\n opacity: data.getItemVisual(idx, 'opacity')\n });\n labelLine.setStyle(labelLineModel.getModel('lineStyle').getLineStyle());\n labelLine.hoverStyle = labelLineHoverModel.getModel('lineStyle').getLineStyle();\n var smooth = labelLineModel.get('smooth');\n\n if (smooth && smooth === true) {\n smooth = 0.4;\n }\n\n labelLine.setShape({\n smooth: smooth\n });\n};\n\nzrUtil.inherits(PiePiece, graphic.Group); // Pie view\n\nvar PieView = ChartView.extend({\n type: 'pie',\n init: function () {\n var sectorGroup = new graphic.Group();\n this._sectorGroup = sectorGroup;\n },\n render: function (seriesModel, ecModel, api, payload) {\n if (payload && payload.from === this.uid) {\n return;\n }\n\n var data = seriesModel.getData();\n var oldData = this._data;\n var group = this.group;\n var hasAnimation = ecModel.get('animation');\n var isFirstRender = !oldData;\n var animationType = seriesModel.get('animationType');\n var animationTypeUpdate = seriesModel.get('animationTypeUpdate');\n var onSectorClick = zrUtil.curry(updateDataSelected, this.uid, seriesModel, hasAnimation, api);\n var selectedMode = seriesModel.get('selectedMode');\n data.diff(oldData).add(function (idx) {\n var piePiece = new PiePiece(data, idx); // Default expansion animation\n\n if (isFirstRender && animationType !== 'scale') {\n piePiece.eachChild(function (child) {\n child.stopAnimation(true);\n });\n }\n\n selectedMode && piePiece.on('click', onSectorClick);\n data.setItemGraphicEl(idx, piePiece);\n group.add(piePiece);\n }).update(function (newIdx, oldIdx) {\n var piePiece = oldData.getItemGraphicEl(oldIdx);\n\n if (!isFirstRender && animationTypeUpdate !== 'transition') {\n piePiece.eachChild(function (child) {\n child.stopAnimation(true);\n });\n }\n\n piePiece.updateData(data, newIdx);\n piePiece.off('click');\n selectedMode && piePiece.on('click', onSectorClick);\n group.add(piePiece);\n data.setItemGraphicEl(newIdx, piePiece);\n }).remove(function (idx) {\n var piePiece = oldData.getItemGraphicEl(idx);\n group.remove(piePiece);\n }).execute();\n\n if (hasAnimation && data.count() > 0 && (isFirstRender ? animationType !== 'scale' : animationTypeUpdate !== 'transition')) {\n var shape = data.getItemLayout(0);\n\n for (var s = 1; isNaN(shape.startAngle) && s < data.count(); ++s) {\n shape = data.getItemLayout(s);\n }\n\n var r = Math.max(api.getWidth(), api.getHeight()) / 2;\n var removeClipPath = zrUtil.bind(group.removeClipPath, group);\n group.setClipPath(this._createClipPath(shape.cx, shape.cy, r, shape.startAngle, shape.clockwise, removeClipPath, seriesModel, isFirstRender));\n } else {\n // clipPath is used in first-time animation, so remove it when otherwise. See: #8994\n group.removeClipPath();\n }\n\n this._data = data;\n },\n dispose: function () {},\n _createClipPath: function (cx, cy, r, startAngle, clockwise, cb, seriesModel, isFirstRender) {\n var clipPath = new graphic.Sector({\n shape: {\n cx: cx,\n cy: cy,\n r0: 0,\n r: r,\n startAngle: startAngle,\n endAngle: startAngle,\n clockwise: clockwise\n }\n });\n var initOrUpdate = isFirstRender ? graphic.initProps : graphic.updateProps;\n initOrUpdate(clipPath, {\n shape: {\n endAngle: startAngle + (clockwise ? 1 : -1) * Math.PI * 2\n }\n }, seriesModel, cb);\n return clipPath;\n },\n\n /**\n * @implement\n */\n containPoint: function (point, seriesModel) {\n var data = seriesModel.getData();\n var itemLayout = data.getItemLayout(0);\n\n if (itemLayout) {\n var dx = point[0] - itemLayout.cx;\n var dy = point[1] - itemLayout.cy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n return radius <= itemLayout.r && radius >= itemLayout.r0;\n }\n }\n});\nvar _default = PieView;\nmodule.exports = _default;"],"names":["echarts","mapSymbolLayout","mapVisual","mapDataStatistic","backwardCompat","createDataSelectAction","registerLayout","registerVisual","registerProcessor","PRIORITY","PROCESSOR","STATISTIC","registerPreprocessor","type","event","method","zrUtil","createListSimply","SeriesModel","_format","encodeHTML","addCommas","dataSelectableMixin","_dataProvider","retrieveRawAttr","geoSourceManager","_sourceHelper","makeSeriesEncodeForNameBased","MapSeries","extend","dependencies","layoutMode","needsDrawMap","seriesGroup","getInitialData","option","data","this","coordDimensions","encodeDefaulter","curry","valueDim","mapDimension","dataNameMap","createHashMap","selectTargetList","toAppendNames","i","len","count","name","getName","set","push","value","get","selected","geoSource","load","getMapType","nameMap","nameProperty","each","regions","region","updateSelectedMap","appendValues","getHostGeoModel","geoIndex","dependentModels","geo","map","getRawValue","dataIndex","getData","getRegionModel","regionName","getItemModel","indexOfName","formatTooltip","formattedValue","seriesNames","length","otherIndex","originalData","isNaN","join","getTooltipPosition","coordinateSystem","getRegion","dataToPoint","center","setZoom","zoom","setCenter","defaultOption","zlevel","z","left","top","aspectScale","showLegendSymbol","dataRangeHoverLink","boundingCoords","scaleLimit","label","show","color","itemStyle","borderWidth","borderColor","areaColor","emphasis","mixin","_default","module","exports","graphic","MapDraw","HIGH_DOWN_PROP","RECORD_VERSION_PROP","extendChartView","render","mapModel","ecModel","api","payload","from","uid","group","removeAll","componentType","seriesId","id","mapDraw","_mapDraw","add","draw","remove","getComponent","_renderSymbols","dispose","originalDataIndex","layout","getItemLayout","point","offset","circle","Circle","style","fill","getVisual","shape","cx","cy","r","silent","z2","Z2_EMPHASIS_LIFT","fullData","mainSeries","fullIndex","itemModel","labelModel","getModel","hoverLabelModel","regionGroup","getItemGraphicEl","normalText","retrieve2","getFormattedLabel","emphasisText","highDownRecord","recordVersion","Math","random","onEmphasis","onRegionHighDown","onNormal","on","enterRegionHighDown","toHighOrDown","extendFrom","setTextStyle","text","isRectText","useInsideStyle","__mapOriginalZ2","textPosition","getShallow","dirty","mapSeries","series","seriesOpt","mapType","defaults","mapLocation","dataStatistics","datas","statisticType","idx","mapKey","result","sum","min","Infinity","max","NaN","seriesGroups","eachSeriesByType","seriesModel","hostGeoModel","key","seriesList","setData","cloneShallow","processedMapType","mapSymbolOffsets","subMapSeries","setItemLayout","showLabel","colorList","itemStyleModel","seriesIndex","setVisual","parallelVisual","_util","createListFromArray","visualColorAccessPath","source","getSource","setEncodeAndDimensions","getRawIndicesByActiveState","activeState","coordSys","indices","eachActiveState","theActiveState","getRawIndex","parallelIndex","inactiveOpacity","activeOpacity","lineStyle","width","opacity","progressive","smooth","animationEasing","encodeDefine","parallelModel","dimensions","axisDim","dataDimIndex","convertDimNameToNumber","dimName","replace","ChartView","DEFAULT_SMOOTH","ParallelView","init","_dataGroup","Group","_data","_initialized","dataGroup","oldData","seriesScope","makeSeriesScope","newDataIndex","line","addEl","updateElCommon","update","oldDataIndex","points","createLinePoints","setItemGraphicEl","animationModel","animation","updateProps","diff","execute","clipPath","createGridClipShape","setTimeout","removeClipPath","setClipPath","incrementalPrepareRender","incrementalRender","taskParams","start","end","incremental","cb","model","rect","getRect","rectEl","Rect","x","y","height","dim","setShape","initProps","isEmptyValue","getAxis","Polyline","getLineStyle","el","hasItemOption","lineStyleModel","useStyle","elStyle","stroke","getItemVisual","val","axisType","opacityAccessPath","seriesType","reset","globalColors","opacityMap","normal","active","inactive","progress","params","itemOpacity","setItemVisual","_barGrid","visualSymbol","modelUtil","_number","getPercentWithPrecision","LegendVisualProvider","PieSeries","extendSeriesModel","superApply","arguments","legendVisualProvider","bind","getRawData","_createSelectableList","_defaultLabelLine","mergeOption","newOption","superCall","targetList","getDataParams","valueList","percent","hostModel","$vars","defaultEmphasis","labelLineNormalOpt","labelLine","labelLineEmphasisOpt","legendHoverLink","hoverAnimation","radius","clockwise","startAngle","minAngle","minShowLabelAngle","selectedOffset","hoverOffset","avoidLabelOverlap","percentPrecision","stillShowZeroSum","right","bottom","rotate","position","alignTo","margin","bleedMargin","distanceToLabelLine","length2","animationType","animationTypeUpdate","updateDataSelected","hasAnimation","dispatchAction","toggleItemSelected","isSelected","midAngle","endAngle","dx","cos","dy","sin","animate","when","attr","PiePiece","call","sector","Sector","polyline","Text","updateData","piePieceProto","prototype","firstCreate","childAt","labelText","sectorShape","r0","visualColor","lineJoin","getItemStyle","hoverStyle","cursorStyle","withAnimation","_updateLabel","highDownOnUpdate","fromState","toState","isAnimationEnabled","ignore","hoverIgnore","stopAnimation","animateTo","normalIgnore","setHoverStyle","labelLayout","targetLineShape","linePoints","targetTextStyle","rotation","origin","labelHoverModel","labelLineModel","labelLineHoverModel","setLabelStyle","labelFetcher","labelDataIndex","defaultText","autoColor","inside","textAlign","textVerticalAlign","verticalAlign","setStyle","inherits","PieView","sectorGroup","_sectorGroup","isFirstRender","onSectorClick","selectedMode","piePiece","eachChild","child","newIdx","oldIdx","off","s","getWidth","getHeight","_createClipPath","initOrUpdate","PI","containPoint","itemLayout","sqrt"],"sourceRoot":""}