{"version":3,"file":"js/chunk-vendors-b57f5fac.67e92d70.js","mappings":"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","sources":["webpack://app/./node_modules/echarts/lib/util/symbol.js","webpack://app/./node_modules/echarts/lib/util/throttle.js","webpack://app/./node_modules/echarts/lib/view/Chart.js","webpack://app/./node_modules/echarts/lib/view/Component.js","webpack://app/./node_modules/echarts/lib/visual/LegendVisualProvider.js","webpack://app/./node_modules/echarts/lib/visual/VisualMapping.js","webpack://app/./node_modules/echarts/lib/visual/aria.js","webpack://app/./node_modules/echarts/lib/visual/dataColor.js","webpack://app/./node_modules/echarts/lib/visual/seriesColor.js","webpack://app/./node_modules/echarts/lib/visual/symbol.js","webpack://app/./node_modules/echarts/lib/visual/visualDefault.js","webpack://app/./node_modules/echarts/lib/visual/visualSolution.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 zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"./graphic\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar _text = require(\"zrender/lib/contain/text\");\n\nvar calculateTextPosition = _text.calculateTextPosition;\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// Symbol factory\n\n/**\n * Triangle shape\n * @inner\n */\nvar Triangle = graphic.extendShape({\n type: 'triangle',\n shape: {\n cx: 0,\n cy: 0,\n width: 0,\n height: 0\n },\n buildPath: function (path, shape) {\n var cx = shape.cx;\n var cy = shape.cy;\n var width = shape.width / 2;\n var height = shape.height / 2;\n path.moveTo(cx, cy - height);\n path.lineTo(cx + width, cy + height);\n path.lineTo(cx - width, cy + height);\n path.closePath();\n }\n});\n/**\n * Diamond shape\n * @inner\n */\n\nvar Diamond = graphic.extendShape({\n type: 'diamond',\n shape: {\n cx: 0,\n cy: 0,\n width: 0,\n height: 0\n },\n buildPath: function (path, shape) {\n var cx = shape.cx;\n var cy = shape.cy;\n var width = shape.width / 2;\n var height = shape.height / 2;\n path.moveTo(cx, cy - height);\n path.lineTo(cx + width, cy);\n path.lineTo(cx, cy + height);\n path.lineTo(cx - width, cy);\n path.closePath();\n }\n});\n/**\n * Pin shape\n * @inner\n */\n\nvar Pin = graphic.extendShape({\n type: 'pin',\n shape: {\n // x, y on the cusp\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n buildPath: function (path, shape) {\n var x = shape.x;\n var y = shape.y;\n var w = shape.width / 5 * 3; // Height must be larger than width\n\n var h = Math.max(w, shape.height);\n var r = w / 2; // Dist on y with tangent point and circle center\n\n var dy = r * r / (h - r);\n var cy = y - h + r + dy;\n var angle = Math.asin(dy / r); // Dist on x with tangent point and circle center\n\n var dx = Math.cos(angle) * r;\n var tanX = Math.sin(angle);\n var tanY = Math.cos(angle);\n var cpLen = r * 0.6;\n var cpLen2 = r * 0.7;\n path.moveTo(x - dx, cy + dy);\n path.arc(x, cy, r, Math.PI - angle, Math.PI * 2 + angle);\n path.bezierCurveTo(x + dx - tanX * cpLen, cy + dy + tanY * cpLen, x, y - cpLen2, x, y);\n path.bezierCurveTo(x, y - cpLen2, x - dx + tanX * cpLen, cy + dy + tanY * cpLen, x - dx, cy + dy);\n path.closePath();\n }\n});\n/**\n * Arrow shape\n * @inner\n */\n\nvar Arrow = graphic.extendShape({\n type: 'arrow',\n shape: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n buildPath: function (ctx, shape) {\n var height = shape.height;\n var width = shape.width;\n var x = shape.x;\n var y = shape.y;\n var dx = width / 3 * 2;\n ctx.moveTo(x, y);\n ctx.lineTo(x + dx, y + height);\n ctx.lineTo(x, y + height / 4 * 3);\n ctx.lineTo(x - dx, y + height);\n ctx.lineTo(x, y);\n ctx.closePath();\n }\n});\n/**\n * Map of path contructors\n * @type {Object.}\n */\n\nvar symbolCtors = {\n line: graphic.Line,\n rect: graphic.Rect,\n roundRect: graphic.Rect,\n square: graphic.Rect,\n circle: graphic.Circle,\n diamond: Diamond,\n pin: Pin,\n arrow: Arrow,\n triangle: Triangle\n};\nvar symbolShapeMakers = {\n line: function (x, y, w, h, shape) {\n // FIXME\n shape.x1 = x;\n shape.y1 = y + h / 2;\n shape.x2 = x + w;\n shape.y2 = y + h / 2;\n },\n rect: function (x, y, w, h, shape) {\n shape.x = x;\n shape.y = y;\n shape.width = w;\n shape.height = h;\n },\n roundRect: function (x, y, w, h, shape) {\n shape.x = x;\n shape.y = y;\n shape.width = w;\n shape.height = h;\n shape.r = Math.min(w, h) / 4;\n },\n square: function (x, y, w, h, shape) {\n var size = Math.min(w, h);\n shape.x = x;\n shape.y = y;\n shape.width = size;\n shape.height = size;\n },\n circle: function (x, y, w, h, shape) {\n // Put circle in the center of square\n shape.cx = x + w / 2;\n shape.cy = y + h / 2;\n shape.r = Math.min(w, h) / 2;\n },\n diamond: function (x, y, w, h, shape) {\n shape.cx = x + w / 2;\n shape.cy = y + h / 2;\n shape.width = w;\n shape.height = h;\n },\n pin: function (x, y, w, h, shape) {\n shape.x = x + w / 2;\n shape.y = y + h / 2;\n shape.width = w;\n shape.height = h;\n },\n arrow: function (x, y, w, h, shape) {\n shape.x = x + w / 2;\n shape.y = y + h / 2;\n shape.width = w;\n shape.height = h;\n },\n triangle: function (x, y, w, h, shape) {\n shape.cx = x + w / 2;\n shape.cy = y + h / 2;\n shape.width = w;\n shape.height = h;\n }\n};\nvar symbolBuildProxies = {};\nzrUtil.each(symbolCtors, function (Ctor, name) {\n symbolBuildProxies[name] = new Ctor();\n});\nvar SymbolClz = graphic.extendShape({\n type: 'symbol',\n shape: {\n symbolType: '',\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n calculateTextPosition: function (out, style, rect) {\n var res = calculateTextPosition(out, style, rect);\n var shape = this.shape;\n\n if (shape && shape.symbolType === 'pin' && style.textPosition === 'inside') {\n res.y = rect.y + rect.height * 0.4;\n }\n\n return res;\n },\n buildPath: function (ctx, shape, inBundle) {\n var symbolType = shape.symbolType;\n\n if (symbolType !== 'none') {\n var proxySymbol = symbolBuildProxies[symbolType];\n\n if (!proxySymbol) {\n // Default rect\n symbolType = 'rect';\n proxySymbol = symbolBuildProxies[symbolType];\n }\n\n symbolShapeMakers[symbolType](shape.x, shape.y, shape.width, shape.height, proxySymbol.shape);\n proxySymbol.buildPath(ctx, proxySymbol.shape, inBundle);\n }\n }\n}); // Provide setColor helper method to avoid determine if set the fill or stroke outside\n\nfunction symbolPathSetColor(color, innerColor) {\n if (this.type !== 'image') {\n var symbolStyle = this.style;\n var symbolShape = this.shape;\n\n if (symbolShape && symbolShape.symbolType === 'line') {\n symbolStyle.stroke = color;\n } else if (this.__isEmptyBrush) {\n symbolStyle.stroke = color;\n symbolStyle.fill = innerColor || '#fff';\n } else {\n // FIXME 判断图形默认是填充还是描边,使用 onlyStroke ?\n symbolStyle.fill && (symbolStyle.fill = color);\n symbolStyle.stroke && (symbolStyle.stroke = color);\n }\n\n this.dirty(false);\n }\n}\n/**\n * Create a symbol element with given symbol configuration: shape, x, y, width, height, color\n * @param {string} symbolType\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {string} color\n * @param {boolean} [keepAspect=false] whether to keep the ratio of w/h,\n * for path and image only.\n */\n\n\nfunction createSymbol(symbolType, x, y, w, h, color, keepAspect) {\n // TODO Support image object, DynamicImage.\n var isEmpty = symbolType.indexOf('empty') === 0;\n\n if (isEmpty) {\n symbolType = symbolType.substr(5, 1).toLowerCase() + symbolType.substr(6);\n }\n\n var symbolPath;\n\n if (symbolType.indexOf('image://') === 0) {\n symbolPath = graphic.makeImage(symbolType.slice(8), new BoundingRect(x, y, w, h), keepAspect ? 'center' : 'cover');\n } else if (symbolType.indexOf('path://') === 0) {\n symbolPath = graphic.makePath(symbolType.slice(7), {}, new BoundingRect(x, y, w, h), keepAspect ? 'center' : 'cover');\n } else {\n symbolPath = new SymbolClz({\n shape: {\n symbolType: symbolType,\n x: x,\n y: y,\n width: w,\n height: h\n }\n });\n }\n\n symbolPath.__isEmptyBrush = isEmpty;\n symbolPath.setColor = symbolPathSetColor;\n symbolPath.setColor(color);\n return symbolPath;\n}\n\nexports.createSymbol = createSymbol;","\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 ORIGIN_METHOD = '\\0__throttleOriginMethod';\nvar RATE = '\\0__throttleRate';\nvar THROTTLE_TYPE = '\\0__throttleType';\n/**\n * @public\n * @param {(Function)} fn\n * @param {number} [delay=0] Unit: ms.\n * @param {boolean} [debounce=false]\n * true: If call interval less than `delay`, only the last call works.\n * false: If call interval less than `delay, call works on fixed rate.\n * @return {(Function)} throttled fn.\n */\n\nfunction throttle(fn, delay, debounce) {\n var currCall;\n var lastCall = 0;\n var lastExec = 0;\n var timer = null;\n var diff;\n var scope;\n var args;\n var debounceNextCall;\n delay = delay || 0;\n\n function exec() {\n lastExec = new Date().getTime();\n timer = null;\n fn.apply(scope, args || []);\n }\n\n var cb = function () {\n currCall = new Date().getTime();\n scope = this;\n args = arguments;\n var thisDelay = debounceNextCall || delay;\n var thisDebounce = debounceNextCall || debounce;\n debounceNextCall = null;\n diff = currCall - (thisDebounce ? lastCall : lastExec) - thisDelay;\n clearTimeout(timer); // Here we should make sure that: the `exec` SHOULD NOT be called later\n // than a new call of `cb`, that is, preserving the command order. Consider\n // calculating \"scale rate\" when roaming as an example. When a call of `cb`\n // happens, either the `exec` is called dierectly, or the call is delayed.\n // But the delayed call should never be later than next call of `cb`. Under\n // this assurance, we can simply update view state each time `dispatchAction`\n // triggered by user roaming, but not need to add extra code to avoid the\n // state being \"rolled-back\".\n\n if (thisDebounce) {\n timer = setTimeout(exec, thisDelay);\n } else {\n if (diff >= 0) {\n exec();\n } else {\n timer = setTimeout(exec, -diff);\n }\n }\n\n lastCall = currCall;\n };\n /**\n * Clear throttle.\n * @public\n */\n\n\n cb.clear = function () {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n };\n /**\n * Enable debounce once.\n */\n\n\n cb.debounceNextCall = function (debounceDelay) {\n debounceNextCall = debounceDelay;\n };\n\n return cb;\n}\n/**\n * Create throttle method or update throttle rate.\n *\n * @example\n * ComponentView.prototype.render = function () {\n * ...\n * throttle.createOrUpdate(\n * this,\n * '_dispatchAction',\n * this.model.get('throttle'),\n * 'fixRate'\n * );\n * };\n * ComponentView.prototype.remove = function () {\n * throttle.clear(this, '_dispatchAction');\n * };\n * ComponentView.prototype.dispose = function () {\n * throttle.clear(this, '_dispatchAction');\n * };\n *\n * @public\n * @param {Object} obj\n * @param {string} fnAttr\n * @param {number} [rate]\n * @param {string} [throttleType='fixRate'] 'fixRate' or 'debounce'\n * @return {Function} throttled function.\n */\n\n\nfunction createOrUpdate(obj, fnAttr, rate, throttleType) {\n var fn = obj[fnAttr];\n\n if (!fn) {\n return;\n }\n\n var originFn = fn[ORIGIN_METHOD] || fn;\n var lastThrottleType = fn[THROTTLE_TYPE];\n var lastRate = fn[RATE];\n\n if (lastRate !== rate || lastThrottleType !== throttleType) {\n if (rate == null || !throttleType) {\n return obj[fnAttr] = originFn;\n }\n\n fn = obj[fnAttr] = throttle(originFn, rate, throttleType === 'debounce');\n fn[ORIGIN_METHOD] = originFn;\n fn[THROTTLE_TYPE] = throttleType;\n fn[RATE] = rate;\n }\n\n return fn;\n}\n/**\n * Clear throttle. Example see throttle.createOrUpdate.\n *\n * @public\n * @param {Object} obj\n * @param {string} fnAttr\n */\n\n\nfunction clear(obj, fnAttr) {\n var fn = obj[fnAttr];\n\n if (fn && fn[ORIGIN_METHOD]) {\n obj[fnAttr] = fn[ORIGIN_METHOD];\n }\n}\n\nexports.throttle = throttle;\nexports.createOrUpdate = createOrUpdate;\nexports.clear = clear;","\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 Group = require(\"zrender/lib/container/Group\");\n\nvar componentUtil = require(\"../util/component\");\n\nvar clazzUtil = require(\"../util/clazz\");\n\nvar modelUtil = require(\"../util/model\");\n\nvar graphicUtil = require(\"../util/graphic\");\n\nvar _task = require(\"../stream/task\");\n\nvar createTask = _task.createTask;\n\nvar createRenderPlanner = require(\"../chart/helper/createRenderPlanner\");\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 inner = modelUtil.makeInner();\nvar renderPlanner = createRenderPlanner();\n\nfunction Chart() {\n /**\n * @type {module:zrender/container/Group}\n * @readOnly\n */\n this.group = new Group();\n /**\n * @type {string}\n * @readOnly\n */\n\n this.uid = componentUtil.getUID('viewChart');\n this.renderTask = createTask({\n plan: renderTaskPlan,\n reset: renderTaskReset\n });\n this.renderTask.context = {\n view: this\n };\n}\n\nChart.prototype = {\n type: 'chart',\n\n /**\n * Init the chart.\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n init: function (ecModel, api) {},\n\n /**\n * Render the chart.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n render: function (seriesModel, ecModel, api, payload) {},\n\n /**\n * Highlight series or specified data item.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n highlight: function (seriesModel, ecModel, api, payload) {\n toggleHighlight(seriesModel.getData(), payload, 'emphasis');\n },\n\n /**\n * Downplay series or specified data item.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n downplay: function (seriesModel, ecModel, api, payload) {\n toggleHighlight(seriesModel.getData(), payload, 'normal');\n },\n\n /**\n * Remove self.\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n remove: function (ecModel, api) {\n this.group.removeAll();\n },\n\n /**\n * Dispose self.\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n dispose: function () {},\n\n /**\n * Rendering preparation in progressive mode.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n incrementalPrepareRender: null,\n\n /**\n * Render in progressive mode.\n * @param {Object} params See taskParams in `stream/task.js`\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n incrementalRender: null,\n\n /**\n * Update transform directly.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n * @return {Object} {update: true}\n */\n updateTransform: null,\n\n /**\n * The view contains the given point.\n * @interface\n * @param {Array.} point\n * @return {boolean}\n */\n // containPoint: function () {}\n\n /**\n * @param {string} eventType\n * @param {Object} query\n * @param {module:zrender/Element} targetEl\n * @param {Object} packedEvent\n * @return {boolen} Pass only when return `true`.\n */\n filterForExposedEvent: null\n};\nvar chartProto = Chart.prototype;\n\nchartProto.updateView = chartProto.updateLayout = chartProto.updateVisual = function (seriesModel, ecModel, api, payload) {\n this.render(seriesModel, ecModel, api, payload);\n};\n/**\n * Set state of single element\n * @param {module:zrender/Element} el\n * @param {string} state 'normal'|'emphasis'\n * @param {number} highlightDigit\n */\n\n\nfunction elSetState(el, state, highlightDigit) {\n if (el) {\n el.trigger(state, highlightDigit);\n\n if (el.isGroup // Simple optimize.\n && !graphicUtil.isHighDownDispatcher(el)) {\n for (var i = 0, len = el.childCount(); i < len; i++) {\n elSetState(el.childAt(i), state, highlightDigit);\n }\n }\n }\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {Object} payload\n * @param {string} state 'normal'|'emphasis'\n */\n\n\nfunction toggleHighlight(data, payload, state) {\n var dataIndex = modelUtil.queryDataIndex(data, payload);\n var highlightDigit = payload && payload.highlightKey != null ? graphicUtil.getHighlightDigit(payload.highlightKey) : null;\n\n if (dataIndex != null) {\n each(modelUtil.normalizeToArray(dataIndex), function (dataIdx) {\n elSetState(data.getItemGraphicEl(dataIdx), state, highlightDigit);\n });\n } else {\n data.eachItemGraphicEl(function (el) {\n elSetState(el, state, highlightDigit);\n });\n }\n} // Enable Chart.extend.\n\n\nclazzUtil.enableClassExtend(Chart, ['dispose']); // Add capability of registerClass, getClass, hasClass, registerSubTypeDefaulter and so on.\n\nclazzUtil.enableClassManagement(Chart, {\n registerWhenExtend: true\n});\n\nChart.markUpdateMethod = function (payload, methodName) {\n inner(payload).updateMethod = methodName;\n};\n\nfunction renderTaskPlan(context) {\n return renderPlanner(context.model);\n}\n\nfunction renderTaskReset(context) {\n var seriesModel = context.model;\n var ecModel = context.ecModel;\n var api = context.api;\n var payload = context.payload; // ???! remove updateView updateVisual\n\n var progressiveRender = seriesModel.pipelineContext.progressiveRender;\n var view = context.view;\n var updateMethod = payload && inner(payload).updateMethod;\n var methodName = progressiveRender ? 'incrementalPrepareRender' : updateMethod && view[updateMethod] ? updateMethod // `appendData` is also supported when data amount\n // is less than progressive threshold.\n : 'render';\n\n if (methodName !== 'render') {\n view[methodName](seriesModel, ecModel, api, payload);\n }\n\n return progressMethodMap[methodName];\n}\n\nvar progressMethodMap = {\n incrementalPrepareRender: {\n progress: function (params, context) {\n context.view.incrementalRender(params, context.model, context.ecModel, context.api, context.payload);\n }\n },\n render: {\n // Put view.render in `progress` to support appendData. But in this case\n // view.render should not be called in reset, otherwise it will be called\n // twise. Use `forceFirstProgress` to make sure that view.render is called\n // in any cases.\n forceFirstProgress: true,\n progress: function (params, context) {\n context.view.render(context.model, context.ecModel, context.api, context.payload);\n }\n }\n};\nvar _default = Chart;\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 Group = require(\"zrender/lib/container/Group\");\n\nvar componentUtil = require(\"../util/component\");\n\nvar clazzUtil = require(\"../util/clazz\");\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 Component = function () {\n /**\n * @type {module:zrender/container/Group}\n * @readOnly\n */\n this.group = new Group();\n /**\n * @type {string}\n * @readOnly\n */\n\n this.uid = componentUtil.getUID('viewComponent');\n};\n\nComponent.prototype = {\n constructor: Component,\n init: function (ecModel, api) {},\n render: function (componentModel, ecModel, api, payload) {},\n dispose: function () {},\n\n /**\n * @param {string} eventType\n * @param {Object} query\n * @param {module:zrender/Element} targetEl\n * @param {Object} packedEvent\n * @return {boolen} Pass only when return `true`.\n */\n filterForExposedEvent: null\n};\nvar componentProto = Component.prototype;\n\ncomponentProto.updateView = componentProto.updateLayout = componentProto.updateVisual = function (seriesModel, ecModel, api, payload) {// Do nothing;\n}; // Enable Component.extend.\n\n\nclazzUtil.enableClassExtend(Component); // Enable capability of registerClass, getClass, hasClass, registerSubTypeDefaulter and so on.\n\nclazzUtil.enableClassManagement(Component, {\n registerWhenExtend: true\n});\nvar _default = Component;\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*/\n\n/**\n * LegendVisualProvider is an bridge that pick encoded color from data and\n * provide to the legend component.\n * @param {Function} getDataWithEncodedVisual Function to get data after filtered. It stores all the encoding info\n * @param {Function} getRawData Function to get raw data before filtered.\n */\nfunction LegendVisualProvider(getDataWithEncodedVisual, getRawData) {\n this.getAllNames = function () {\n var rawData = getRawData(); // We find the name from the raw data. In case it's filtered by the legend component.\n // Normally, the name can be found in rawData, but can't be found in filtered data will display as gray.\n\n return rawData.mapArray(rawData.getName);\n };\n\n this.containName = function (name) {\n var rawData = getRawData();\n return rawData.indexOfName(name) >= 0;\n };\n\n this.indexOfName = function (name) {\n // Only get data when necessary.\n // Because LegendVisualProvider constructor may be new in the stage that data is not prepared yet.\n // Invoking Series#getData immediately will throw an error.\n var dataWithEncodedVisual = getDataWithEncodedVisual();\n return dataWithEncodedVisual.indexOfName(name);\n };\n\n this.getItemVisual = function (dataIndex, key) {\n // Get encoded visual properties from final filtered data.\n var dataWithEncodedVisual = getDataWithEncodedVisual();\n return dataWithEncodedVisual.getItemVisual(dataIndex, key);\n };\n}\n\nvar _default = LegendVisualProvider;\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 zrColor = require(\"zrender/lib/tool/color\");\n\nvar _number = require(\"../util/number\");\n\nvar linearMap = _number.linearMap;\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 each = zrUtil.each;\nvar isObject = zrUtil.isObject;\nvar CATEGORY_DEFAULT_VISUAL_INDEX = -1;\n/**\n * @param {Object} option\n * @param {string} [option.type] See visualHandlers.\n * @param {string} [option.mappingMethod] 'linear' or 'piecewise' or 'category' or 'fixed'\n * @param {Array.=} [option.dataExtent] [minExtent, maxExtent],\n * required when mappingMethod is 'linear'\n * @param {Array.=} [option.pieceList] [\n * {value: someValue},\n * {interval: [min1, max1], visual: {...}},\n * {interval: [min2, max2]}\n * ],\n * required when mappingMethod is 'piecewise'.\n * Visual for only each piece can be specified.\n * @param {Array.=} [option.categories] ['cate1', 'cate2']\n * required when mappingMethod is 'category'.\n * If no option.categories, categories is set\n * as [0, 1, 2, ...].\n * @param {boolean} [option.loop=false] Whether loop mapping when mappingMethod is 'category'.\n * @param {(Array|Object|*)} [option.visual] Visual data.\n * when mappingMethod is 'category',\n * visual data can be array or object\n * (like: {cate1: '#222', none: '#fff'})\n * or primary types (which represents\n * defualt category visual), otherwise visual\n * can be array or primary (which will be\n * normalized to array).\n *\n */\n\nvar VisualMapping = function (option) {\n var mappingMethod = option.mappingMethod;\n var visualType = option.type;\n /**\n * @readOnly\n * @type {Object}\n */\n\n var thisOption = this.option = zrUtil.clone(option);\n /**\n * @readOnly\n * @type {string}\n */\n\n this.type = visualType;\n /**\n * @readOnly\n * @type {string}\n */\n\n this.mappingMethod = mappingMethod;\n /**\n * @private\n * @type {Function}\n */\n\n this._normalizeData = normalizers[mappingMethod];\n var visualHandler = visualHandlers[visualType];\n /**\n * @public\n * @type {Function}\n */\n\n this.applyVisual = visualHandler.applyVisual;\n /**\n * @public\n * @type {Function}\n */\n\n this.getColorMapper = visualHandler.getColorMapper;\n /**\n * @private\n * @type {Function}\n */\n\n this._doMap = visualHandler._doMap[mappingMethod];\n\n if (mappingMethod === 'piecewise') {\n normalizeVisualRange(thisOption);\n preprocessForPiecewise(thisOption);\n } else if (mappingMethod === 'category') {\n thisOption.categories ? preprocessForSpecifiedCategory(thisOption) // categories is ordinal when thisOption.categories not specified,\n // which need no more preprocess except normalize visual.\n : normalizeVisualRange(thisOption, true);\n } else {\n // mappingMethod === 'linear' or 'fixed'\n zrUtil.assert(mappingMethod !== 'linear' || thisOption.dataExtent);\n normalizeVisualRange(thisOption);\n }\n};\n\nVisualMapping.prototype = {\n constructor: VisualMapping,\n mapValueToVisual: function (value) {\n var normalized = this._normalizeData(value);\n\n return this._doMap(normalized, value);\n },\n getNormalizer: function () {\n return zrUtil.bind(this._normalizeData, this);\n }\n};\nvar visualHandlers = VisualMapping.visualHandlers = {\n color: {\n applyVisual: makeApplyVisual('color'),\n\n /**\n * Create a mapper function\n * @return {Function}\n */\n getColorMapper: function () {\n var thisOption = this.option;\n return zrUtil.bind(thisOption.mappingMethod === 'category' ? function (value, isNormalized) {\n !isNormalized && (value = this._normalizeData(value));\n return doMapCategory.call(this, value);\n } : function (value, isNormalized, out) {\n // If output rgb array\n // which will be much faster and useful in pixel manipulation\n var returnRGBArray = !!out;\n !isNormalized && (value = this._normalizeData(value));\n out = zrColor.fastLerp(value, thisOption.parsedVisual, out);\n return returnRGBArray ? out : zrColor.stringify(out, 'rgba');\n }, this);\n },\n _doMap: {\n linear: function (normalized) {\n return zrColor.stringify(zrColor.fastLerp(normalized, this.option.parsedVisual), 'rgba');\n },\n category: doMapCategory,\n piecewise: function (normalized, value) {\n var result = getSpecifiedVisual.call(this, value);\n\n if (result == null) {\n result = zrColor.stringify(zrColor.fastLerp(normalized, this.option.parsedVisual), 'rgba');\n }\n\n return result;\n },\n fixed: doMapFixed\n }\n },\n colorHue: makePartialColorVisualHandler(function (color, value) {\n return zrColor.modifyHSL(color, value);\n }),\n colorSaturation: makePartialColorVisualHandler(function (color, value) {\n return zrColor.modifyHSL(color, null, value);\n }),\n colorLightness: makePartialColorVisualHandler(function (color, value) {\n return zrColor.modifyHSL(color, null, null, value);\n }),\n colorAlpha: makePartialColorVisualHandler(function (color, value) {\n return zrColor.modifyAlpha(color, value);\n }),\n opacity: {\n applyVisual: makeApplyVisual('opacity'),\n _doMap: makeDoMap([0, 1])\n },\n liftZ: {\n applyVisual: makeApplyVisual('liftZ'),\n _doMap: {\n linear: doMapFixed,\n category: doMapFixed,\n piecewise: doMapFixed,\n fixed: doMapFixed\n }\n },\n symbol: {\n applyVisual: function (value, getter, setter) {\n var symbolCfg = this.mapValueToVisual(value);\n\n if (zrUtil.isString(symbolCfg)) {\n setter('symbol', symbolCfg);\n } else if (isObject(symbolCfg)) {\n for (var name in symbolCfg) {\n if (symbolCfg.hasOwnProperty(name)) {\n setter(name, symbolCfg[name]);\n }\n }\n }\n },\n _doMap: {\n linear: doMapToArray,\n category: doMapCategory,\n piecewise: function (normalized, value) {\n var result = getSpecifiedVisual.call(this, value);\n\n if (result == null) {\n result = doMapToArray.call(this, normalized);\n }\n\n return result;\n },\n fixed: doMapFixed\n }\n },\n symbolSize: {\n applyVisual: makeApplyVisual('symbolSize'),\n _doMap: makeDoMap([0, 1])\n }\n};\n\nfunction preprocessForPiecewise(thisOption) {\n var pieceList = thisOption.pieceList;\n thisOption.hasSpecialVisual = false;\n zrUtil.each(pieceList, function (piece, index) {\n piece.originIndex = index; // piece.visual is \"result visual value\" but not\n // a visual range, so it does not need to be normalized.\n\n if (piece.visual != null) {\n thisOption.hasSpecialVisual = true;\n }\n });\n}\n\nfunction preprocessForSpecifiedCategory(thisOption) {\n // Hash categories.\n var categories = thisOption.categories;\n var visual = thisOption.visual;\n var categoryMap = thisOption.categoryMap = {};\n each(categories, function (cate, index) {\n categoryMap[cate] = index;\n }); // Process visual map input.\n\n if (!zrUtil.isArray(visual)) {\n var visualArr = [];\n\n if (zrUtil.isObject(visual)) {\n each(visual, function (v, cate) {\n var index = categoryMap[cate];\n visualArr[index != null ? index : CATEGORY_DEFAULT_VISUAL_INDEX] = v;\n });\n } else {\n // Is primary type, represents default visual.\n visualArr[CATEGORY_DEFAULT_VISUAL_INDEX] = visual;\n }\n\n visual = setVisualToOption(thisOption, visualArr);\n } // Remove categories that has no visual,\n // then we can mapping them to CATEGORY_DEFAULT_VISUAL_INDEX.\n\n\n for (var i = categories.length - 1; i >= 0; i--) {\n if (visual[i] == null) {\n delete categoryMap[categories[i]];\n categories.pop();\n }\n }\n}\n\nfunction normalizeVisualRange(thisOption, isCategory) {\n var visual = thisOption.visual;\n var visualArr = [];\n\n if (zrUtil.isObject(visual)) {\n each(visual, function (v) {\n visualArr.push(v);\n });\n } else if (visual != null) {\n visualArr.push(visual);\n }\n\n var doNotNeedPair = {\n color: 1,\n symbol: 1\n };\n\n if (!isCategory && visualArr.length === 1 && !doNotNeedPair.hasOwnProperty(thisOption.type)) {\n // Do not care visualArr.length === 0, which is illegal.\n visualArr[1] = visualArr[0];\n }\n\n setVisualToOption(thisOption, visualArr);\n}\n\nfunction makePartialColorVisualHandler(applyValue) {\n return {\n applyVisual: function (value, getter, setter) {\n value = this.mapValueToVisual(value); // Must not be array value\n\n setter('color', applyValue(getter('color'), value));\n },\n _doMap: makeDoMap([0, 1])\n };\n}\n\nfunction doMapToArray(normalized) {\n var visual = this.option.visual;\n return visual[Math.round(linearMap(normalized, [0, 1], [0, visual.length - 1], true))] || {};\n}\n\nfunction makeApplyVisual(visualType) {\n return function (value, getter, setter) {\n setter(visualType, this.mapValueToVisual(value));\n };\n}\n\nfunction doMapCategory(normalized) {\n var visual = this.option.visual;\n return visual[this.option.loop && normalized !== CATEGORY_DEFAULT_VISUAL_INDEX ? normalized % visual.length : normalized];\n}\n\nfunction doMapFixed() {\n return this.option.visual[0];\n}\n\nfunction makeDoMap(sourceExtent) {\n return {\n linear: function (normalized) {\n return linearMap(normalized, sourceExtent, this.option.visual, true);\n },\n category: doMapCategory,\n piecewise: function (normalized, value) {\n var result = getSpecifiedVisual.call(this, value);\n\n if (result == null) {\n result = linearMap(normalized, sourceExtent, this.option.visual, true);\n }\n\n return result;\n },\n fixed: doMapFixed\n };\n}\n\nfunction getSpecifiedVisual(value) {\n var thisOption = this.option;\n var pieceList = thisOption.pieceList;\n\n if (thisOption.hasSpecialVisual) {\n var pieceIndex = VisualMapping.findPieceIndex(value, pieceList);\n var piece = pieceList[pieceIndex];\n\n if (piece && piece.visual) {\n return piece.visual[this.type];\n }\n }\n}\n\nfunction setVisualToOption(thisOption, visualArr) {\n thisOption.visual = visualArr;\n\n if (thisOption.type === 'color') {\n thisOption.parsedVisual = zrUtil.map(visualArr, function (item) {\n return zrColor.parse(item);\n });\n }\n\n return visualArr;\n}\n/**\n * Normalizers by mapping methods.\n */\n\n\nvar normalizers = {\n linear: function (value) {\n return linearMap(value, this.option.dataExtent, [0, 1], true);\n },\n piecewise: function (value) {\n var pieceList = this.option.pieceList;\n var pieceIndex = VisualMapping.findPieceIndex(value, pieceList, true);\n\n if (pieceIndex != null) {\n return linearMap(pieceIndex, [0, pieceList.length - 1], [0, 1], true);\n }\n },\n category: function (value) {\n var index = this.option.categories ? this.option.categoryMap[value] : value; // ordinal\n\n return index == null ? CATEGORY_DEFAULT_VISUAL_INDEX : index;\n },\n fixed: zrUtil.noop\n};\n/**\n * List available visual types.\n *\n * @public\n * @return {Array.}\n */\n\nVisualMapping.listVisualTypes = function () {\n var visualTypes = [];\n zrUtil.each(visualHandlers, function (handler, key) {\n visualTypes.push(key);\n });\n return visualTypes;\n};\n/**\n * @public\n */\n\n\nVisualMapping.addVisualHandler = function (name, handler) {\n visualHandlers[name] = handler;\n};\n/**\n * @public\n */\n\n\nVisualMapping.isValidType = function (visualType) {\n return visualHandlers.hasOwnProperty(visualType);\n};\n/**\n * Convinent method.\n * Visual can be Object or Array or primary type.\n *\n * @public\n */\n\n\nVisualMapping.eachVisual = function (visual, callback, context) {\n if (zrUtil.isObject(visual)) {\n zrUtil.each(visual, callback, context);\n } else {\n callback.call(context, visual);\n }\n};\n\nVisualMapping.mapVisual = function (visual, callback, context) {\n var isPrimary;\n var newVisual = zrUtil.isArray(visual) ? [] : zrUtil.isObject(visual) ? {} : (isPrimary = true, null);\n VisualMapping.eachVisual(visual, function (v, key) {\n var newVal = callback.call(context, v, key);\n isPrimary ? newVisual = newVal : newVisual[key] = newVal;\n });\n return newVisual;\n};\n/**\n * @public\n * @param {Object} obj\n * @return {Object} new object containers visual values.\n * If no visuals, return null.\n */\n\n\nVisualMapping.retrieveVisuals = function (obj) {\n var ret = {};\n var hasVisual;\n obj && each(visualHandlers, function (h, visualType) {\n if (obj.hasOwnProperty(visualType)) {\n ret[visualType] = obj[visualType];\n hasVisual = true;\n }\n });\n return hasVisual ? ret : null;\n};\n/**\n * Give order to visual types, considering colorSaturation, colorAlpha depends on color.\n *\n * @public\n * @param {(Object|Array)} visualTypes If Object, like: {color: ..., colorSaturation: ...}\n * IF Array, like: ['color', 'symbol', 'colorSaturation']\n * @return {Array.} Sorted visual types.\n */\n\n\nVisualMapping.prepareVisualTypes = function (visualTypes) {\n if (isObject(visualTypes)) {\n var types = [];\n each(visualTypes, function (item, type) {\n types.push(type);\n });\n visualTypes = types;\n } else if (zrUtil.isArray(visualTypes)) {\n visualTypes = visualTypes.slice();\n } else {\n return [];\n }\n\n visualTypes.sort(function (type1, type2) {\n // color should be front of colorSaturation, colorAlpha, ...\n // symbol and symbolSize do not matter.\n return type2 === 'color' && type1 !== 'color' && type1.indexOf('color') === 0 ? 1 : -1;\n });\n return visualTypes;\n};\n/**\n * 'color', 'colorSaturation', 'colorAlpha', ... are depends on 'color'.\n * Other visuals are only depends on themself.\n *\n * @public\n * @param {string} visualType1\n * @param {string} visualType2\n * @return {boolean}\n */\n\n\nVisualMapping.dependsOn = function (visualType1, visualType2) {\n return visualType2 === 'color' ? !!(visualType1 && visualType1.indexOf(visualType2) === 0) : visualType1 === visualType2;\n};\n/**\n * @param {number} value\n * @param {Array.} pieceList [{value: ..., interval: [min, max]}, ...]\n * Always from small to big.\n * @param {boolean} [findClosestWhenOutside=false]\n * @return {number} index\n */\n\n\nVisualMapping.findPieceIndex = function (value, pieceList, findClosestWhenOutside) {\n var possibleI;\n var abs = Infinity; // value has the higher priority.\n\n for (var i = 0, len = pieceList.length; i < len; i++) {\n var pieceValue = pieceList[i].value;\n\n if (pieceValue != null) {\n if (pieceValue === value // FIXME\n // It is supposed to compare value according to value type of dimension,\n // but currently value type can exactly be string or number.\n // Compromise for numeric-like string (like '12'), especially\n // in the case that visualMap.categories is ['22', '33'].\n || typeof pieceValue === 'string' && pieceValue === value + '') {\n return i;\n }\n\n findClosestWhenOutside && updatePossible(pieceValue, i);\n }\n }\n\n for (var i = 0, len = pieceList.length; i < len; i++) {\n var piece = pieceList[i];\n var interval = piece.interval;\n var close = piece.close;\n\n if (interval) {\n if (interval[0] === -Infinity) {\n if (littleThan(close[1], value, interval[1])) {\n return i;\n }\n } else if (interval[1] === Infinity) {\n if (littleThan(close[0], interval[0], value)) {\n return i;\n }\n } else if (littleThan(close[0], interval[0], value) && littleThan(close[1], value, interval[1])) {\n return i;\n }\n\n findClosestWhenOutside && updatePossible(interval[0], i);\n findClosestWhenOutside && updatePossible(interval[1], i);\n }\n }\n\n if (findClosestWhenOutside) {\n return value === Infinity ? pieceList.length - 1 : value === -Infinity ? 0 : possibleI;\n }\n\n function updatePossible(val, index) {\n var newAbs = Math.abs(val - value);\n\n if (newAbs < abs) {\n abs = newAbs;\n possibleI = index;\n }\n }\n};\n\nfunction littleThan(close, a, b) {\n return close ? a <= b : a < b;\n}\n\nvar _default = VisualMapping;\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 lang = require(\"../lang\");\n\nvar _dataProvider = require(\"../data/helper/dataProvider\");\n\nvar retrieveRawValue = _dataProvider.retrieveRawValue;\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(dom, ecModel) {\n var ariaModel = ecModel.getModel('aria');\n\n if (!ariaModel.get('show')) {\n return;\n } else if (ariaModel.get('description')) {\n dom.setAttribute('aria-label', ariaModel.get('description'));\n return;\n }\n\n var seriesCnt = 0;\n ecModel.eachSeries(function (seriesModel, idx) {\n ++seriesCnt;\n }, this);\n var maxDataCnt = ariaModel.get('data.maxCount') || 10;\n var maxSeriesCnt = ariaModel.get('series.maxCount') || 10;\n var displaySeriesCnt = Math.min(seriesCnt, maxSeriesCnt);\n var ariaLabel;\n\n if (seriesCnt < 1) {\n // No series, no aria label\n return;\n } else {\n var title = getTitle();\n\n if (title) {\n ariaLabel = replace(getConfig('general.withTitle'), {\n title: title\n });\n } else {\n ariaLabel = getConfig('general.withoutTitle');\n }\n\n var seriesLabels = [];\n var prefix = seriesCnt > 1 ? 'series.multiple.prefix' : 'series.single.prefix';\n ariaLabel += replace(getConfig(prefix), {\n seriesCount: seriesCnt\n });\n ecModel.eachSeries(function (seriesModel, idx) {\n if (idx < displaySeriesCnt) {\n var seriesLabel;\n var seriesName = seriesModel.get('name');\n var seriesTpl = 'series.' + (seriesCnt > 1 ? 'multiple' : 'single') + '.';\n seriesLabel = getConfig(seriesName ? seriesTpl + 'withName' : seriesTpl + 'withoutName');\n seriesLabel = replace(seriesLabel, {\n seriesId: seriesModel.seriesIndex,\n seriesName: seriesModel.get('name'),\n seriesType: getSeriesTypeName(seriesModel.subType)\n });\n var data = seriesModel.getData();\n window.data = data;\n\n if (data.count() > maxDataCnt) {\n // Show part of data\n seriesLabel += replace(getConfig('data.partialData'), {\n displayCnt: maxDataCnt\n });\n } else {\n seriesLabel += getConfig('data.allData');\n }\n\n var dataLabels = [];\n\n for (var i = 0; i < data.count(); i++) {\n if (i < maxDataCnt) {\n var name = data.getName(i);\n var value = retrieveRawValue(data, i);\n dataLabels.push(replace(name ? getConfig('data.withName') : getConfig('data.withoutName'), {\n name: name,\n value: value\n }));\n }\n }\n\n seriesLabel += dataLabels.join(getConfig('data.separator.middle')) + getConfig('data.separator.end');\n seriesLabels.push(seriesLabel);\n }\n });\n ariaLabel += seriesLabels.join(getConfig('series.multiple.separator.middle')) + getConfig('series.multiple.separator.end');\n dom.setAttribute('aria-label', ariaLabel);\n }\n\n function replace(str, keyValues) {\n if (typeof str !== 'string') {\n return str;\n }\n\n var result = str;\n zrUtil.each(keyValues, function (value, key) {\n result = result.replace(new RegExp('\\\\{\\\\s*' + key + '\\\\s*\\\\}', 'g'), value);\n });\n return result;\n }\n\n function getConfig(path) {\n var userConfig = ariaModel.get(path);\n\n if (userConfig == null) {\n var pathArr = path.split('.');\n var result = lang.aria;\n\n for (var i = 0; i < pathArr.length; ++i) {\n result = result[pathArr[i]];\n }\n\n return result;\n } else {\n return userConfig;\n }\n }\n\n function getTitle() {\n var title = ecModel.getModel('title').option;\n\n if (title && title.length) {\n title = title[0];\n }\n\n return title && title.text;\n }\n\n function getSeriesTypeName(type) {\n return lang.series.typeNames[type] || '自定义图';\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 _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\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// Pick color from palette for each data item.\n// Applicable for charts that require applying color palette\n// in data level (like pie, funnel, chord).\nfunction _default(seriesType) {\n return {\n getTargetSeries: function (ecModel) {\n // Pie and funnel may use diferrent scope\n var paletteScope = {};\n var seiresModelMap = createHashMap();\n ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n seriesModel.__paletteScope = paletteScope;\n seiresModelMap.set(seriesModel.uid, seriesModel);\n });\n return seiresModelMap;\n },\n reset: function (seriesModel, ecModel) {\n var dataAll = seriesModel.getRawData();\n var idxMap = {};\n var data = seriesModel.getData();\n data.each(function (idx) {\n var rawIdx = data.getRawIndex(idx);\n idxMap[rawIdx] = idx;\n });\n dataAll.each(function (rawIdx) {\n var filteredIdx = idxMap[rawIdx]; // If series.itemStyle.normal.color is a function. itemVisual may be encoded\n\n var singleDataColor = filteredIdx != null && data.getItemVisual(filteredIdx, 'color', true);\n var singleDataBorderColor = filteredIdx != null && data.getItemVisual(filteredIdx, 'borderColor', true);\n var itemModel;\n\n if (!singleDataColor || !singleDataBorderColor) {\n // FIXME Performance\n itemModel = dataAll.getItemModel(rawIdx);\n }\n\n if (!singleDataColor) {\n var color = itemModel.get('itemStyle.color') || seriesModel.getColorFromPalette(dataAll.getName(rawIdx) || rawIdx + '', seriesModel.__paletteScope, dataAll.count()); // Data is not filtered\n\n if (filteredIdx != null) {\n data.setItemVisual(filteredIdx, 'color', color);\n }\n }\n\n if (!singleDataBorderColor) {\n var borderColor = itemModel.get('itemStyle.borderColor'); // Data is not filtered\n\n if (filteredIdx != null) {\n data.setItemVisual(filteredIdx, 'borderColor', borderColor);\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 Gradient = require(\"zrender/lib/graphic/Gradient\");\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar isFunction = _util.isFunction;\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 = {\n createOnAllSeries: true,\n performRawSeries: true,\n reset: function (seriesModel, ecModel) {\n var data = seriesModel.getData();\n var colorAccessPath = (seriesModel.visualColorAccessPath || 'itemStyle.color').split('.'); // Set in itemStyle\n\n var color = seriesModel.get(colorAccessPath);\n var colorCallback = isFunction(color) && !(color instanceof Gradient) ? color : null; // Default color\n\n if (!color || colorCallback) {\n color = seriesModel.getColorFromPalette( // TODO series count changed.\n seriesModel.name, null, ecModel.getSeriesCount());\n }\n\n data.setVisual('color', color);\n var borderColorAccessPath = (seriesModel.visualBorderColorAccessPath || 'itemStyle.borderColor').split('.');\n var borderColor = seriesModel.get(borderColorAccessPath);\n data.setVisual('borderColor', borderColor); // Only visible series has each data be visual encoded\n\n if (!ecModel.isSeriesFiltered(seriesModel)) {\n if (colorCallback) {\n data.each(function (idx) {\n data.setItemVisual(idx, 'color', colorCallback(seriesModel.getDataParams(idx)));\n });\n } // itemStyle in each data item\n\n\n var dataEach = function (data, idx) {\n var itemModel = data.getItemModel(idx);\n var color = itemModel.get(colorAccessPath, true);\n var borderColor = itemModel.get(borderColorAccessPath, true);\n\n if (color != null) {\n data.setItemVisual(idx, 'color', color);\n }\n\n if (borderColor != null) {\n data.setItemVisual(idx, 'borderColor', borderColor);\n }\n };\n\n return {\n dataEach: data.hasItemOption ? dataEach : 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 _util = require(\"zrender/lib/core/util\");\n\nvar isFunction = _util.isFunction;\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(seriesType, defaultSymbolType, legendSymbol) {\n // Encoding visual for all series include which is filtered for legend drawing\n return {\n seriesType: seriesType,\n // For legend.\n performRawSeries: true,\n reset: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var symbolType = seriesModel.get('symbol');\n var symbolSize = seriesModel.get('symbolSize');\n var keepAspect = seriesModel.get('symbolKeepAspect');\n var symbolRotate = seriesModel.get('symbolRotate');\n var hasSymbolTypeCallback = isFunction(symbolType);\n var hasSymbolSizeCallback = isFunction(symbolSize);\n var hasSymbolRotateCallback = isFunction(symbolRotate);\n var hasCallback = hasSymbolTypeCallback || hasSymbolSizeCallback || hasSymbolRotateCallback;\n var seriesSymbol = !hasSymbolTypeCallback && symbolType ? symbolType : defaultSymbolType;\n var seriesSymbolSize = !hasSymbolSizeCallback ? symbolSize : null;\n var seriesSymbolRotate = !hasSymbolRotateCallback ? seriesSymbolRotate : null;\n data.setVisual({\n legendSymbol: legendSymbol || seriesSymbol,\n // If seting callback functions on `symbol` or `symbolSize`, for simplicity and avoiding\n // to bring trouble, we do not pick a reuslt from one of its calling on data item here,\n // but just use the default value. Callback on `symbol` or `symbolSize` is convenient in\n // some cases but generally it is not recommanded.\n symbol: seriesSymbol,\n symbolSize: seriesSymbolSize,\n symbolKeepAspect: keepAspect,\n symbolRotate: symbolRotate\n }); // Only visible series has each data be visual encoded\n\n if (ecModel.isSeriesFiltered(seriesModel)) {\n return;\n }\n\n function dataEach(data, idx) {\n if (hasCallback) {\n var rawValue = seriesModel.getRawValue(idx);\n var params = seriesModel.getDataParams(idx);\n hasSymbolTypeCallback && data.setItemVisual(idx, 'symbol', symbolType(rawValue, params));\n hasSymbolSizeCallback && data.setItemVisual(idx, 'symbolSize', symbolSize(rawValue, params));\n hasSymbolRotateCallback && data.setItemVisual(idx, 'symbolRotate', symbolRotate(rawValue, params));\n }\n\n if (data.hasItemOption) {\n var itemModel = data.getItemModel(idx);\n var itemSymbolType = itemModel.getShallow('symbol', true);\n var itemSymbolSize = itemModel.getShallow('symbolSize', true);\n var itemSymbolRotate = itemModel.getShallow('symbolRotate', true);\n var itemSymbolKeepAspect = itemModel.getShallow('symbolKeepAspect', true); // If has item symbol\n\n if (itemSymbolType != null) {\n data.setItemVisual(idx, 'symbol', itemSymbolType);\n }\n\n if (itemSymbolSize != null) {\n // PENDING Transform symbolSize ?\n data.setItemVisual(idx, 'symbolSize', itemSymbolSize);\n }\n\n if (itemSymbolRotate != null) {\n data.setItemVisual(idx, 'symbolRotate', itemSymbolRotate);\n }\n\n if (itemSymbolKeepAspect != null) {\n data.setItemVisual(idx, 'symbolKeepAspect', itemSymbolKeepAspect);\n }\n }\n }\n\n return {\n dataEach: data.hasItemOption || hasCallback ? dataEach : null\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 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/**\n * @file Visual mapping.\n */\nvar visualDefault = {\n /**\n * @public\n */\n get: function (visualType, key, isCategory) {\n var value = zrUtil.clone((defaultOption[visualType] || {})[key]);\n return isCategory ? zrUtil.isArray(value) ? value[value.length - 1] : value : value;\n }\n};\nvar defaultOption = {\n color: {\n active: ['#006edd', '#e0ffff'],\n inactive: ['rgba(0,0,0,0)']\n },\n colorHue: {\n active: [0, 360],\n inactive: [0, 0]\n },\n colorSaturation: {\n active: [0.3, 1],\n inactive: [0, 0]\n },\n colorLightness: {\n active: [0.9, 0.5],\n inactive: [0, 0]\n },\n colorAlpha: {\n active: [0.3, 1],\n inactive: [0, 0]\n },\n opacity: {\n active: [0.3, 1],\n inactive: [0, 0]\n },\n symbol: {\n active: ['circle', 'roundRect', 'diamond'],\n inactive: ['none']\n },\n symbolSize: {\n active: [10, 50],\n inactive: [0, 0]\n }\n};\nvar _default = visualDefault;\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 VisualMapping = require(\"./VisualMapping\");\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 * @file Visual solution, for consistent option specification.\n */\nvar each = zrUtil.each;\n\nfunction hasKeys(obj) {\n if (obj) {\n for (var name in obj) {\n if (obj.hasOwnProperty(name)) {\n return true;\n }\n }\n }\n}\n/**\n * @param {Object} option\n * @param {Array.} stateList\n * @param {Function} [supplementVisualOption]\n * @return {Object} visualMappings >\n */\n\n\nfunction createVisualMappings(option, stateList, supplementVisualOption) {\n var visualMappings = {};\n each(stateList, function (state) {\n var mappings = visualMappings[state] = createMappings();\n each(option[state], function (visualData, visualType) {\n if (!VisualMapping.isValidType(visualType)) {\n return;\n }\n\n var mappingOption = {\n type: visualType,\n visual: visualData\n };\n supplementVisualOption && supplementVisualOption(mappingOption, state);\n mappings[visualType] = new VisualMapping(mappingOption); // Prepare a alpha for opacity, for some case that opacity\n // is not supported, such as rendering using gradient color.\n\n if (visualType === 'opacity') {\n mappingOption = zrUtil.clone(mappingOption);\n mappingOption.type = 'colorAlpha';\n mappings.__hidden.__alphaForOpacity = new VisualMapping(mappingOption);\n }\n });\n });\n return visualMappings;\n\n function createMappings() {\n var Creater = function () {}; // Make sure hidden fields will not be visited by\n // object iteration (with hasOwnProperty checking).\n\n\n Creater.prototype.__hidden = Creater.prototype;\n var obj = new Creater();\n return obj;\n }\n}\n/**\n * @param {Object} thisOption\n * @param {Object} newOption\n * @param {Array.} keys\n */\n\n\nfunction replaceVisualOption(thisOption, newOption, keys) {\n // Visual attributes merge is not supported, otherwise it\n // brings overcomplicated merge logic. See #2853. So if\n // newOption has anyone of these keys, all of these keys\n // will be reset. Otherwise, all keys remain.\n var has;\n zrUtil.each(keys, function (key) {\n if (newOption.hasOwnProperty(key) && hasKeys(newOption[key])) {\n has = true;\n }\n });\n has && zrUtil.each(keys, function (key) {\n if (newOption.hasOwnProperty(key) && hasKeys(newOption[key])) {\n thisOption[key] = zrUtil.clone(newOption[key]);\n } else {\n delete thisOption[key];\n }\n });\n}\n/**\n * @param {Array.} stateList\n * @param {Object} visualMappings >\n * @param {module:echarts/data/List} list\n * @param {Function} getValueState param: valueOrIndex, return: state.\n * @param {object} [scope] Scope for getValueState\n * @param {string} [dimension] Concrete dimension, if used.\n */\n// ???! handle brush?\n\n\nfunction applyVisual(stateList, visualMappings, data, getValueState, scope, dimension) {\n var visualTypesMap = {};\n zrUtil.each(stateList, function (state) {\n var visualTypes = VisualMapping.prepareVisualTypes(visualMappings[state]);\n visualTypesMap[state] = visualTypes;\n });\n var dataIndex;\n\n function getVisual(key) {\n return data.getItemVisual(dataIndex, key);\n }\n\n function setVisual(key, value) {\n data.setItemVisual(dataIndex, key, value);\n }\n\n if (dimension == null) {\n data.each(eachItem);\n } else {\n data.each([dimension], eachItem);\n }\n\n function eachItem(valueOrIndex, index) {\n dataIndex = dimension == null ? valueOrIndex : index;\n var rawDataItem = data.getRawDataItem(dataIndex); // Consider performance\n\n if (rawDataItem && rawDataItem.visualMap === false) {\n return;\n }\n\n var valueState = getValueState.call(scope, valueOrIndex);\n var mappings = visualMappings[valueState];\n var visualTypes = visualTypesMap[valueState];\n\n for (var i = 0, len = visualTypes.length; i < len; i++) {\n var type = visualTypes[i];\n mappings[type] && mappings[type].applyVisual(valueOrIndex, getVisual, setVisual);\n }\n }\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {Array.} stateList\n * @param {Object} visualMappings >\n * @param {Function} getValueState param: valueOrIndex, return: state.\n * @param {number} [dim] dimension or dimension index.\n */\n\n\nfunction incrementalApplyVisual(stateList, visualMappings, getValueState, dim) {\n var visualTypesMap = {};\n zrUtil.each(stateList, function (state) {\n var visualTypes = VisualMapping.prepareVisualTypes(visualMappings[state]);\n visualTypesMap[state] = visualTypes;\n });\n\n function progress(params, data) {\n if (dim != null) {\n dim = data.getDimension(dim);\n }\n\n function getVisual(key) {\n return data.getItemVisual(dataIndex, key);\n }\n\n function setVisual(key, value) {\n data.setItemVisual(dataIndex, key, value);\n }\n\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var rawDataItem = data.getRawDataItem(dataIndex); // Consider performance\n\n if (rawDataItem && rawDataItem.visualMap === false) {\n continue;\n }\n\n var value = dim != null ? data.get(dim, dataIndex, true) : dataIndex;\n var valueState = getValueState(value);\n var mappings = visualMappings[valueState];\n var visualTypes = visualTypesMap[valueState];\n\n for (var i = 0, len = visualTypes.length; i < len; i++) {\n var type = visualTypes[i];\n mappings[type] && mappings[type].applyVisual(value, getVisual, setVisual);\n }\n }\n }\n\n return {\n progress: progress\n };\n}\n\nexports.createVisualMappings = createVisualMappings;\nexports.replaceVisualOption = replaceVisualOption;\nexports.applyVisual = applyVisual;\nexports.incrementalApplyVisual = incrementalApplyVisual;"],"names":["zrUtil","graphic","BoundingRect","_text","calculateTextPosition","Triangle","extendShape","type","shape","cx","cy","width","height","buildPath","path","moveTo","lineTo","closePath","Diamond","Pin","x","y","w","h","Math","max","r","dy","angle","asin","dx","cos","tanX","sin","tanY","cpLen","cpLen2","arc","PI","bezierCurveTo","Arrow","ctx","symbolCtors","line","Line","rect","Rect","roundRect","square","circle","Circle","diamond","pin","arrow","triangle","symbolShapeMakers","x1","y1","x2","y2","min","size","symbolBuildProxies","each","Ctor","name","SymbolClz","symbolType","out","style","res","this","textPosition","inBundle","proxySymbol","symbolPathSetColor","color","innerColor","symbolStyle","symbolShape","stroke","__isEmptyBrush","fill","dirty","createSymbol","keepAspect","symbolPath","isEmpty","indexOf","substr","toLowerCase","makeImage","slice","makePath","setColor","exports","ORIGIN_METHOD","RATE","THROTTLE_TYPE","throttle","fn","delay","debounce","currCall","diff","scope","args","debounceNextCall","lastCall","lastExec","timer","exec","Date","getTime","apply","cb","arguments","thisDelay","thisDebounce","clearTimeout","setTimeout","clear","debounceDelay","createOrUpdate","obj","fnAttr","rate","throttleType","originFn","lastThrottleType","lastRate","_util","Group","componentUtil","clazzUtil","modelUtil","graphicUtil","_task","createTask","createRenderPlanner","inner","makeInner","renderPlanner","Chart","group","uid","getUID","renderTask","plan","renderTaskPlan","reset","renderTaskReset","context","view","prototype","init","ecModel","api","render","seriesModel","payload","highlight","toggleHighlight","getData","downplay","remove","removeAll","dispose","incrementalPrepareRender","incrementalRender","updateTransform","filterForExposedEvent","chartProto","elSetState","el","state","highlightDigit","trigger","isGroup","isHighDownDispatcher","i","len","childCount","childAt","data","dataIndex","queryDataIndex","highlightKey","getHighlightDigit","normalizeToArray","dataIdx","getItemGraphicEl","eachItemGraphicEl","model","progressiveRender","pipelineContext","updateMethod","methodName","progressMethodMap","updateView","updateLayout","updateVisual","enableClassExtend","enableClassManagement","registerWhenExtend","markUpdateMethod","progress","params","forceFirstProgress","_default","module","Component","constructor","componentModel","componentProto","LegendVisualProvider","getDataWithEncodedVisual","getRawData","getAllNames","rawData","mapArray","getName","containName","indexOfName","dataWithEncodedVisual","getItemVisual","key","zrColor","_number","linearMap","isObject","CATEGORY_DEFAULT_VISUAL_INDEX","VisualMapping","option","mappingMethod","visualType","thisOption","clone","_normalizeData","normalizers","visualHandler","visualHandlers","applyVisual","getColorMapper","_doMap","normalizeVisualRange","preprocessForPiecewise","categories","preprocessForSpecifiedCategory","assert","dataExtent","mapValueToVisual","value","normalized","getNormalizer","bind","makeApplyVisual","isNormalized","doMapCategory","call","returnRGBArray","fastLerp","parsedVisual","stringify","linear","category","piecewise","result","getSpecifiedVisual","fixed","doMapFixed","colorHue","makePartialColorVisualHandler","modifyHSL","colorSaturation","colorLightness","colorAlpha","modifyAlpha","opacity","makeDoMap","liftZ","symbol","getter","setter","symbolCfg","isString","hasOwnProperty","doMapToArray","symbolSize","pieceList","hasSpecialVisual","piece","index","originIndex","visual","categoryMap","cate","isArray","visualArr","v","setVisualToOption","length","pop","isCategory","push","doNotNeedPair","applyValue","round","loop","sourceExtent","pieceIndex","findPieceIndex","map","item","parse","noop","littleThan","close","a","b","listVisualTypes","visualTypes","handler","addVisualHandler","isValidType","eachVisual","callback","mapVisual","isPrimary","newVisual","newVal","retrieveVisuals","hasVisual","ret","prepareVisualTypes","types","sort","type1","type2","dependsOn","visualType1","visualType2","findClosestWhenOutside","possibleI","abs","Infinity","pieceValue","updatePossible","interval","val","newAbs","lang","_dataProvider","retrieveRawValue","dom","ariaModel","getModel","get","setAttribute","seriesCnt","eachSeries","idx","ariaLabel","maxDataCnt","maxSeriesCnt","displaySeriesCnt","title","getTitle","replace","getConfig","seriesLabels","prefix","seriesCount","seriesLabel","seriesName","seriesTpl","seriesId","seriesIndex","seriesType","getSeriesTypeName","subType","window","count","displayCnt","dataLabels","join","str","keyValues","RegExp","userConfig","pathArr","split","aria","text","series","typeNames","createHashMap","getTargetSeries","paletteScope","seiresModelMap","eachSeriesByType","__paletteScope","set","dataAll","idxMap","rawIdx","getRawIndex","itemModel","filteredIdx","singleDataColor","singleDataBorderColor","getItemModel","getColorFromPalette","setItemVisual","borderColor","Gradient","isFunction","createOnAllSeries","performRawSeries","colorAccessPath","visualColorAccessPath","colorCallback","getSeriesCount","setVisual","borderColorAccessPath","visualBorderColorAccessPath","isSeriesFiltered","getDataParams","dataEach","hasItemOption","defaultSymbolType","legendSymbol","symbolRotate","hasSymbolTypeCallback","hasSymbolSizeCallback","hasSymbolRotateCallback","hasCallback","seriesSymbol","seriesSymbolSize","symbolKeepAspect","rawValue","getRawValue","itemSymbolType","getShallow","itemSymbolSize","itemSymbolRotate","itemSymbolKeepAspect","visualDefault","defaultOption","active","inactive","hasKeys","createVisualMappings","stateList","supplementVisualOption","visualMappings","mappings","createMappings","visualData","mappingOption","__hidden","__alphaForOpacity","Creater","replaceVisualOption","newOption","keys","has","getValueState","dimension","visualTypesMap","getVisual","eachItem","valueOrIndex","rawDataItem","getRawDataItem","visualMap","valueState","incrementalApplyVisual","dim","getDimension","next"],"sourceRoot":""}