{"version":3,"file":"js/chunk-vendors-61494d89.19af2c69.js","mappings":"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","sources":["webpack://app/./node_modules/echarts/lib/model/Model.js","webpack://app/./node_modules/echarts/lib/model/OptionManager.js","webpack://app/./node_modules/echarts/lib/model/Series.js","webpack://app/./node_modules/echarts/lib/model/globalDefault.js","webpack://app/./node_modules/echarts/lib/model/mixin/areaStyle.js","webpack://app/./node_modules/echarts/lib/model/mixin/boxLayout.js","webpack://app/./node_modules/echarts/lib/model/mixin/colorPalette.js","webpack://app/./node_modules/echarts/lib/model/mixin/dataFormat.js","webpack://app/./node_modules/echarts/lib/model/mixin/itemStyle.js","webpack://app/./node_modules/echarts/lib/model/mixin/lineStyle.js","webpack://app/./node_modules/echarts/lib/model/mixin/makeStyleMapper.js","webpack://app/./node_modules/echarts/lib/model/mixin/textStyle.js","webpack://app/./node_modules/echarts/lib/model/referHelper.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 env = require(\"zrender/lib/core/env\");\n\nvar _model = require(\"../util/model\");\n\nvar makeInner = _model.makeInner;\n\nvar _clazz = require(\"../util/clazz\");\n\nvar enableClassExtend = _clazz.enableClassExtend;\nvar enableClassCheck = _clazz.enableClassCheck;\n\nvar lineStyleMixin = require(\"./mixin/lineStyle\");\n\nvar areaStyleMixin = require(\"./mixin/areaStyle\");\n\nvar textStyleMixin = require(\"./mixin/textStyle\");\n\nvar itemStyleMixin = require(\"./mixin/itemStyle\");\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 * @module echarts/model/Model\n */\nvar mixin = zrUtil.mixin;\nvar inner = makeInner();\n/**\n * @alias module:echarts/model/Model\n * @constructor\n * @param {Object} [option]\n * @param {module:echarts/model/Model} [parentModel]\n * @param {module:echarts/model/Global} [ecModel]\n */\n\nfunction Model(option, parentModel, ecModel) {\n /**\n * @type {module:echarts/model/Model}\n * @readOnly\n */\n this.parentModel = parentModel;\n /**\n * @type {module:echarts/model/Global}\n * @readOnly\n */\n\n this.ecModel = ecModel;\n /**\n * @type {Object}\n * @protected\n */\n\n this.option = option; // Simple optimization\n // if (this.init) {\n // if (arguments.length <= 4) {\n // this.init(option, parentModel, ecModel, extraOpt);\n // }\n // else {\n // this.init.apply(this, arguments);\n // }\n // }\n}\n\nModel.prototype = {\n constructor: Model,\n\n /**\n * Model 的初始化函数\n * @param {Object} option\n */\n init: null,\n\n /**\n * 从新的 Option merge\n */\n mergeOption: function (option) {\n zrUtil.merge(this.option, option, true);\n },\n\n /**\n * @param {string|Array.} path\n * @param {boolean} [ignoreParent=false]\n * @return {*}\n */\n get: function (path, ignoreParent) {\n if (path == null) {\n return this.option;\n }\n\n return doGet(this.option, this.parsePath(path), !ignoreParent && getParent(this, path));\n },\n\n /**\n * @param {string} key\n * @param {boolean} [ignoreParent=false]\n * @return {*}\n */\n getShallow: function (key, ignoreParent) {\n var option = this.option;\n var val = option == null ? option : option[key];\n var parentModel = !ignoreParent && getParent(this, key);\n\n if (val == null && parentModel) {\n val = parentModel.getShallow(key);\n }\n\n return val;\n },\n\n /**\n * @param {string|Array.} [path]\n * @param {module:echarts/model/Model} [parentModel]\n * @return {module:echarts/model/Model}\n */\n getModel: function (path, parentModel) {\n var obj = path == null ? this.option : doGet(this.option, path = this.parsePath(path));\n var thisParentModel;\n parentModel = parentModel || (thisParentModel = getParent(this, path)) && thisParentModel.getModel(path);\n return new Model(obj, parentModel, this.ecModel);\n },\n\n /**\n * If model has option\n */\n isEmpty: function () {\n return this.option == null;\n },\n restoreData: function () {},\n // Pending\n clone: function () {\n var Ctor = this.constructor;\n return new Ctor(zrUtil.clone(this.option));\n },\n setReadOnly: function (properties) {// clazzUtil.setReadOnly(this, properties);\n },\n // If path is null/undefined, return null/undefined.\n parsePath: function (path) {\n if (typeof path === 'string') {\n path = path.split('.');\n }\n\n return path;\n },\n\n /**\n * @param {Function} getParentMethod\n * param {Array.|string} path\n * return {module:echarts/model/Model}\n */\n customizeGetParent: function (getParentMethod) {\n inner(this).getParent = getParentMethod;\n },\n isAnimationEnabled: function () {\n if (!env.node) {\n if (this.option.animation != null) {\n return !!this.option.animation;\n } else if (this.parentModel) {\n return this.parentModel.isAnimationEnabled();\n }\n }\n }\n};\n\nfunction doGet(obj, pathArr, parentModel) {\n for (var i = 0; i < pathArr.length; i++) {\n // Ignore empty\n if (!pathArr[i]) {\n continue;\n } // obj could be number/string/... (like 0)\n\n\n obj = obj && typeof obj === 'object' ? obj[pathArr[i]] : null;\n\n if (obj == null) {\n break;\n }\n }\n\n if (obj == null && parentModel) {\n obj = parentModel.get(pathArr);\n }\n\n return obj;\n} // `path` can be null/undefined\n\n\nfunction getParent(model, path) {\n var getParentMethod = inner(model).getParent;\n return getParentMethod ? getParentMethod.call(model, path) : model.parentModel;\n} // Enable Model.extend.\n\n\nenableClassExtend(Model);\nenableClassCheck(Model);\nmixin(Model, lineStyleMixin);\nmixin(Model, areaStyleMixin);\nmixin(Model, textStyleMixin);\nmixin(Model, itemStyleMixin);\nvar _default = Model;\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 modelUtil = require(\"../util/model\");\n\nvar ComponentModel = require(\"./Component\");\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 * ECharts option manager\n *\n * @module {echarts/model/OptionManager}\n */\nvar each = zrUtil.each;\nvar clone = zrUtil.clone;\nvar map = zrUtil.map;\nvar merge = zrUtil.merge;\nvar QUERY_REG = /^(min|max)?(.+)$/;\n/**\n * TERM EXPLANATIONS:\n *\n * [option]:\n *\n * An object that contains definitions of components. For example:\n * var option = {\n * title: {...},\n * legend: {...},\n * visualMap: {...},\n * series: [\n * {data: [...]},\n * {data: [...]},\n * ...\n * ]\n * };\n *\n * [rawOption]:\n *\n * An object input to echarts.setOption. 'rawOption' may be an\n * 'option', or may be an object contains multi-options. For example:\n * var option = {\n * baseOption: {\n * title: {...},\n * legend: {...},\n * series: [\n * {data: [...]},\n * {data: [...]},\n * ...\n * ]\n * },\n * timeline: {...},\n * options: [\n * {title: {...}, series: {data: [...]}},\n * {title: {...}, series: {data: [...]}},\n * ...\n * ],\n * media: [\n * {\n * query: {maxWidth: 320},\n * option: {series: {x: 20}, visualMap: {show: false}}\n * },\n * {\n * query: {minWidth: 320, maxWidth: 720},\n * option: {series: {x: 500}, visualMap: {show: true}}\n * },\n * {\n * option: {series: {x: 1200}, visualMap: {show: true}}\n * }\n * ]\n * };\n *\n * @alias module:echarts/model/OptionManager\n * @param {module:echarts/ExtensionAPI} api\n */\n\nfunction OptionManager(api) {\n /**\n * @private\n * @type {module:echarts/ExtensionAPI}\n */\n this._api = api;\n /**\n * @private\n * @type {Array.}\n */\n\n this._timelineOptions = [];\n /**\n * @private\n * @type {Array.}\n */\n\n this._mediaList = [];\n /**\n * @private\n * @type {Object}\n */\n\n this._mediaDefault;\n /**\n * -1, means default.\n * empty means no media.\n * @private\n * @type {Array.}\n */\n\n this._currentMediaIndices = [];\n /**\n * @private\n * @type {Object}\n */\n\n this._optionBackup;\n /**\n * @private\n * @type {Object}\n */\n\n this._newBaseOption;\n} // timeline.notMerge is not supported in ec3. Firstly there is rearly\n// case that notMerge is needed. Secondly supporting 'notMerge' requires\n// rawOption cloned and backuped when timeline changed, which does no\n// good to performance. What's more, that both timeline and setOption\n// method supply 'notMerge' brings complex and some problems.\n// Consider this case:\n// (step1) chart.setOption({timeline: {notMerge: false}, ...}, false);\n// (step2) chart.setOption({timeline: {notMerge: true}, ...}, false);\n\n\nOptionManager.prototype = {\n constructor: OptionManager,\n\n /**\n * @public\n * @param {Object} rawOption Raw option.\n * @param {module:echarts/model/Global} ecModel\n * @param {Array.} optionPreprocessorFuncs\n * @return {Object} Init option\n */\n setOption: function (rawOption, optionPreprocessorFuncs) {\n if (rawOption) {\n // That set dat primitive is dangerous if user reuse the data when setOption again.\n zrUtil.each(modelUtil.normalizeToArray(rawOption.series), function (series) {\n series && series.data && zrUtil.isTypedArray(series.data) && zrUtil.setAsPrimitive(series.data);\n });\n } // Caution: some series modify option data, if do not clone,\n // it should ensure that the repeat modify correctly\n // (create a new object when modify itself).\n\n\n rawOption = clone(rawOption); // FIXME\n // 如果 timeline options 或者 media 中设置了某个属性,而baseOption中没有设置,则进行警告。\n\n var oldOptionBackup = this._optionBackup;\n var newParsedOption = parseRawOption.call(this, rawOption, optionPreprocessorFuncs, !oldOptionBackup);\n this._newBaseOption = newParsedOption.baseOption; // For setOption at second time (using merge mode);\n\n if (oldOptionBackup) {\n // Only baseOption can be merged.\n mergeOption(oldOptionBackup.baseOption, newParsedOption.baseOption); // For simplicity, timeline options and media options do not support merge,\n // that is, if you `setOption` twice and both has timeline options, the latter\n // timeline opitons will not be merged to the formers, but just substitude them.\n\n if (newParsedOption.timelineOptions.length) {\n oldOptionBackup.timelineOptions = newParsedOption.timelineOptions;\n }\n\n if (newParsedOption.mediaList.length) {\n oldOptionBackup.mediaList = newParsedOption.mediaList;\n }\n\n if (newParsedOption.mediaDefault) {\n oldOptionBackup.mediaDefault = newParsedOption.mediaDefault;\n }\n } else {\n this._optionBackup = newParsedOption;\n }\n },\n\n /**\n * @param {boolean} isRecreate\n * @return {Object}\n */\n mountOption: function (isRecreate) {\n var optionBackup = this._optionBackup; // TODO\n // 如果没有reset功能则不clone。\n\n this._timelineOptions = map(optionBackup.timelineOptions, clone);\n this._mediaList = map(optionBackup.mediaList, clone);\n this._mediaDefault = clone(optionBackup.mediaDefault);\n this._currentMediaIndices = [];\n return clone(isRecreate // this._optionBackup.baseOption, which is created at the first `setOption`\n // called, and is merged into every new option by inner method `mergeOption`\n // each time `setOption` called, can be only used in `isRecreate`, because\n // its reliability is under suspicion. In other cases option merge is\n // performed by `model.mergeOption`.\n ? optionBackup.baseOption : this._newBaseOption);\n },\n\n /**\n * @param {module:echarts/model/Global} ecModel\n * @return {Object}\n */\n getTimelineOption: function (ecModel) {\n var option;\n var timelineOptions = this._timelineOptions;\n\n if (timelineOptions.length) {\n // getTimelineOption can only be called after ecModel inited,\n // so we can get currentIndex from timelineModel.\n var timelineModel = ecModel.getComponent('timeline');\n\n if (timelineModel) {\n option = clone(timelineOptions[timelineModel.getCurrentIndex()], true);\n }\n }\n\n return option;\n },\n\n /**\n * @param {module:echarts/model/Global} ecModel\n * @return {Array.}\n */\n getMediaOption: function (ecModel) {\n var ecWidth = this._api.getWidth();\n\n var ecHeight = this._api.getHeight();\n\n var mediaList = this._mediaList;\n var mediaDefault = this._mediaDefault;\n var indices = [];\n var result = []; // No media defined.\n\n if (!mediaList.length && !mediaDefault) {\n return result;\n } // Multi media may be applied, the latter defined media has higher priority.\n\n\n for (var i = 0, len = mediaList.length; i < len; i++) {\n if (applyMediaQuery(mediaList[i].query, ecWidth, ecHeight)) {\n indices.push(i);\n }\n } // FIXME\n // 是否mediaDefault应该强制用户设置,否则可能修改不能回归。\n\n\n if (!indices.length && mediaDefault) {\n indices = [-1];\n }\n\n if (indices.length && !indicesEquals(indices, this._currentMediaIndices)) {\n result = map(indices, function (index) {\n return clone(index === -1 ? mediaDefault.option : mediaList[index].option);\n });\n } // Otherwise return nothing.\n\n\n this._currentMediaIndices = indices;\n return result;\n }\n};\n\nfunction parseRawOption(rawOption, optionPreprocessorFuncs, isNew) {\n var timelineOptions = [];\n var mediaList = [];\n var mediaDefault;\n var baseOption; // Compatible with ec2.\n\n var timelineOpt = rawOption.timeline;\n\n if (rawOption.baseOption) {\n baseOption = rawOption.baseOption;\n } // For timeline\n\n\n if (timelineOpt || rawOption.options) {\n baseOption = baseOption || {};\n timelineOptions = (rawOption.options || []).slice();\n } // For media query\n\n\n if (rawOption.media) {\n baseOption = baseOption || {};\n var media = rawOption.media;\n each(media, function (singleMedia) {\n if (singleMedia && singleMedia.option) {\n if (singleMedia.query) {\n mediaList.push(singleMedia);\n } else if (!mediaDefault) {\n // Use the first media default.\n mediaDefault = singleMedia;\n }\n }\n });\n } // For normal option\n\n\n if (!baseOption) {\n baseOption = rawOption;\n } // Set timelineOpt to baseOption in ec3,\n // which is convenient for merge option.\n\n\n if (!baseOption.timeline) {\n baseOption.timeline = timelineOpt;\n } // Preprocess.\n\n\n each([baseOption].concat(timelineOptions).concat(zrUtil.map(mediaList, function (media) {\n return media.option;\n })), function (option) {\n each(optionPreprocessorFuncs, function (preProcess) {\n preProcess(option, isNew);\n });\n });\n return {\n baseOption: baseOption,\n timelineOptions: timelineOptions,\n mediaDefault: mediaDefault,\n mediaList: mediaList\n };\n}\n/**\n * @see \n * Support: width, height, aspectRatio\n * Can use max or min as prefix.\n */\n\n\nfunction applyMediaQuery(query, ecWidth, ecHeight) {\n var realMap = {\n width: ecWidth,\n height: ecHeight,\n aspectratio: ecWidth / ecHeight // lowser case for convenientce.\n\n };\n var applicatable = true;\n zrUtil.each(query, function (value, attr) {\n var matched = attr.match(QUERY_REG);\n\n if (!matched || !matched[1] || !matched[2]) {\n return;\n }\n\n var operator = matched[1];\n var realAttr = matched[2].toLowerCase();\n\n if (!compare(realMap[realAttr], value, operator)) {\n applicatable = false;\n }\n });\n return applicatable;\n}\n\nfunction compare(real, expect, operator) {\n if (operator === 'min') {\n return real >= expect;\n } else if (operator === 'max') {\n return real <= expect;\n } else {\n // Equals\n return real === expect;\n }\n}\n\nfunction indicesEquals(indices1, indices2) {\n // indices is always order by asc and has only finite number.\n return indices1.join(',') === indices2.join(',');\n}\n/**\n * Consider case:\n * `chart.setOption(opt1);`\n * Then user do some interaction like dataZoom, dataView changing.\n * `chart.setOption(opt2);`\n * Then user press 'reset button' in toolbox.\n *\n * After doing that all of the interaction effects should be reset, the\n * chart should be the same as the result of invoke\n * `chart.setOption(opt1); chart.setOption(opt2);`.\n *\n * Although it is not able ensure that\n * `chart.setOption(opt1); chart.setOption(opt2);` is equivalents to\n * `chart.setOption(merge(opt1, opt2));` exactly,\n * this might be the only simple way to implement that feature.\n *\n * MEMO: We've considered some other approaches:\n * 1. Each model handle its self restoration but not uniform treatment.\n * (Too complex in logic and error-prone)\n * 2. Use a shadow ecModel. (Performace expensive)\n */\n\n\nfunction mergeOption(oldOption, newOption) {\n newOption = newOption || {};\n each(newOption, function (newCptOpt, mainType) {\n if (newCptOpt == null) {\n return;\n }\n\n var oldCptOpt = oldOption[mainType];\n\n if (!ComponentModel.hasClass(mainType)) {\n oldOption[mainType] = merge(oldCptOpt, newCptOpt, true);\n } else {\n newCptOpt = modelUtil.normalizeToArray(newCptOpt);\n oldCptOpt = modelUtil.normalizeToArray(oldCptOpt);\n var mapResult = modelUtil.mappingToExists(oldCptOpt, newCptOpt);\n oldOption[mainType] = map(mapResult, function (item) {\n return item.option && item.exist ? merge(item.exist, item.option, true) : item.exist || item.option;\n });\n }\n });\n}\n\nvar _default = OptionManager;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar _format = require(\"../util/format\");\n\nvar formatTime = _format.formatTime;\nvar encodeHTML = _format.encodeHTML;\nvar addCommas = _format.addCommas;\nvar getTooltipMarker = _format.getTooltipMarker;\n\nvar modelUtil = require(\"../util/model\");\n\nvar ComponentModel = require(\"./Component\");\n\nvar colorPaletteMixin = require(\"./mixin/colorPalette\");\n\nvar dataFormatMixin = require(\"../model/mixin/dataFormat\");\n\nvar _layout = require(\"../util/layout\");\n\nvar getLayoutParams = _layout.getLayoutParams;\nvar mergeLayoutParam = _layout.mergeLayoutParam;\n\nvar _task = require(\"../stream/task\");\n\nvar createTask = _task.createTask;\n\nvar _sourceHelper = require(\"../data/helper/sourceHelper\");\n\nvar prepareSource = _sourceHelper.prepareSource;\nvar getSource = _sourceHelper.getSource;\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*/\nvar inner = modelUtil.makeInner();\nvar SeriesModel = ComponentModel.extend({\n type: 'series.__base__',\n\n /**\n * @readOnly\n */\n seriesIndex: 0,\n // coodinateSystem will be injected in the echarts/CoordinateSystem\n coordinateSystem: null,\n\n /**\n * @type {Object}\n * @protected\n */\n defaultOption: null,\n\n /**\n * legend visual provider to the legend component\n * @type {Object}\n */\n // PENDING\n legendVisualProvider: null,\n\n /**\n * Access path of color for visual\n */\n visualColorAccessPath: 'itemStyle.color',\n\n /**\n * Access path of borderColor for visual\n */\n visualBorderColorAccessPath: 'itemStyle.borderColor',\n\n /**\n * Support merge layout params.\n * Only support 'box' now (left/right/top/bottom/width/height).\n * @type {string|Object} Object can be {ignoreSize: true}\n * @readOnly\n */\n layoutMode: null,\n init: function (option, parentModel, ecModel, extraOpt) {\n /**\n * @type {number}\n * @readOnly\n */\n this.seriesIndex = this.componentIndex;\n this.dataTask = createTask({\n count: dataTaskCount,\n reset: dataTaskReset\n });\n this.dataTask.context = {\n model: this\n };\n this.mergeDefaultAndTheme(option, ecModel);\n prepareSource(this);\n var data = this.getInitialData(option, ecModel);\n wrapData(data, this);\n this.dataTask.context.data = data;\n\n /**\n * @type {module:echarts/data/List|module:echarts/data/Tree|module:echarts/data/Graph}\n * @private\n */\n inner(this).dataBeforeProcessed = data; // If we reverse the order (make data firstly, and then make\n // dataBeforeProcessed by cloneShallow), cloneShallow will\n // cause data.graph.data !== data when using\n // module:echarts/data/Graph or module:echarts/data/Tree.\n // See module:echarts/data/helper/linkList\n // Theoretically, it is unreasonable to call `seriesModel.getData()` in the model\n // init or merge stage, because the data can be restored. So we do not `restoreData`\n // and `setData` here, which forbids calling `seriesModel.getData()` in this stage.\n // Call `seriesModel.getRawData()` instead.\n // this.restoreData();\n\n autoSeriesName(this);\n },\n\n /**\n * Util for merge default and theme to option\n * @param {Object} option\n * @param {module:echarts/model/Global} ecModel\n */\n mergeDefaultAndTheme: function (option, ecModel) {\n var layoutMode = this.layoutMode;\n var inputPositionParams = layoutMode ? getLayoutParams(option) : {}; // Backward compat: using subType on theme.\n // But if name duplicate between series subType\n // (for example: parallel) add component mainType,\n // add suffix 'Series'.\n\n var themeSubType = this.subType;\n\n if (ComponentModel.hasClass(themeSubType)) {\n themeSubType += 'Series';\n }\n\n zrUtil.merge(option, ecModel.getTheme().get(this.subType));\n zrUtil.merge(option, this.getDefaultOption()); // Default label emphasis `show`\n\n modelUtil.defaultEmphasis(option, 'label', ['show']);\n this.fillDataTextStyle(option.data);\n\n if (layoutMode) {\n mergeLayoutParam(option, inputPositionParams, layoutMode);\n }\n },\n mergeOption: function (newSeriesOption, ecModel) {\n // this.settingTask.dirty();\n newSeriesOption = zrUtil.merge(this.option, newSeriesOption, true);\n this.fillDataTextStyle(newSeriesOption.data);\n var layoutMode = this.layoutMode;\n\n if (layoutMode) {\n mergeLayoutParam(this.option, newSeriesOption, layoutMode);\n }\n\n prepareSource(this);\n var data = this.getInitialData(newSeriesOption, ecModel);\n wrapData(data, this);\n this.dataTask.dirty();\n this.dataTask.context.data = data;\n inner(this).dataBeforeProcessed = data;\n autoSeriesName(this);\n },\n fillDataTextStyle: function (data) {\n // Default data label emphasis `show`\n // FIXME Tree structure data ?\n // FIXME Performance ?\n if (data && !zrUtil.isTypedArray(data)) {\n var props = ['show'];\n\n for (var i = 0; i < data.length; i++) {\n if (data[i] && data[i].label) {\n modelUtil.defaultEmphasis(data[i], 'label', props);\n }\n }\n }\n },\n\n /**\n * Init a data structure from data related option in series\n * Must be overwritten\n */\n getInitialData: function () {},\n\n /**\n * Append data to list\n * @param {Object} params\n * @param {Array|TypedArray} params.data\n */\n appendData: function (params) {\n // FIXME ???\n // (1) If data from dataset, forbidden append.\n // (2) support append data of dataset.\n var data = this.getRawData();\n data.appendData(params.data);\n },\n\n /**\n * Consider some method like `filter`, `map` need make new data,\n * We should make sure that `seriesModel.getData()` get correct\n * data in the stream procedure. So we fetch data from upstream\n * each time `task.perform` called.\n * @param {string} [dataType]\n * @return {module:echarts/data/List}\n */\n getData: function (dataType) {\n var task = getCurrentTask(this);\n\n if (task) {\n var data = task.context.data;\n return dataType == null ? data : data.getLinkedData(dataType);\n } else {\n // When series is not alive (that may happen when click toolbox\n // restore or setOption with not merge mode), series data may\n // be still need to judge animation or something when graphic\n // elements want to know whether fade out.\n return inner(this).data;\n }\n },\n\n /**\n * @param {module:echarts/data/List} data\n */\n setData: function (data) {\n var task = getCurrentTask(this);\n\n if (task) {\n var context = task.context; // Consider case: filter, data sample.\n\n if (context.data !== data && task.modifyOutputEnd) {\n task.setOutputEnd(data.count());\n }\n\n context.outputData = data; // Caution: setData should update context.data,\n // Because getData may be called multiply in a\n // single stage and expect to get the data just\n // set. (For example, AxisProxy, x y both call\n // getData and setDate sequentially).\n // So the context.data should be fetched from\n // upstream each time when a stage starts to be\n // performed.\n\n if (task !== this.dataTask) {\n context.data = data;\n }\n }\n\n inner(this).data = data;\n },\n\n /**\n * @see {module:echarts/data/helper/sourceHelper#getSource}\n * @return {module:echarts/data/Source} source\n */\n getSource: function () {\n return getSource(this);\n },\n\n /**\n * Get data before processed\n * @return {module:echarts/data/List}\n */\n getRawData: function () {\n return inner(this).dataBeforeProcessed;\n },\n\n /**\n * Get base axis if has coordinate system and has axis.\n * By default use coordSys.getBaseAxis();\n * Can be overrided for some chart.\n * @return {type} description\n */\n getBaseAxis: function () {\n var coordSys = this.coordinateSystem;\n return coordSys && coordSys.getBaseAxis && coordSys.getBaseAxis();\n },\n // FIXME\n\n /**\n * Default tooltip formatter\n *\n * @param {number} dataIndex\n * @param {boolean} [multipleSeries=false]\n * @param {number} [dataType]\n * @param {string} [renderMode='html'] valid values: 'html' and 'richText'.\n * 'html' is used for rendering tooltip in extra DOM form, and the result\n * string is used as DOM HTML content.\n * 'richText' is used for rendering tooltip in rich text form, for those where\n * DOM operation is not supported.\n * @return {Object} formatted tooltip with `html` and `markers`\n */\n formatTooltip: function (dataIndex, multipleSeries, dataType, renderMode) {\n var series = this;\n renderMode = renderMode || 'html';\n var newLine = renderMode === 'html' ? '
' : '\\n';\n var isRichText = renderMode === 'richText';\n var markers = {};\n var markerId = 0;\n\n function formatArrayValue(value) {\n // ??? TODO refactor these logic.\n // check: category-no-encode-has-axis-data in dataset.html\n var vertially = zrUtil.reduce(value, function (vertially, val, idx) {\n var dimItem = data.getDimensionInfo(idx);\n return vertially |= dimItem && dimItem.tooltip !== false && dimItem.displayName != null;\n }, 0);\n var result = [];\n tooltipDims.length ? zrUtil.each(tooltipDims, function (dim) {\n setEachItem(retrieveRawValue(data, dataIndex, dim), dim);\n }) // By default, all dims is used on tooltip.\n : zrUtil.each(value, setEachItem);\n\n function setEachItem(val, dim) {\n var dimInfo = data.getDimensionInfo(dim); // If `dimInfo.tooltip` is not set, show tooltip.\n\n if (!dimInfo || dimInfo.otherDims.tooltip === false) {\n return;\n }\n\n var dimType = dimInfo.type;\n var markName = 'sub' + series.seriesIndex + 'at' + markerId;\n var dimHead = getTooltipMarker({\n color: color,\n type: 'subItem',\n renderMode: renderMode,\n markerId: markName\n });\n var dimHeadStr = typeof dimHead === 'string' ? dimHead : dimHead.content;\n var valStr = (vertially ? dimHeadStr + encodeHTML(dimInfo.displayName || '-') + ': ' : '') + // FIXME should not format time for raw data?\n encodeHTML(dimType === 'ordinal' ? val + '' : dimType === 'time' ? multipleSeries ? '' : formatTime('yyyy/MM/dd hh:mm:ss', val) : addCommas(val));\n valStr && result.push(valStr);\n\n if (isRichText) {\n markers[markName] = color;\n ++markerId;\n }\n }\n\n var newLine = vertially ? isRichText ? '\\n' : '
' : '';\n var content = newLine + result.join(newLine || ', ');\n return {\n renderMode: renderMode,\n content: content,\n style: markers\n };\n }\n\n function formatSingleValue(val) {\n // return encodeHTML(addCommas(val));\n return {\n renderMode: renderMode,\n content: encodeHTML(addCommas(val)),\n style: markers\n };\n }\n\n var data = this.getData();\n var tooltipDims = data.mapDimension('defaultedTooltip', true);\n var tooltipDimLen = tooltipDims.length;\n var value = this.getRawValue(dataIndex);\n var isValueArr = zrUtil.isArray(value);\n var color = data.getItemVisual(dataIndex, 'color');\n\n if (zrUtil.isObject(color) && color.colorStops) {\n color = (color.colorStops[0] || {}).color;\n }\n\n color = color || 'transparent'; // Complicated rule for pretty tooltip.\n\n var formattedValue = tooltipDimLen > 1 || isValueArr && !tooltipDimLen ? formatArrayValue(value) : tooltipDimLen ? formatSingleValue(retrieveRawValue(data, dataIndex, tooltipDims[0])) : formatSingleValue(isValueArr ? value[0] : value);\n var content = formattedValue.content;\n var markName = series.seriesIndex + 'at' + markerId;\n var colorEl = getTooltipMarker({\n color: color,\n type: 'item',\n renderMode: renderMode,\n markerId: markName\n });\n markers[markName] = color;\n ++markerId;\n var name = data.getName(dataIndex);\n var seriesName = this.name;\n\n if (!modelUtil.isNameSpecified(this)) {\n seriesName = '';\n }\n\n seriesName = seriesName ? encodeHTML(seriesName) + (!multipleSeries ? newLine : ': ') : '';\n var colorStr = typeof colorEl === 'string' ? colorEl : colorEl.content;\n var html = !multipleSeries ? seriesName + colorStr + (name ? encodeHTML(name) + ': ' + content : content) : colorStr + seriesName + content;\n return {\n html: html,\n markers: markers\n };\n },\n\n /**\n * @return {boolean}\n */\n isAnimationEnabled: function () {\n if (env.node) {\n return false;\n }\n\n var animationEnabled = this.getShallow('animation');\n\n if (animationEnabled) {\n if (this.getData().count() > this.getShallow('animationThreshold')) {\n animationEnabled = false;\n }\n }\n\n return animationEnabled;\n },\n restoreData: function () {\n this.dataTask.dirty();\n },\n getColorFromPalette: function (name, scope, requestColorNum) {\n var ecModel = this.ecModel; // PENDING\n\n var color = colorPaletteMixin.getColorFromPalette.call(this, name, scope, requestColorNum);\n\n if (!color) {\n color = ecModel.getColorFromPalette(name, scope, requestColorNum);\n }\n\n return color;\n },\n\n /**\n * Use `data.mapDimension(coordDim, true)` instead.\n * @deprecated\n */\n coordDimToDataDim: function (coordDim) {\n return this.getRawData().mapDimension(coordDim, true);\n },\n\n /**\n * Get progressive rendering count each step\n * @return {number}\n */\n getProgressive: function () {\n return this.get('progressive');\n },\n\n /**\n * Get progressive rendering count each step\n * @return {number}\n */\n getProgressiveThreshold: function () {\n return this.get('progressiveThreshold');\n },\n\n /**\n * Get data indices for show tooltip content. See tooltip.\n * @abstract\n * @param {Array.|string} dim\n * @param {Array.} value\n * @param {module:echarts/coord/single/SingleAxis} baseAxis\n * @return {Object} {dataIndices, nestestValue}.\n */\n getAxisTooltipData: null,\n\n /**\n * See tooltip.\n * @abstract\n * @param {number} dataIndex\n * @return {Array.} Point of tooltip. null/undefined can be returned.\n */\n getTooltipPosition: null,\n\n /**\n * @see {module:echarts/stream/Scheduler}\n */\n pipeTask: null,\n\n /**\n * Convinient for override in extended class.\n * @protected\n * @type {Function}\n */\n preventIncremental: null,\n\n /**\n * @public\n * @readOnly\n * @type {Object}\n */\n pipelineContext: null\n});\nzrUtil.mixin(SeriesModel, dataFormatMixin);\nzrUtil.mixin(SeriesModel, colorPaletteMixin);\n/**\n * MUST be called after `prepareSource` called\n * Here we need to make auto series, especially for auto legend. But we\n * do not modify series.name in option to avoid side effects.\n */\n\nfunction autoSeriesName(seriesModel) {\n // User specified name has higher priority, otherwise it may cause\n // series can not be queried unexpectedly.\n var name = seriesModel.name;\n\n if (!modelUtil.isNameSpecified(seriesModel)) {\n seriesModel.name = getSeriesAutoName(seriesModel) || name;\n }\n}\n\nfunction getSeriesAutoName(seriesModel) {\n var data = seriesModel.getRawData();\n var dataDims = data.mapDimension('seriesName', true);\n var nameArr = [];\n zrUtil.each(dataDims, function (dataDim) {\n var dimInfo = data.getDimensionInfo(dataDim);\n dimInfo.displayName && nameArr.push(dimInfo.displayName);\n });\n return nameArr.join(' ');\n}\n\nfunction dataTaskCount(context) {\n return context.model.getRawData().count();\n}\n\nfunction dataTaskReset(context) {\n var seriesModel = context.model;\n seriesModel.setData(seriesModel.getRawData().cloneShallow());\n return dataTaskProgress;\n}\n\nfunction dataTaskProgress(param, context) {\n // Avoid repead cloneShallow when data just created in reset.\n if (context.outputData && param.end > context.outputData.count()) {\n context.model.getRawData().cloneShallow(context.outputData);\n }\n} // TODO refactor\n\n\nfunction wrapData(data, seriesModel) {\n zrUtil.each(data.CHANGABLE_METHODS, function (methodName) {\n data.wrapMethod(methodName, zrUtil.curry(onDataSelfChange, seriesModel));\n });\n}\n\nfunction onDataSelfChange(seriesModel) {\n var task = getCurrentTask(seriesModel);\n\n if (task) {\n // Consider case: filter, selectRange\n task.setOutputEnd(this.count());\n }\n}\n\nfunction getCurrentTask(seriesModel) {\n var scheduler = (seriesModel.ecModel || {}).scheduler;\n var pipeline = scheduler && scheduler.getPipeline(seriesModel.uid);\n\n if (pipeline) {\n // When pipline finished, the currrentTask keep the last\n // task (renderTask).\n var task = pipeline.currentTask;\n\n if (task) {\n var agentStubMap = task.agentStubMap;\n\n if (agentStubMap) {\n task = agentStubMap.get(seriesModel.uid);\n }\n }\n\n return task;\n }\n}\n\nvar _default = SeriesModel;\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 platform = ''; // Navigator not exists in node\n\nif (typeof navigator !== 'undefined') {\n platform = navigator.platform || '';\n}\n\nvar _default = {\n // backgroundColor: 'rgba(0,0,0,0)',\n // https://dribbble.com/shots/1065960-Infographic-Pie-chart-visualization\n // color: ['#5793f3', '#d14a61', '#fd9c35', '#675bba', '#fec42c', '#dd4444', '#d4df5a', '#cd4870'],\n // Light colors:\n // color: ['#bcd3bb', '#e88f70', '#edc1a5', '#9dc5c8', '#e1e8c8', '#7b7c68', '#e5b5b5', '#f0b489', '#928ea8', '#bda29a'],\n // color: ['#cc5664', '#9bd6ec', '#ea946e', '#8acaaa', '#f1ec64', '#ee8686', '#a48dc1', '#5da6bc', '#b9dcae'],\n // Dark colors:\n color: ['#c23531', '#2f4554', '#61a0a8', '#d48265', '#91c7ae', '#749f83', '#ca8622', '#bda29a', '#6e7074', '#546570', '#c4ccd3'],\n gradientColor: ['#f6efa6', '#d88273', '#bf444c'],\n // If xAxis and yAxis declared, grid is created by default.\n // grid: {},\n textStyle: {\n // color: '#000',\n // decoration: 'none',\n // PENDING\n fontFamily: platform.match(/^Win/) ? 'Microsoft YaHei' : 'sans-serif',\n // fontFamily: 'Arial, Verdana, sans-serif',\n fontSize: 12,\n fontStyle: 'normal',\n fontWeight: 'normal'\n },\n // http://blogs.adobe.com/webplatform/2014/02/24/using-blend-modes-in-html-canvas/\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation\n // Default is source-over\n blendMode: null,\n animation: 'auto',\n animationDuration: 1000,\n animationDurationUpdate: 300,\n animationEasing: 'exponentialOut',\n animationEasingUpdate: 'cubicOut',\n animationThreshold: 2000,\n // Configuration for progressive/incremental rendering\n progressiveThreshold: 3000,\n progressive: 400,\n // Threshold of if use single hover layer to optimize.\n // It is recommended that `hoverLayerThreshold` is equivalent to or less than\n // `progressiveThreshold`, otherwise hover will cause restart of progressive,\n // which is unexpected.\n // see example .\n hoverLayerThreshold: 3000,\n // See: module:echarts/scale/Time\n useUTC: false\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 makeStyleMapper = require(\"./makeStyleMapper\");\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 getAreaStyle = makeStyleMapper([['fill', 'color'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['opacity'], ['shadowColor']]);\nvar _default = {\n getAreaStyle: function (excludes, includes) {\n return getAreaStyle(this, excludes, includes);\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*/\nvar _default = {\n getBoxLayoutParams: function () {\n return {\n left: this.get('left'),\n top: this.get('top'),\n right: this.get('right'),\n bottom: this.get('bottom'),\n width: this.get('width'),\n height: this.get('height')\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 _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\nvar normalizeToArray = _model.normalizeToArray;\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 = makeInner();\n\nfunction getNearestColorPalette(colors, requestColorNum) {\n var paletteNum = colors.length; // TODO colors must be in order\n\n for (var i = 0; i < paletteNum; i++) {\n if (colors[i].length > requestColorNum) {\n return colors[i];\n }\n }\n\n return colors[paletteNum - 1];\n}\n\nvar _default = {\n clearColorPalette: function () {\n inner(this).colorIdx = 0;\n inner(this).colorNameMap = {};\n },\n\n /**\n * @param {string} name MUST NOT be null/undefined. Otherwise call this function\n * twise with the same parameters will get different result.\n * @param {Object} [scope=this]\n * @param {Object} [requestColorNum]\n * @return {string} color string.\n */\n getColorFromPalette: function (name, scope, requestColorNum) {\n scope = scope || this;\n var scopeFields = inner(scope);\n var colorIdx = scopeFields.colorIdx || 0;\n var colorNameMap = scopeFields.colorNameMap = scopeFields.colorNameMap || {}; // Use `hasOwnProperty` to avoid conflict with Object.prototype.\n\n if (colorNameMap.hasOwnProperty(name)) {\n return colorNameMap[name];\n }\n\n var defaultColorPalette = normalizeToArray(this.get('color', true));\n var layeredColorPalette = this.get('colorLayer', true);\n var colorPalette = requestColorNum == null || !layeredColorPalette ? defaultColorPalette : getNearestColorPalette(layeredColorPalette, requestColorNum); // In case can't find in layered color palette.\n\n colorPalette = colorPalette || defaultColorPalette;\n\n if (!colorPalette || !colorPalette.length) {\n return;\n }\n\n var color = colorPalette[colorIdx];\n\n if (name) {\n colorNameMap[name] = color;\n }\n\n scopeFields.colorIdx = (colorIdx + 1) % colorPalette.length;\n return color;\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 _dataProvider = require(\"../../data/helper/dataProvider\");\n\nvar retrieveRawValue = _dataProvider.retrieveRawValue;\n\nvar _format = require(\"../../util/format\");\n\nvar getTooltipMarker = _format.getTooltipMarker;\nvar formatTpl = _format.formatTpl;\n\nvar _model = require(\"../../util/model\");\n\nvar getTooltipRenderMode = _model.getTooltipRenderMode;\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 DIMENSION_LABEL_REG = /\\{@(.+?)\\}/g; // PENDING A little ugly\n\nvar _default = {\n /**\n * Get params for formatter\n * @param {number} dataIndex\n * @param {string} [dataType]\n * @return {Object}\n */\n getDataParams: function (dataIndex, dataType) {\n var data = this.getData(dataType);\n var rawValue = this.getRawValue(dataIndex, dataType);\n var rawDataIndex = data.getRawIndex(dataIndex);\n var name = data.getName(dataIndex);\n var itemOpt = data.getRawDataItem(dataIndex);\n var color = data.getItemVisual(dataIndex, 'color');\n var borderColor = data.getItemVisual(dataIndex, 'borderColor');\n var tooltipModel = this.ecModel.getComponent('tooltip');\n var renderModeOption = tooltipModel && tooltipModel.get('renderMode');\n var renderMode = getTooltipRenderMode(renderModeOption);\n var mainType = this.mainType;\n var isSeries = mainType === 'series';\n var userOutput = data.userOutput;\n return {\n componentType: mainType,\n componentSubType: this.subType,\n componentIndex: this.componentIndex,\n seriesType: isSeries ? this.subType : null,\n seriesIndex: this.seriesIndex,\n seriesId: isSeries ? this.id : null,\n seriesName: isSeries ? this.name : null,\n name: name,\n dataIndex: rawDataIndex,\n data: itemOpt,\n dataType: dataType,\n value: rawValue,\n color: color,\n borderColor: borderColor,\n dimensionNames: userOutput ? userOutput.dimensionNames : null,\n encode: userOutput ? userOutput.encode : null,\n marker: getTooltipMarker({\n color: color,\n renderMode: renderMode\n }),\n // Param name list for mapping `a`, `b`, `c`, `d`, `e`\n $vars: ['seriesName', 'name', 'value']\n };\n },\n\n /**\n * Format label\n * @param {number} dataIndex\n * @param {string} [status='normal'] 'normal' or 'emphasis'\n * @param {string} [dataType]\n * @param {number} [dimIndex] Only used in some chart that\n * use formatter in different dimensions, like radar.\n * @param {string} [labelProp='label']\n * @return {string} If not formatter, return null/undefined\n */\n getFormattedLabel: function (dataIndex, status, dataType, dimIndex, labelProp) {\n status = status || 'normal';\n var data = this.getData(dataType);\n var itemModel = data.getItemModel(dataIndex);\n var params = this.getDataParams(dataIndex, dataType);\n\n if (dimIndex != null && params.value instanceof Array) {\n params.value = params.value[dimIndex];\n }\n\n var formatter = itemModel.get(status === 'normal' ? [labelProp || 'label', 'formatter'] : [status, labelProp || 'label', 'formatter']);\n\n if (typeof formatter === 'function') {\n params.status = status;\n params.dimensionIndex = dimIndex;\n return formatter(params);\n } else if (typeof formatter === 'string') {\n var str = formatTpl(formatter, params); // Support 'aaa{@[3]}bbb{@product}ccc'.\n // Do not support '}' in dim name util have to.\n\n return str.replace(DIMENSION_LABEL_REG, function (origin, dim) {\n var len = dim.length;\n\n if (dim.charAt(0) === '[' && dim.charAt(len - 1) === ']') {\n dim = +dim.slice(1, len - 1); // Also: '[]' => 0\n }\n\n return retrieveRawValue(data, dataIndex, dim);\n });\n }\n },\n\n /**\n * Get raw value in option\n * @param {number} idx\n * @param {string} [dataType]\n * @return {Array|number|string}\n */\n getRawValue: function (idx, dataType) {\n return retrieveRawValue(this.getData(dataType), idx);\n },\n\n /**\n * Should be implemented.\n * @param {number} dataIndex\n * @param {boolean} [multipleSeries=false]\n * @param {number} [dataType]\n * @return {string} tooltip string\n */\n formatTooltip: function () {// Empty function\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 makeStyleMapper = require(\"./makeStyleMapper\");\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 getItemStyle = makeStyleMapper([['fill', 'color'], ['stroke', 'borderColor'], ['lineWidth', 'borderWidth'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor'], ['textPosition'], ['textAlign']]);\nvar _default = {\n getItemStyle: function (excludes, includes) {\n var style = getItemStyle(this, excludes, includes);\n var lineDash = this.getBorderLineDash();\n lineDash && (style.lineDash = lineDash);\n return style;\n },\n getBorderLineDash: function () {\n var lineType = this.get('borderType');\n return lineType === 'solid' || lineType == null ? null : lineType === 'dashed' ? [5, 5] : [1, 1];\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 makeStyleMapper = require(\"./makeStyleMapper\");\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 getLineStyle = makeStyleMapper([['lineWidth', 'width'], ['stroke', 'color'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor']]);\nvar _default = {\n getLineStyle: function (excludes) {\n var style = getLineStyle(this, excludes); // Always set lineDash whether dashed, otherwise we can not\n // erase the previous style when assigning to el.style.\n\n style.lineDash = this.getLineDash(style.lineWidth);\n return style;\n },\n getLineDash: function (lineWidth) {\n if (lineWidth == null) {\n lineWidth = 1;\n }\n\n var lineType = this.get('type');\n var dotSize = Math.max(lineWidth, 2);\n var dashSize = lineWidth * 4;\n return lineType === 'solid' || lineType == null ? // Use `false` but not `null` for the solid line here, because `null` might be\n // ignored when assigning to `el.style`. e.g., when setting `lineStyle.type` as\n // `'dashed'` and `emphasis.lineStyle.type` as `'solid'` in graph series, the\n // `lineDash` gotten form the latter one is not able to erase that from the former\n // one if using `null` here according to the emhpsis strategy in `util/graphic.js`.\n false : lineType === 'dashed' ? [dashSize, dashSize] : [dotSize, dotSize];\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// TODO Parse shadow style\n// TODO Only shallow path support\nfunction _default(properties) {\n // Normalize\n for (var i = 0; i < properties.length; i++) {\n if (!properties[i][1]) {\n properties[i][1] = properties[i][0];\n }\n }\n\n return function (model, excludes, includes) {\n var style = {};\n\n for (var i = 0; i < properties.length; i++) {\n var propName = properties[i][1];\n\n if (excludes && zrUtil.indexOf(excludes, propName) >= 0 || includes && zrUtil.indexOf(includes, propName) < 0) {\n continue;\n }\n\n var val = model.getShallow(propName);\n\n if (val != null) {\n style[properties[i][0]] = val;\n }\n }\n\n return style;\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 textContain = require(\"zrender/lib/contain/text\");\n\nvar graphicUtil = require(\"../../util/graphic\");\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 PATH_COLOR = ['textStyle', 'color'];\nvar _default = {\n /**\n * Get color property or get color from option.textStyle.color\n * @param {boolean} [isEmphasis]\n * @return {string}\n */\n getTextColor: function (isEmphasis) {\n var ecModel = this.ecModel;\n return this.getShallow('color') || (!isEmphasis && ecModel ? ecModel.get(PATH_COLOR) : null);\n },\n\n /**\n * Create font string from fontStyle, fontWeight, fontSize, fontFamily\n * @return {string}\n */\n getFont: function () {\n return graphicUtil.getFont({\n fontStyle: this.getShallow('fontStyle'),\n fontWeight: this.getShallow('fontWeight'),\n fontSize: this.getShallow('fontSize'),\n fontFamily: this.getShallow('fontFamily')\n }, this.ecModel);\n },\n getTextRect: function (text) {\n return textContain.getBoundingRect(text, this.getFont(), this.getShallow('align'), this.getShallow('verticalAlign') || this.getShallow('baseline'), this.getShallow('padding'), this.getShallow('lineHeight'), this.getShallow('rich'), this.getShallow('truncateText'));\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar retrieve = _util.retrieve;\nvar each = _util.each;\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 * Helper for model references.\n * There are many manners to refer axis/coordSys.\n */\n// TODO\n// merge relevant logic to this file?\n// check: \"modelHelper\" of tooltip and \"BrushTargetManager\".\n\n/**\n * @class\n * For example:\n * {\n * coordSysName: 'cartesian2d',\n * coordSysDims: ['x', 'y', ...],\n * axisMap: HashMap({\n * x: xAxisModel,\n * y: yAxisModel\n * }),\n * categoryAxisMap: HashMap({\n * x: xAxisModel,\n * y: undefined\n * }),\n * // The index of the first category axis in `coordSysDims`.\n * // `null/undefined` means no category axis exists.\n * firstCategoryDimIndex: 1,\n * // To replace user specified encode.\n * }\n */\nfunction CoordSysInfo(coordSysName) {\n /**\n * @type {string}\n */\n this.coordSysName = coordSysName;\n /**\n * @type {Array.}\n */\n\n this.coordSysDims = [];\n /**\n * @type {module:zrender/core/util#HashMap}\n */\n\n this.axisMap = createHashMap();\n /**\n * @type {module:zrender/core/util#HashMap}\n */\n\n this.categoryAxisMap = createHashMap();\n /**\n * @type {number}\n */\n\n this.firstCategoryDimIndex = null;\n}\n/**\n * @return {module:model/referHelper#CoordSysInfo}\n */\n\n\nfunction getCoordSysInfoBySeries(seriesModel) {\n var coordSysName = seriesModel.get('coordinateSystem');\n var result = new CoordSysInfo(coordSysName);\n var fetch = fetchers[coordSysName];\n\n if (fetch) {\n fetch(seriesModel, result, result.axisMap, result.categoryAxisMap);\n return result;\n }\n}\n\nvar fetchers = {\n cartesian2d: function (seriesModel, result, axisMap, categoryAxisMap) {\n var xAxisModel = seriesModel.getReferringComponents('xAxis')[0];\n var yAxisModel = seriesModel.getReferringComponents('yAxis')[0];\n result.coordSysDims = ['x', 'y'];\n axisMap.set('x', xAxisModel);\n axisMap.set('y', yAxisModel);\n\n if (isCategory(xAxisModel)) {\n categoryAxisMap.set('x', xAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n\n if (isCategory(yAxisModel)) {\n categoryAxisMap.set('y', yAxisModel);\n result.firstCategoryDimIndex == null & (result.firstCategoryDimIndex = 1);\n }\n },\n singleAxis: function (seriesModel, result, axisMap, categoryAxisMap) {\n var singleAxisModel = seriesModel.getReferringComponents('singleAxis')[0];\n result.coordSysDims = ['single'];\n axisMap.set('single', singleAxisModel);\n\n if (isCategory(singleAxisModel)) {\n categoryAxisMap.set('single', singleAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n },\n polar: function (seriesModel, result, axisMap, categoryAxisMap) {\n var polarModel = seriesModel.getReferringComponents('polar')[0];\n var radiusAxisModel = polarModel.findAxisModel('radiusAxis');\n var angleAxisModel = polarModel.findAxisModel('angleAxis');\n result.coordSysDims = ['radius', 'angle'];\n axisMap.set('radius', radiusAxisModel);\n axisMap.set('angle', angleAxisModel);\n\n if (isCategory(radiusAxisModel)) {\n categoryAxisMap.set('radius', radiusAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n\n if (isCategory(angleAxisModel)) {\n categoryAxisMap.set('angle', angleAxisModel);\n result.firstCategoryDimIndex == null && (result.firstCategoryDimIndex = 1);\n }\n },\n geo: function (seriesModel, result, axisMap, categoryAxisMap) {\n result.coordSysDims = ['lng', 'lat'];\n },\n parallel: function (seriesModel, result, axisMap, categoryAxisMap) {\n var ecModel = seriesModel.ecModel;\n var parallelModel = ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n var coordSysDims = result.coordSysDims = parallelModel.dimensions.slice();\n each(parallelModel.parallelAxisIndex, function (axisIndex, index) {\n var axisModel = ecModel.getComponent('parallelAxis', axisIndex);\n var axisDim = coordSysDims[index];\n axisMap.set(axisDim, axisModel);\n\n if (isCategory(axisModel) && result.firstCategoryDimIndex == null) {\n categoryAxisMap.set(axisDim, axisModel);\n result.firstCategoryDimIndex = index;\n }\n });\n }\n};\n\nfunction isCategory(axisModel) {\n return axisModel.get('type') === 'category';\n}\n\nexports.getCoordSysInfoBySeries = getCoordSysInfoBySeries;"],"names":["zrUtil","env","_model","makeInner","_clazz","enableClassExtend","enableClassCheck","lineStyleMixin","areaStyleMixin","textStyleMixin","itemStyleMixin","mixin","inner","Model","option","parentModel","ecModel","this","doGet","obj","pathArr","i","length","get","getParent","model","path","getParentMethod","call","prototype","constructor","init","mergeOption","merge","ignoreParent","parsePath","getShallow","key","val","getModel","thisParentModel","isEmpty","restoreData","clone","Ctor","setReadOnly","properties","split","customizeGetParent","isAnimationEnabled","node","animation","_default","module","exports","modelUtil","ComponentModel","each","map","QUERY_REG","OptionManager","api","_api","_timelineOptions","_mediaList","_mediaDefault","_currentMediaIndices","_optionBackup","_newBaseOption","parseRawOption","rawOption","optionPreprocessorFuncs","isNew","mediaDefault","baseOption","timelineOptions","mediaList","timelineOpt","timeline","options","slice","media","singleMedia","query","push","concat","preProcess","applyMediaQuery","ecWidth","ecHeight","realMap","width","height","aspectratio","applicatable","value","attr","matched","match","operator","realAttr","toLowerCase","compare","real","expect","indicesEquals","indices1","indices2","join","oldOption","newOption","newCptOpt","mainType","oldCptOpt","hasClass","normalizeToArray","mapResult","mappingToExists","item","exist","setOption","series","data","isTypedArray","setAsPrimitive","oldOptionBackup","newParsedOption","mountOption","isRecreate","optionBackup","getTimelineOption","timelineModel","getComponent","getCurrentIndex","getMediaOption","getWidth","getHeight","indices","result","len","index","_config","__DEV__","_format","formatTime","encodeHTML","addCommas","getTooltipMarker","colorPaletteMixin","dataFormatMixin","_layout","getLayoutParams","mergeLayoutParam","_task","createTask","_sourceHelper","prepareSource","getSource","_dataProvider","retrieveRawValue","SeriesModel","extend","type","seriesIndex","coordinateSystem","defaultOption","legendVisualProvider","visualColorAccessPath","visualBorderColorAccessPath","layoutMode","extraOpt","componentIndex","dataTask","count","dataTaskCount","reset","dataTaskReset","context","mergeDefaultAndTheme","getInitialData","wrapData","dataBeforeProcessed","autoSeriesName","inputPositionParams","themeSubType","subType","getTheme","getDefaultOption","defaultEmphasis","fillDataTextStyle","newSeriesOption","dirty","props","label","appendData","params","getRawData","getData","dataType","task","getCurrentTask","getLinkedData","setData","modifyOutputEnd","setOutputEnd","outputData","getBaseAxis","coordSys","formatTooltip","dataIndex","multipleSeries","renderMode","newLine","isRichText","markers","markerId","formatArrayValue","vertially","reduce","idx","dimItem","getDimensionInfo","tooltip","displayName","setEachItem","dim","dimInfo","otherDims","dimType","markName","dimHead","color","dimHeadStr","content","valStr","tooltipDims","style","formatSingleValue","mapDimension","tooltipDimLen","getRawValue","isValueArr","isArray","getItemVisual","isObject","colorStops","formattedValue","colorEl","name","getName","seriesName","isNameSpecified","colorStr","html","animationEnabled","getColorFromPalette","scope","requestColorNum","coordDimToDataDim","coordDim","getProgressive","getProgressiveThreshold","getAxisTooltipData","getTooltipPosition","pipeTask","preventIncremental","pipelineContext","seriesModel","getSeriesAutoName","dataDims","nameArr","dataDim","cloneShallow","dataTaskProgress","param","end","CHANGABLE_METHODS","methodName","wrapMethod","curry","onDataSelfChange","scheduler","pipeline","getPipeline","uid","currentTask","agentStubMap","platform","navigator","gradientColor","textStyle","fontFamily","fontSize","fontStyle","fontWeight","blendMode","animationDuration","animationDurationUpdate","animationEasing","animationEasingUpdate","animationThreshold","progressiveThreshold","progressive","hoverLayerThreshold","useUTC","makeStyleMapper","getAreaStyle","excludes","includes","getBoxLayoutParams","left","top","right","bottom","getNearestColorPalette","colors","paletteNum","clearColorPalette","colorIdx","colorNameMap","scopeFields","hasOwnProperty","defaultColorPalette","layeredColorPalette","colorPalette","formatTpl","getTooltipRenderMode","DIMENSION_LABEL_REG","getDataParams","rawValue","rawDataIndex","getRawIndex","itemOpt","getRawDataItem","borderColor","tooltipModel","renderModeOption","isSeries","userOutput","componentType","componentSubType","seriesType","seriesId","id","dimensionNames","encode","marker","$vars","getFormattedLabel","status","dimIndex","labelProp","itemModel","getItemModel","Array","formatter","dimensionIndex","str","replace","origin","charAt","getItemStyle","lineDash","getBorderLineDash","lineType","getLineStyle","getLineDash","lineWidth","dotSize","Math","max","dashSize","propName","indexOf","textContain","graphicUtil","PATH_COLOR","getTextColor","isEmphasis","getFont","getTextRect","text","getBoundingRect","_util","createHashMap","retrieve","CoordSysInfo","coordSysName","coordSysDims","axisMap","categoryAxisMap","firstCategoryDimIndex","getCoordSysInfoBySeries","fetch","fetchers","cartesian2d","xAxisModel","getReferringComponents","yAxisModel","set","isCategory","singleAxis","singleAxisModel","polar","polarModel","radiusAxisModel","findAxisModel","angleAxisModel","geo","parallel","parallelModel","dimensions","parallelAxisIndex","axisIndex","axisModel","axisDim"],"sourceRoot":""}