{"version":3,"file":"js/chunk-vendors-686bff35-legacy.959e3d42.js","mappings":"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","sources":["webpack://i4proportal/./node_modules/echarts/lib/coord/axisDefault.js","webpack://i4proportal/./node_modules/echarts/lib/coord/axisHelper.js","webpack://i4proportal/./node_modules/echarts/lib/coord/axisModelCommonMixin.js","webpack://i4proportal/./node_modules/echarts/lib/coord/axisModelCreator.js","webpack://i4proportal/./node_modules/echarts/lib/coord/axisTickLabelBuilder.js","webpack://i4proportal/./node_modules/echarts/lib/coord/calendar/Calendar.js","webpack://i4proportal/./node_modules/echarts/lib/coord/calendar/CalendarModel.js","webpack://i4proportal/./node_modules/echarts/lib/coord/calendar/prepareCustom.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\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 defaultOption = {\n show: true,\n zlevel: 0,\n z: 0,\n // Inverse the axis.\n inverse: false,\n // Axis name displayed.\n name: '',\n // 'start' | 'middle' | 'end'\n nameLocation: 'end',\n // By degree. By default auto rotate by nameLocation.\n nameRotate: null,\n nameTruncate: {\n maxWidth: null,\n ellipsis: '...',\n placeholder: '.'\n },\n // Use global text style by default.\n nameTextStyle: {},\n // The gap between axisName and axisLine.\n nameGap: 15,\n // Default `false` to support tooltip.\n silent: false,\n // Default `false` to avoid legacy user event listener fail.\n triggerEvent: false,\n tooltip: {\n show: false\n },\n axisPointer: {},\n axisLine: {\n show: true,\n onZero: true,\n onZeroAxisIndex: null,\n lineStyle: {\n color: '#333',\n width: 1,\n type: 'solid'\n },\n // The arrow at both ends the the axis.\n symbol: ['none', 'none'],\n symbolSize: [10, 15]\n },\n axisTick: {\n show: true,\n // Whether axisTick is inside the grid or outside the grid.\n inside: false,\n // The length of axisTick.\n length: 5,\n lineStyle: {\n width: 1\n }\n },\n axisLabel: {\n show: true,\n // Whether axisLabel is inside the grid or outside the grid.\n inside: false,\n rotate: 0,\n // true | false | null/undefined (auto)\n showMinLabel: null,\n // true | false | null/undefined (auto)\n showMaxLabel: null,\n margin: 8,\n // formatter: null,\n fontSize: 12\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#ccc'],\n width: 1,\n type: 'solid'\n }\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.3)', 'rgba(200,200,200,0.3)']\n }\n }\n};\nvar axisDefault = {};\naxisDefault.categoryAxis = zrUtil.merge({\n // The gap at both ends of the axis. For categoryAxis, boolean.\n boundaryGap: true,\n // Set false to faster category collection.\n // Only usefull in the case like: category is\n // ['2012-01-01', '2012-01-02', ...], where the input\n // data has been ensured not duplicate and is large data.\n // null means \"auto\":\n // if axis.data provided, do not deduplication,\n // else do deduplication.\n deduplication: null,\n // splitArea: {\n // show: false\n // },\n splitLine: {\n show: false\n },\n axisTick: {\n // If tick is align with label when boundaryGap is true\n alignWithLabel: false,\n interval: 'auto'\n },\n axisLabel: {\n interval: 'auto'\n }\n}, defaultOption);\naxisDefault.valueAxis = zrUtil.merge({\n // The gap at both ends of the axis. For value axis, [GAP, GAP], where\n // `GAP` can be an absolute pixel number (like `35`), or percent (like `'30%'`)\n boundaryGap: [0, 0],\n // TODO\n // min/max: [30, datamin, 60] or [20, datamin] or [datamin, 60]\n // Min value of the axis. can be:\n // + a number\n // + 'dataMin': use the min value in data.\n // + null/undefined: auto decide min value (consider pretty look and boundaryGap).\n // min: null,\n // Max value of the axis. can be:\n // + a number\n // + 'dataMax': use the max value in data.\n // + null/undefined: auto decide max value (consider pretty look and boundaryGap).\n // max: null,\n // Readonly prop, specifies start value of the range when using data zoom.\n // rangeStart: null\n // Readonly prop, specifies end value of the range when using data zoom.\n // rangeEnd: null\n // Optional value can be:\n // + `false`: always include value 0.\n // + `true`: the extent do not consider value 0.\n // scale: false,\n // AxisTick and axisLabel and splitLine are caculated based on splitNumber.\n splitNumber: 5,\n // Interval specifies the span of the ticks is mandatorily.\n // interval: null\n // Specify min interval when auto calculate tick interval.\n // minInterval: null\n // Specify max interval when auto calculate tick interval.\n // maxInterval: null\n minorTick: {\n // Minor tick, not available for cateogry axis.\n show: false,\n // Split number of minor ticks. The value should be in range of (0, 100)\n splitNumber: 5,\n // Lenght of minor tick\n length: 3,\n // Same inside with axisTick\n // Line style\n lineStyle: {// Default to be same with axisTick\n }\n },\n minorSplitLine: {\n show: false,\n lineStyle: {\n color: '#eee',\n width: 1\n }\n }\n}, defaultOption);\naxisDefault.timeAxis = zrUtil.defaults({\n scale: true,\n min: 'dataMin',\n max: 'dataMax'\n}, axisDefault.valueAxis);\naxisDefault.logAxis = zrUtil.defaults({\n scale: true,\n logBase: 10\n}, axisDefault.valueAxis);\nvar _default = axisDefault;\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 OrdinalScale = require(\"../scale/Ordinal\");\n\nvar IntervalScale = require(\"../scale/Interval\");\n\nvar Scale = require(\"../scale/Scale\");\n\nvar numberUtil = require(\"../util/number\");\n\nvar _barGrid = require(\"../layout/barGrid\");\n\nvar prepareLayoutBarSeries = _barGrid.prepareLayoutBarSeries;\nvar makeColumnLayout = _barGrid.makeColumnLayout;\nvar retrieveColumnLayout = _barGrid.retrieveColumnLayout;\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nrequire(\"../scale/Time\");\n\nrequire(\"../scale/Log\");\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 * Get axis scale extent before niced.\n * Item of returned array can only be number (including Infinity and NaN).\n */\nfunction getScaleExtent(scale, model) {\n var scaleType = scale.type;\n var min = model.getMin();\n var max = model.getMax();\n var originalExtent = scale.getExtent();\n var axisDataLen;\n var boundaryGap;\n var span;\n\n if (scaleType === 'ordinal') {\n axisDataLen = model.getCategories().length;\n } else {\n boundaryGap = model.get('boundaryGap');\n\n if (!zrUtil.isArray(boundaryGap)) {\n boundaryGap = [boundaryGap || 0, boundaryGap || 0];\n }\n\n if (typeof boundaryGap[0] === 'boolean') {\n boundaryGap = [0, 0];\n }\n\n boundaryGap[0] = numberUtil.parsePercent(boundaryGap[0], 1);\n boundaryGap[1] = numberUtil.parsePercent(boundaryGap[1], 1);\n span = originalExtent[1] - originalExtent[0] || Math.abs(originalExtent[0]);\n } // Notice: When min/max is not set (that is, when there are null/undefined,\n // which is the most common case), these cases should be ensured:\n // (1) For 'ordinal', show all axis.data.\n // (2) For others:\n // + `boundaryGap` is applied (if min/max set, boundaryGap is\n // disabled).\n // + If `needCrossZero`, min/max should be zero, otherwise, min/max should\n // be the result that originalExtent enlarged by boundaryGap.\n // (3) If no data, it should be ensured that `scale.setBlank` is set.\n // FIXME\n // (1) When min/max is 'dataMin' or 'dataMax', should boundaryGap be able to used?\n // (2) When `needCrossZero` and all data is positive/negative, should it be ensured\n // that the results processed by boundaryGap are positive/negative?\n\n\n if (min === 'dataMin') {\n min = originalExtent[0];\n } else if (typeof min === 'function') {\n min = min({\n min: originalExtent[0],\n max: originalExtent[1]\n });\n }\n\n if (max === 'dataMax') {\n max = originalExtent[1];\n } else if (typeof max === 'function') {\n max = max({\n min: originalExtent[0],\n max: originalExtent[1]\n });\n }\n\n var fixMin = min != null;\n var fixMax = max != null;\n\n if (min == null) {\n min = scaleType === 'ordinal' ? axisDataLen ? 0 : NaN : originalExtent[0] - boundaryGap[0] * span;\n }\n\n if (max == null) {\n max = scaleType === 'ordinal' ? axisDataLen ? axisDataLen - 1 : NaN : originalExtent[1] + boundaryGap[1] * span;\n }\n\n (min == null || !isFinite(min)) && (min = NaN);\n (max == null || !isFinite(max)) && (max = NaN);\n scale.setBlank(zrUtil.eqNaN(min) || zrUtil.eqNaN(max) || scaleType === 'ordinal' && !scale.getOrdinalMeta().categories.length); // Evaluate if axis needs cross zero\n\n if (model.getNeedCrossZero()) {\n // Axis is over zero and min is not set\n if (min > 0 && max > 0 && !fixMin) {\n min = 0;\n } // Axis is under zero and max is not set\n\n\n if (min < 0 && max < 0 && !fixMax) {\n max = 0;\n }\n } // If bars are placed on a base axis of type time or interval account for axis boundary overflow and current axis\n // is base axis\n // FIXME\n // (1) Consider support value axis, where below zero and axis `onZero` should be handled properly.\n // (2) Refactor the logic with `barGrid`. Is it not need to `makeBarWidthAndOffsetInfo` twice with different extent?\n // Should not depend on series type `bar`?\n // (3) Fix that might overlap when using dataZoom.\n // (4) Consider other chart types using `barGrid`?\n // See #6728, #4862, `test/bar-overflow-time-plot.html`\n\n\n var ecModel = model.ecModel;\n\n if (ecModel && scaleType === 'time'\n /*|| scaleType === 'interval' */\n ) {\n var barSeriesModels = prepareLayoutBarSeries('bar', ecModel);\n var isBaseAxisAndHasBarSeries;\n zrUtil.each(barSeriesModels, function (seriesModel) {\n isBaseAxisAndHasBarSeries |= seriesModel.getBaseAxis() === model.axis;\n });\n\n if (isBaseAxisAndHasBarSeries) {\n // Calculate placement of bars on axis\n var barWidthAndOffset = makeColumnLayout(barSeriesModels); // Adjust axis min and max to account for overflow\n\n var adjustedScale = adjustScaleForOverflow(min, max, model, barWidthAndOffset);\n min = adjustedScale.min;\n max = adjustedScale.max;\n }\n }\n\n return {\n extent: [min, max],\n // \"fix\" means \"fixed\", the value should not be\n // changed in the subsequent steps.\n fixMin: fixMin,\n fixMax: fixMax\n };\n}\n\nfunction adjustScaleForOverflow(min, max, model, barWidthAndOffset) {\n // Get Axis Length\n var axisExtent = model.axis.getExtent();\n var axisLength = axisExtent[1] - axisExtent[0]; // Get bars on current base axis and calculate min and max overflow\n\n var barsOnCurrentAxis = retrieveColumnLayout(barWidthAndOffset, model.axis);\n\n if (barsOnCurrentAxis === undefined) {\n return {\n min: min,\n max: max\n };\n }\n\n var minOverflow = Infinity;\n zrUtil.each(barsOnCurrentAxis, function (item) {\n minOverflow = Math.min(item.offset, minOverflow);\n });\n var maxOverflow = -Infinity;\n zrUtil.each(barsOnCurrentAxis, function (item) {\n maxOverflow = Math.max(item.offset + item.width, maxOverflow);\n });\n minOverflow = Math.abs(minOverflow);\n maxOverflow = Math.abs(maxOverflow);\n var totalOverFlow = minOverflow + maxOverflow; // Calulate required buffer based on old range and overflow\n\n var oldRange = max - min;\n var oldRangePercentOfNew = 1 - (minOverflow + maxOverflow) / axisLength;\n var overflowBuffer = oldRange / oldRangePercentOfNew - oldRange;\n max += overflowBuffer * (maxOverflow / totalOverFlow);\n min -= overflowBuffer * (minOverflow / totalOverFlow);\n return {\n min: min,\n max: max\n };\n}\n\nfunction niceScaleExtent(scale, model) {\n var extentInfo = getScaleExtent(scale, model);\n var extent = extentInfo.extent;\n var splitNumber = model.get('splitNumber');\n\n if (scale.type === 'log') {\n scale.base = model.get('logBase');\n }\n\n var scaleType = scale.type;\n scale.setExtent(extent[0], extent[1]);\n scale.niceExtent({\n splitNumber: splitNumber,\n fixMin: extentInfo.fixMin,\n fixMax: extentInfo.fixMax,\n minInterval: scaleType === 'interval' || scaleType === 'time' ? model.get('minInterval') : null,\n maxInterval: scaleType === 'interval' || scaleType === 'time' ? model.get('maxInterval') : null\n }); // If some one specified the min, max. And the default calculated interval\n // is not good enough. He can specify the interval. It is often appeared\n // in angle axis with angle 0 - 360. Interval calculated in interval scale is hard\n // to be 60.\n // FIXME\n\n var interval = model.get('interval');\n\n if (interval != null) {\n scale.setInterval && scale.setInterval(interval);\n }\n}\n/**\n * @param {module:echarts/model/Model} model\n * @param {string} [axisType] Default retrieve from model.type\n * @return {module:echarts/scale/*}\n */\n\n\nfunction createScaleByModel(model, axisType) {\n axisType = axisType || model.get('type');\n\n if (axisType) {\n switch (axisType) {\n // Buildin scale\n case 'category':\n return new OrdinalScale(model.getOrdinalMeta ? model.getOrdinalMeta() : model.getCategories(), [Infinity, -Infinity]);\n\n case 'value':\n return new IntervalScale();\n // Extended scale, like time and log\n\n default:\n return (Scale.getClass(axisType) || IntervalScale).create(model);\n }\n }\n}\n/**\n * Check if the axis corss 0\n */\n\n\nfunction ifAxisCrossZero(axis) {\n var dataExtent = axis.scale.getExtent();\n var min = dataExtent[0];\n var max = dataExtent[1];\n return !(min > 0 && max > 0 || min < 0 && max < 0);\n}\n/**\n * @param {module:echarts/coord/Axis} axis\n * @return {Function} Label formatter function.\n * param: {number} tickValue,\n * param: {number} idx, the index in all ticks.\n * If category axis, this param is not requied.\n * return: {string} label string.\n */\n\n\nfunction makeLabelFormatter(axis) {\n var labelFormatter = axis.getLabelModel().get('formatter');\n var categoryTickStart = axis.type === 'category' ? axis.scale.getExtent()[0] : null;\n\n if (typeof labelFormatter === 'string') {\n labelFormatter = function (tpl) {\n return function (val) {\n // For category axis, get raw value; for numeric axis,\n // get foramtted label like '1,333,444'.\n val = axis.scale.getLabel(val);\n return tpl.replace('{value}', val != null ? val : '');\n };\n }(labelFormatter); // Consider empty array\n\n\n return labelFormatter;\n } else if (typeof labelFormatter === 'function') {\n return function (tickValue, idx) {\n // The original intention of `idx` is \"the index of the tick in all ticks\".\n // But the previous implementation of category axis do not consider the\n // `axisLabel.interval`, which cause that, for example, the `interval` is\n // `1`, then the ticks \"name5\", \"name7\", \"name9\" are displayed, where the\n // corresponding `idx` are `0`, `2`, `4`, but not `0`, `1`, `2`. So we keep\n // the definition here for back compatibility.\n if (categoryTickStart != null) {\n idx = tickValue - categoryTickStart;\n }\n\n return labelFormatter(getAxisRawValue(axis, tickValue), idx);\n };\n } else {\n return function (tick) {\n return axis.scale.getLabel(tick);\n };\n }\n}\n\nfunction getAxisRawValue(axis, value) {\n // In category axis with data zoom, tick is not the original\n // index of axis.data. So tick should not be exposed to user\n // in category axis.\n return axis.type === 'category' ? axis.scale.getLabel(value) : value;\n}\n/**\n * @param {module:echarts/coord/Axis} axis\n * @return {module:zrender/core/BoundingRect} Be null/undefined if no labels.\n */\n\n\nfunction estimateLabelUnionRect(axis) {\n var axisModel = axis.model;\n var scale = axis.scale;\n\n if (!axisModel.get('axisLabel.show') || scale.isBlank()) {\n return;\n }\n\n var isCategory = axis.type === 'category';\n var realNumberScaleTicks;\n var tickCount;\n var categoryScaleExtent = scale.getExtent(); // Optimize for large category data, avoid call `getTicks()`.\n\n if (isCategory) {\n tickCount = scale.count();\n } else {\n realNumberScaleTicks = scale.getTicks();\n tickCount = realNumberScaleTicks.length;\n }\n\n var axisLabelModel = axis.getLabelModel();\n var labelFormatter = makeLabelFormatter(axis);\n var rect;\n var step = 1; // Simple optimization for large amount of labels\n\n if (tickCount > 40) {\n step = Math.ceil(tickCount / 40);\n }\n\n for (var i = 0; i < tickCount; i += step) {\n var tickValue = realNumberScaleTicks ? realNumberScaleTicks[i] : categoryScaleExtent[0] + i;\n var label = labelFormatter(tickValue);\n var unrotatedSingleRect = axisLabelModel.getTextRect(label);\n var singleRect = rotateTextRect(unrotatedSingleRect, axisLabelModel.get('rotate') || 0);\n rect ? rect.union(singleRect) : rect = singleRect;\n }\n\n return rect;\n}\n\nfunction rotateTextRect(textRect, rotate) {\n var rotateRadians = rotate * Math.PI / 180;\n var boundingBox = textRect.plain();\n var beforeWidth = boundingBox.width;\n var beforeHeight = boundingBox.height;\n var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians)) + Math.abs(beforeHeight * Math.sin(rotateRadians));\n var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians)) + Math.abs(beforeHeight * Math.cos(rotateRadians));\n var rotatedRect = new BoundingRect(boundingBox.x, boundingBox.y, afterWidth, afterHeight);\n return rotatedRect;\n}\n/**\n * @param {module:echarts/src/model/Model} model axisLabelModel or axisTickModel\n * @return {number|String} Can be null|'auto'|number|function\n */\n\n\nfunction getOptionCategoryInterval(model) {\n var interval = model.get('interval');\n return interval == null ? 'auto' : interval;\n}\n/**\n * Set `categoryInterval` as 0 implicitly indicates that\n * show all labels reguardless of overlap.\n * @param {Object} axis axisModel.axis\n * @return {boolean}\n */\n\n\nfunction shouldShowAllLabels(axis) {\n return axis.type === 'category' && getOptionCategoryInterval(axis.getLabelModel()) === 0;\n}\n\nexports.getScaleExtent = getScaleExtent;\nexports.niceScaleExtent = niceScaleExtent;\nexports.createScaleByModel = createScaleByModel;\nexports.ifAxisCrossZero = ifAxisCrossZero;\nexports.makeLabelFormatter = makeLabelFormatter;\nexports.getAxisRawValue = getAxisRawValue;\nexports.estimateLabelUnionRect = estimateLabelUnionRect;\nexports.getOptionCategoryInterval = getOptionCategoryInterval;\nexports.shouldShowAllLabels = shouldShowAllLabels;","\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// import * as axisHelper from './axisHelper';\nvar _default = {\n /**\n * @param {boolean} origin\n * @return {number|string} min value or 'dataMin' or null/undefined (means auto) or NaN\n */\n getMin: function (origin) {\n var option = this.option;\n var min = !origin && option.rangeStart != null ? option.rangeStart : option.min;\n\n if (this.axis && min != null && min !== 'dataMin' && typeof min !== 'function' && !zrUtil.eqNaN(min)) {\n min = this.axis.scale.parse(min);\n }\n\n return min;\n },\n\n /**\n * @param {boolean} origin\n * @return {number|string} max value or 'dataMax' or null/undefined (means auto) or NaN\n */\n getMax: function (origin) {\n var option = this.option;\n var max = !origin && option.rangeEnd != null ? option.rangeEnd : option.max;\n\n if (this.axis && max != null && max !== 'dataMax' && typeof max !== 'function' && !zrUtil.eqNaN(max)) {\n max = this.axis.scale.parse(max);\n }\n\n return max;\n },\n\n /**\n * @return {boolean}\n */\n getNeedCrossZero: function () {\n var option = this.option;\n return option.rangeStart != null || option.rangeEnd != null ? false : !option.scale;\n },\n\n /**\n * Should be implemented by each axis model if necessary.\n * @return {module:echarts/model/Component} coordinate system model\n */\n getCoordSysModel: zrUtil.noop,\n\n /**\n * @param {number} rangeStart Can only be finite number or null/undefined or NaN.\n * @param {number} rangeEnd Can only be finite number or null/undefined or NaN.\n */\n setRange: function (rangeStart, rangeEnd) {\n this.option.rangeStart = rangeStart;\n this.option.rangeEnd = rangeEnd;\n },\n\n /**\n * Reset range\n */\n resetRange: function () {\n // rangeStart and rangeEnd is readonly.\n this.option.rangeStart = this.option.rangeEnd = null;\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\nvar axisDefault = require(\"./axisDefault\");\n\nvar ComponentModel = require(\"../model/Component\");\n\nvar _layout = require(\"../util/layout\");\n\nvar getLayoutParams = _layout.getLayoutParams;\nvar mergeLayoutParam = _layout.mergeLayoutParam;\n\nvar OrdinalMeta = require(\"../data/OrdinalMeta\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// FIXME axisType is fixed ?\nvar AXIS_TYPES = ['value', 'category', 'time', 'log'];\n/**\n * Generate sub axis model class\n * @param {string} axisName 'x' 'y' 'radius' 'angle' 'parallel'\n * @param {module:echarts/model/Component} BaseAxisModelClass\n * @param {Function} axisTypeDefaulter\n * @param {Object} [extraDefaultOption]\n */\n\nfunction _default(axisName, BaseAxisModelClass, axisTypeDefaulter, extraDefaultOption) {\n zrUtil.each(AXIS_TYPES, function (axisType) {\n BaseAxisModelClass.extend({\n /**\n * @readOnly\n */\n type: axisName + 'Axis.' + axisType,\n mergeDefaultAndTheme: function (option, ecModel) {\n var layoutMode = this.layoutMode;\n var inputPositionParams = layoutMode ? getLayoutParams(option) : {};\n var themeModel = ecModel.getTheme();\n zrUtil.merge(option, themeModel.get(axisType + 'Axis'));\n zrUtil.merge(option, this.getDefaultOption());\n option.type = axisTypeDefaulter(axisName, option);\n\n if (layoutMode) {\n mergeLayoutParam(option, inputPositionParams, layoutMode);\n }\n },\n\n /**\n * @override\n */\n optionUpdated: function () {\n var thisOption = this.option;\n\n if (thisOption.type === 'category') {\n this.__ordinalMeta = OrdinalMeta.createByAxisModel(this);\n }\n },\n\n /**\n * Should not be called before all of 'getInitailData' finished.\n * Because categories are collected during initializing data.\n */\n getCategories: function (rawData) {\n var option = this.option; // FIXME\n // warning if called before all of 'getInitailData' finished.\n\n if (option.type === 'category') {\n if (rawData) {\n return option.data;\n }\n\n return this.__ordinalMeta.categories;\n }\n },\n getOrdinalMeta: function () {\n return this.__ordinalMeta;\n },\n defaultOption: zrUtil.mergeAll([{}, axisDefault[axisType + 'Axis'], extraDefaultOption], true)\n });\n });\n ComponentModel.registerSubTypeDefaulter(axisName + 'Axis', zrUtil.curry(axisTypeDefaulter, axisName));\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\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar _model = require(\"../util/model\");\n\nvar makeInner = _model.makeInner;\n\nvar _axisHelper = require(\"./axisHelper\");\n\nvar makeLabelFormatter = _axisHelper.makeLabelFormatter;\nvar getOptionCategoryInterval = _axisHelper.getOptionCategoryInterval;\nvar shouldShowAllLabels = _axisHelper.shouldShowAllLabels;\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/**\n * @param {module:echats/coord/Axis} axis\n * @return {Object} {\n * labels: [{\n * formattedLabel: string,\n * rawLabel: string,\n * tickValue: number\n * }, ...],\n * labelCategoryInterval: number\n * }\n */\n\nfunction createAxisLabels(axis) {\n // Only ordinal scale support tick interval\n return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis);\n}\n/**\n * @param {module:echats/coord/Axis} axis\n * @param {module:echarts/model/Model} tickModel For example, can be axisTick, splitLine, splitArea.\n * @return {Object} {\n * ticks: Array.\n * tickCategoryInterval: number\n * }\n */\n\n\nfunction createAxisTicks(axis, tickModel) {\n // Only ordinal scale support tick interval\n return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : {\n ticks: axis.scale.getTicks()\n };\n}\n\nfunction makeCategoryLabels(axis) {\n var labelModel = axis.getLabelModel();\n var result = makeCategoryLabelsActually(axis, labelModel);\n return !labelModel.get('show') || axis.scale.isBlank() ? {\n labels: [],\n labelCategoryInterval: result.labelCategoryInterval\n } : result;\n}\n\nfunction makeCategoryLabelsActually(axis, labelModel) {\n var labelsCache = getListCache(axis, 'labels');\n var optionLabelInterval = getOptionCategoryInterval(labelModel);\n var result = listCacheGet(labelsCache, optionLabelInterval);\n\n if (result) {\n return result;\n }\n\n var labels;\n var numericLabelInterval;\n\n if (zrUtil.isFunction(optionLabelInterval)) {\n labels = makeLabelsByCustomizedCategoryInterval(axis, optionLabelInterval);\n } else {\n numericLabelInterval = optionLabelInterval === 'auto' ? makeAutoCategoryInterval(axis) : optionLabelInterval;\n labels = makeLabelsByNumericCategoryInterval(axis, numericLabelInterval);\n } // Cache to avoid calling interval function repeatly.\n\n\n return listCacheSet(labelsCache, optionLabelInterval, {\n labels: labels,\n labelCategoryInterval: numericLabelInterval\n });\n}\n\nfunction makeCategoryTicks(axis, tickModel) {\n var ticksCache = getListCache(axis, 'ticks');\n var optionTickInterval = getOptionCategoryInterval(tickModel);\n var result = listCacheGet(ticksCache, optionTickInterval);\n\n if (result) {\n return result;\n }\n\n var ticks;\n var tickCategoryInterval; // Optimize for the case that large category data and no label displayed,\n // we should not return all ticks.\n\n if (!tickModel.get('show') || axis.scale.isBlank()) {\n ticks = [];\n }\n\n if (zrUtil.isFunction(optionTickInterval)) {\n ticks = makeLabelsByCustomizedCategoryInterval(axis, optionTickInterval, true);\n } // Always use label interval by default despite label show. Consider this\n // scenario, Use multiple grid with the xAxis sync, and only one xAxis shows\n // labels. `splitLine` and `axisTick` should be consistent in this case.\n else if (optionTickInterval === 'auto') {\n var labelsResult = makeCategoryLabelsActually(axis, axis.getLabelModel());\n tickCategoryInterval = labelsResult.labelCategoryInterval;\n ticks = zrUtil.map(labelsResult.labels, function (labelItem) {\n return labelItem.tickValue;\n });\n } else {\n tickCategoryInterval = optionTickInterval;\n ticks = makeLabelsByNumericCategoryInterval(axis, tickCategoryInterval, true);\n } // Cache to avoid calling interval function repeatly.\n\n\n return listCacheSet(ticksCache, optionTickInterval, {\n ticks: ticks,\n tickCategoryInterval: tickCategoryInterval\n });\n}\n\nfunction makeRealNumberLabels(axis) {\n var ticks = axis.scale.getTicks();\n var labelFormatter = makeLabelFormatter(axis);\n return {\n labels: zrUtil.map(ticks, function (tickValue, idx) {\n return {\n formattedLabel: labelFormatter(tickValue, idx),\n rawLabel: axis.scale.getLabel(tickValue),\n tickValue: tickValue\n };\n })\n };\n} // Large category data calculation is performence sensitive, and ticks and label\n// probably be fetched by multiple times. So we cache the result.\n// axis is created each time during a ec process, so we do not need to clear cache.\n\n\nfunction getListCache(axis, prop) {\n // Because key can be funciton, and cache size always be small, we use array cache.\n return inner(axis)[prop] || (inner(axis)[prop] = []);\n}\n\nfunction listCacheGet(cache, key) {\n for (var i = 0; i < cache.length; i++) {\n if (cache[i].key === key) {\n return cache[i].value;\n }\n }\n}\n\nfunction listCacheSet(cache, key, value) {\n cache.push({\n key: key,\n value: value\n });\n return value;\n}\n\nfunction makeAutoCategoryInterval(axis) {\n var result = inner(axis).autoInterval;\n return result != null ? result : inner(axis).autoInterval = axis.calculateCategoryInterval();\n}\n/**\n * Calculate interval for category axis ticks and labels.\n * To get precise result, at least one of `getRotate` and `isHorizontal`\n * should be implemented in axis.\n */\n\n\nfunction calculateCategoryInterval(axis) {\n var params = fetchAutoCategoryIntervalCalculationParams(axis);\n var labelFormatter = makeLabelFormatter(axis);\n var rotation = (params.axisRotate - params.labelRotate) / 180 * Math.PI;\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent(); // Providing this method is for optimization:\n // avoid generating a long array by `getTicks`\n // in large category data case.\n\n var tickCount = ordinalScale.count();\n\n if (ordinalExtent[1] - ordinalExtent[0] < 1) {\n return 0;\n }\n\n var step = 1; // Simple optimization. Empirical value: tick count should less than 40.\n\n if (tickCount > 40) {\n step = Math.max(1, Math.floor(tickCount / 40));\n }\n\n var tickValue = ordinalExtent[0];\n var unitSpan = axis.dataToCoord(tickValue + 1) - axis.dataToCoord(tickValue);\n var unitW = Math.abs(unitSpan * Math.cos(rotation));\n var unitH = Math.abs(unitSpan * Math.sin(rotation));\n var maxW = 0;\n var maxH = 0; // Caution: Performance sensitive for large category data.\n // Consider dataZoom, we should make appropriate step to avoid O(n) loop.\n\n for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n var width = 0;\n var height = 0; // Not precise, do not consider align and vertical align\n // and each distance from axis line yet.\n\n var rect = textContain.getBoundingRect(labelFormatter(tickValue), params.font, 'center', 'top'); // Magic number\n\n width = rect.width * 1.3;\n height = rect.height * 1.3; // Min size, void long loop.\n\n maxW = Math.max(maxW, width, 7);\n maxH = Math.max(maxH, height, 7);\n }\n\n var dw = maxW / unitW;\n var dh = maxH / unitH; // 0/0 is NaN, 1/0 is Infinity.\n\n isNaN(dw) && (dw = Infinity);\n isNaN(dh) && (dh = Infinity);\n var interval = Math.max(0, Math.floor(Math.min(dw, dh)));\n var cache = inner(axis.model);\n var axisExtent = axis.getExtent();\n var lastAutoInterval = cache.lastAutoInterval;\n var lastTickCount = cache.lastTickCount; // Use cache to keep interval stable while moving zoom window,\n // otherwise the calculated interval might jitter when the zoom\n // window size is close to the interval-changing size.\n // For example, if all of the axis labels are `a, b, c, d, e, f, g`.\n // The jitter will cause that sometimes the displayed labels are\n // `a, d, g` (interval: 2) sometimes `a, c, e`(interval: 1).\n\n if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 // Always choose the bigger one, otherwise the critical\n // point is not the same when zooming in or zooming out.\n && lastAutoInterval > interval // If the axis change is caused by chart resize, the cache should not\n // be used. Otherwise some hiden labels might not be shown again.\n && cache.axisExtend0 === axisExtent[0] && cache.axisExtend1 === axisExtent[1]) {\n interval = lastAutoInterval;\n } // Only update cache if cache not used, otherwise the\n // changing of interval is too insensitive.\n else {\n cache.lastTickCount = tickCount;\n cache.lastAutoInterval = interval;\n cache.axisExtend0 = axisExtent[0];\n cache.axisExtend1 = axisExtent[1];\n }\n\n return interval;\n}\n\nfunction fetchAutoCategoryIntervalCalculationParams(axis) {\n var labelModel = axis.getLabelModel();\n return {\n axisRotate: axis.getRotate ? axis.getRotate() : axis.isHorizontal && !axis.isHorizontal() ? 90 : 0,\n labelRotate: labelModel.get('rotate') || 0,\n font: labelModel.getFont()\n };\n}\n\nfunction makeLabelsByNumericCategoryInterval(axis, categoryInterval, onlyTick) {\n var labelFormatter = makeLabelFormatter(axis);\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent();\n var labelModel = axis.getLabelModel();\n var result = []; // TODO: axisType: ordinalTime, pick the tick from each month/day/year/...\n\n var step = Math.max((categoryInterval || 0) + 1, 1);\n var startTick = ordinalExtent[0];\n var tickCount = ordinalScale.count(); // Calculate start tick based on zero if possible to keep label consistent\n // while zooming and moving while interval > 0. Otherwise the selection\n // of displayable ticks and symbols probably keep changing.\n // 3 is empirical value.\n\n if (startTick !== 0 && step > 1 && tickCount / step > 2) {\n startTick = Math.round(Math.ceil(startTick / step) * step);\n } // (1) Only add min max label here but leave overlap checking\n // to render stage, which also ensure the returned list\n // suitable for splitLine and splitArea rendering.\n // (2) Scales except category always contain min max label so\n // do not need to perform this process.\n\n\n var showAllLabel = shouldShowAllLabels(axis);\n var includeMinLabel = labelModel.get('showMinLabel') || showAllLabel;\n var includeMaxLabel = labelModel.get('showMaxLabel') || showAllLabel;\n\n if (includeMinLabel && startTick !== ordinalExtent[0]) {\n addItem(ordinalExtent[0]);\n } // Optimize: avoid generating large array by `ordinalScale.getTicks()`.\n\n\n var tickValue = startTick;\n\n for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n addItem(tickValue);\n }\n\n if (includeMaxLabel && tickValue - step !== ordinalExtent[1]) {\n addItem(ordinalExtent[1]);\n }\n\n function addItem(tVal) {\n result.push(onlyTick ? tVal : {\n formattedLabel: labelFormatter(tVal),\n rawLabel: ordinalScale.getLabel(tVal),\n tickValue: tVal\n });\n }\n\n return result;\n} // When interval is function, the result `false` means ignore the tick.\n// It is time consuming for large category data.\n\n\nfunction makeLabelsByCustomizedCategoryInterval(axis, categoryInterval, onlyTick) {\n var ordinalScale = axis.scale;\n var labelFormatter = makeLabelFormatter(axis);\n var result = [];\n zrUtil.each(ordinalScale.getTicks(), function (tickValue) {\n var rawLabel = ordinalScale.getLabel(tickValue);\n\n if (categoryInterval(tickValue, rawLabel)) {\n result.push(onlyTick ? tickValue : {\n formattedLabel: labelFormatter(tickValue),\n rawLabel: rawLabel,\n tickValue: tickValue\n });\n }\n });\n return result;\n}\n\nexports.createAxisLabels = createAxisLabels;\nexports.createAxisTicks = createAxisTicks;\nexports.calculateCategoryInterval = calculateCategoryInterval;","\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 layout = require(\"../../util/layout\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// (24*60*60*1000)\nvar PROXIMATE_ONE_DAY = 86400000;\n/**\n * Calendar\n *\n * @constructor\n *\n * @param {Object} calendarModel calendarModel\n * @param {Object} ecModel ecModel\n * @param {Object} api api\n */\n\nfunction Calendar(calendarModel, ecModel, api) {\n this._model = calendarModel;\n}\n\nCalendar.prototype = {\n constructor: Calendar,\n type: 'calendar',\n dimensions: ['time', 'value'],\n // Required in createListFromData\n getDimensionsInfo: function () {\n return [{\n name: 'time',\n type: 'time'\n }, 'value'];\n },\n getRangeInfo: function () {\n return this._rangeInfo;\n },\n getModel: function () {\n return this._model;\n },\n getRect: function () {\n return this._rect;\n },\n getCellWidth: function () {\n return this._sw;\n },\n getCellHeight: function () {\n return this._sh;\n },\n getOrient: function () {\n return this._orient;\n },\n\n /**\n * getFirstDayOfWeek\n *\n * @example\n * 0 : start at Sunday\n * 1 : start at Monday\n *\n * @return {number}\n */\n getFirstDayOfWeek: function () {\n return this._firstDayOfWeek;\n },\n\n /**\n * get date info\n *\n * @param {string|number} date date\n * @return {Object}\n * {\n * y: string, local full year, eg., '1940',\n * m: string, local month, from '01' ot '12',\n * d: string, local date, from '01' to '31' (if exists),\n * day: It is not date.getDay(). It is the location of the cell in a week, from 0 to 6,\n * time: timestamp,\n * formatedDate: string, yyyy-MM-dd,\n * date: original date object.\n * }\n */\n getDateInfo: function (date) {\n date = numberUtil.parseDate(date);\n var y = date.getFullYear();\n var m = date.getMonth() + 1;\n m = m < 10 ? '0' + m : m;\n var d = date.getDate();\n d = d < 10 ? '0' + d : d;\n var day = date.getDay();\n day = Math.abs((day + 7 - this.getFirstDayOfWeek()) % 7);\n return {\n y: y,\n m: m,\n d: d,\n day: day,\n time: date.getTime(),\n formatedDate: y + '-' + m + '-' + d,\n date: date\n };\n },\n getNextNDay: function (date, n) {\n n = n || 0;\n\n if (n === 0) {\n return this.getDateInfo(date);\n }\n\n date = new Date(this.getDateInfo(date).time);\n date.setDate(date.getDate() + n);\n return this.getDateInfo(date);\n },\n update: function (ecModel, api) {\n this._firstDayOfWeek = +this._model.getModel('dayLabel').get('firstDay');\n this._orient = this._model.get('orient');\n this._lineWidth = this._model.getModel('itemStyle').getItemStyle().lineWidth || 0;\n this._rangeInfo = this._getRangeInfo(this._initRangeOption());\n var weeks = this._rangeInfo.weeks || 1;\n var whNames = ['width', 'height'];\n\n var cellSize = this._model.get('cellSize').slice();\n\n var layoutParams = this._model.getBoxLayoutParams();\n\n var cellNumbers = this._orient === 'horizontal' ? [weeks, 7] : [7, weeks];\n zrUtil.each([0, 1], function (idx) {\n if (cellSizeSpecified(cellSize, idx)) {\n layoutParams[whNames[idx]] = cellSize[idx] * cellNumbers[idx];\n }\n });\n var whGlobal = {\n width: api.getWidth(),\n height: api.getHeight()\n };\n var calendarRect = this._rect = layout.getLayoutRect(layoutParams, whGlobal);\n zrUtil.each([0, 1], function (idx) {\n if (!cellSizeSpecified(cellSize, idx)) {\n cellSize[idx] = calendarRect[whNames[idx]] / cellNumbers[idx];\n }\n });\n\n function cellSizeSpecified(cellSize, idx) {\n return cellSize[idx] != null && cellSize[idx] !== 'auto';\n }\n\n this._sw = cellSize[0];\n this._sh = cellSize[1];\n },\n\n /**\n * Convert a time data(time, value) item to (x, y) point.\n *\n * @override\n * @param {Array|number} data data\n * @param {boolean} [clamp=true] out of range\n * @return {Array} point\n */\n dataToPoint: function (data, clamp) {\n zrUtil.isArray(data) && (data = data[0]);\n clamp == null && (clamp = true);\n var dayInfo = this.getDateInfo(data);\n var range = this._rangeInfo;\n var date = dayInfo.formatedDate; // if not in range return [NaN, NaN]\n\n if (clamp && !(dayInfo.time >= range.start.time && dayInfo.time < range.end.time + PROXIMATE_ONE_DAY)) {\n return [NaN, NaN];\n }\n\n var week = dayInfo.day;\n\n var nthWeek = this._getRangeInfo([range.start.time, date]).nthWeek;\n\n if (this._orient === 'vertical') {\n return [this._rect.x + week * this._sw + this._sw / 2, this._rect.y + nthWeek * this._sh + this._sh / 2];\n }\n\n return [this._rect.x + nthWeek * this._sw + this._sw / 2, this._rect.y + week * this._sh + this._sh / 2];\n },\n\n /**\n * Convert a (x, y) point to time data\n *\n * @override\n * @param {string} point point\n * @return {string} data\n */\n pointToData: function (point) {\n var date = this.pointToDate(point);\n return date && date.time;\n },\n\n /**\n * Convert a time date item to (x, y) four point.\n *\n * @param {Array} data date[0] is date\n * @param {boolean} [clamp=true] out of range\n * @return {Object} point\n */\n dataToRect: function (data, clamp) {\n var point = this.dataToPoint(data, clamp);\n return {\n contentShape: {\n x: point[0] - (this._sw - this._lineWidth) / 2,\n y: point[1] - (this._sh - this._lineWidth) / 2,\n width: this._sw - this._lineWidth,\n height: this._sh - this._lineWidth\n },\n center: point,\n tl: [point[0] - this._sw / 2, point[1] - this._sh / 2],\n tr: [point[0] + this._sw / 2, point[1] - this._sh / 2],\n br: [point[0] + this._sw / 2, point[1] + this._sh / 2],\n bl: [point[0] - this._sw / 2, point[1] + this._sh / 2]\n };\n },\n\n /**\n * Convert a (x, y) point to time date\n *\n * @param {Array} point point\n * @return {Object} date\n */\n pointToDate: function (point) {\n var nthX = Math.floor((point[0] - this._rect.x) / this._sw) + 1;\n var nthY = Math.floor((point[1] - this._rect.y) / this._sh) + 1;\n var range = this._rangeInfo.range;\n\n if (this._orient === 'vertical') {\n return this._getDateByWeeksAndDay(nthY, nthX - 1, range);\n }\n\n return this._getDateByWeeksAndDay(nthX, nthY - 1, range);\n },\n\n /**\n * @inheritDoc\n */\n convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),\n\n /**\n * @inheritDoc\n */\n convertFromPixel: zrUtil.curry(doConvert, 'pointToData'),\n\n /**\n * initRange\n *\n * @private\n * @return {Array} [start, end]\n */\n _initRangeOption: function () {\n var range = this._model.get('range');\n\n var rg = range;\n\n if (zrUtil.isArray(rg) && rg.length === 1) {\n rg = rg[0];\n }\n\n if (/^\\d{4}$/.test(rg)) {\n range = [rg + '-01-01', rg + '-12-31'];\n }\n\n if (/^\\d{4}[\\/|-]\\d{1,2}$/.test(rg)) {\n var start = this.getDateInfo(rg);\n var firstDay = start.date;\n firstDay.setMonth(firstDay.getMonth() + 1);\n var end = this.getNextNDay(firstDay, -1);\n range = [start.formatedDate, end.formatedDate];\n }\n\n if (/^\\d{4}[\\/|-]\\d{1,2}[\\/|-]\\d{1,2}$/.test(rg)) {\n range = [rg, rg];\n }\n\n var tmp = this._getRangeInfo(range);\n\n if (tmp.start.time > tmp.end.time) {\n range.reverse();\n }\n\n return range;\n },\n\n /**\n * range info\n *\n * @private\n * @param {Array} range range ['2017-01-01', '2017-07-08']\n * If range[0] > range[1], they will not be reversed.\n * @return {Object} obj\n */\n _getRangeInfo: function (range) {\n range = [this.getDateInfo(range[0]), this.getDateInfo(range[1])];\n var reversed;\n\n if (range[0].time > range[1].time) {\n reversed = true;\n range.reverse();\n }\n\n var allDay = Math.floor(range[1].time / PROXIMATE_ONE_DAY) - Math.floor(range[0].time / PROXIMATE_ONE_DAY) + 1; // Consider case1 (#11677 #10430):\n // Set the system timezone as \"UK\", set the range to `['2016-07-01', '2016-12-31']`\n // Consider case2:\n // Firstly set system timezone as \"Time Zone: America/Toronto\",\n // ```\n // var first = new Date(1478412000000 - 3600 * 1000 * 2.5);\n // var second = new Date(1478412000000);\n // var allDays = Math.floor(second / ONE_DAY) - Math.floor(first / ONE_DAY) + 1;\n // ```\n // will get wrong result because of DST. So we should fix it.\n\n var date = new Date(range[0].time);\n var startDateNum = date.getDate();\n var endDateNum = range[1].date.getDate();\n date.setDate(startDateNum + allDay - 1); // The bias can not over a month, so just compare date.\n\n var dateNum = date.getDate();\n\n if (dateNum !== endDateNum) {\n var sign = date.getTime() - range[1].time > 0 ? 1 : -1;\n\n while ((dateNum = date.getDate()) !== endDateNum && (date.getTime() - range[1].time) * sign > 0) {\n allDay -= sign;\n date.setDate(dateNum - sign);\n }\n }\n\n var weeks = Math.floor((allDay + range[0].day + 6) / 7);\n var nthWeek = reversed ? -weeks + 1 : weeks - 1;\n reversed && range.reverse();\n return {\n range: [range[0].formatedDate, range[1].formatedDate],\n start: range[0],\n end: range[1],\n allDay: allDay,\n weeks: weeks,\n // From 0.\n nthWeek: nthWeek,\n fweek: range[0].day,\n lweek: range[1].day\n };\n },\n\n /**\n * get date by nthWeeks and week day in range\n *\n * @private\n * @param {number} nthWeek the week\n * @param {number} day the week day\n * @param {Array} range [d1, d2]\n * @return {Object}\n */\n _getDateByWeeksAndDay: function (nthWeek, day, range) {\n var rangeInfo = this._getRangeInfo(range);\n\n if (nthWeek > rangeInfo.weeks || nthWeek === 0 && day < rangeInfo.fweek || nthWeek === rangeInfo.weeks && day > rangeInfo.lweek) {\n return false;\n }\n\n var nthDay = (nthWeek - 1) * 7 - rangeInfo.fweek + day;\n var date = new Date(rangeInfo.start.time);\n date.setDate(rangeInfo.start.d + nthDay);\n return this.getDateInfo(date);\n }\n};\nCalendar.dimensions = Calendar.prototype.dimensions;\nCalendar.getDimensionsInfo = Calendar.prototype.getDimensionsInfo;\n\nCalendar.create = function (ecModel, api) {\n var calendarList = [];\n ecModel.eachComponent('calendar', function (calendarModel) {\n var calendar = new Calendar(calendarModel, ecModel, api);\n calendarList.push(calendar);\n calendarModel.coordinateSystem = calendar;\n });\n ecModel.eachSeries(function (calendarSeries) {\n if (calendarSeries.get('coordinateSystem') === 'calendar') {\n // Inject coordinate system\n calendarSeries.coordinateSystem = calendarList[calendarSeries.get('calendarIndex') || 0];\n }\n });\n return calendarList;\n};\n\nfunction doConvert(methodName, ecModel, finder, value) {\n var calendarModel = finder.calendarModel;\n var seriesModel = finder.seriesModel;\n var coordSys = calendarModel ? calendarModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem : null;\n return coordSys === this ? coordSys[methodName](value) : null;\n}\n\nCoordinateSystem.register('calendar', Calendar);\nvar _default = Calendar;\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 ComponentModel = require(\"../../model/Component\");\n\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutParams = _layout.getLayoutParams;\nvar sizeCalculable = _layout.sizeCalculable;\nvar mergeLayoutParam = _layout.mergeLayoutParam;\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 CalendarModel = ComponentModel.extend({\n type: 'calendar',\n\n /**\n * @type {module:echarts/coord/calendar/Calendar}\n */\n coordinateSystem: null,\n defaultOption: {\n zlevel: 0,\n z: 2,\n left: 80,\n top: 60,\n cellSize: 20,\n // horizontal vertical\n orient: 'horizontal',\n // month separate line style\n splitLine: {\n show: true,\n lineStyle: {\n color: '#000',\n width: 1,\n type: 'solid'\n }\n },\n // rect style temporarily unused emphasis\n itemStyle: {\n color: '#fff',\n borderWidth: 1,\n borderColor: '#ccc'\n },\n // week text style\n dayLabel: {\n show: true,\n // a week first day\n firstDay: 0,\n // start end\n position: 'start',\n margin: '50%',\n // 50% of cellSize\n nameMap: 'en',\n color: '#000'\n },\n // month text style\n monthLabel: {\n show: true,\n // start end\n position: 'start',\n margin: 5,\n // center or left\n align: 'center',\n // cn en []\n nameMap: 'en',\n formatter: null,\n color: '#000'\n },\n // year text style\n yearLabel: {\n show: true,\n // top bottom left right\n position: null,\n margin: 30,\n formatter: null,\n color: '#ccc',\n fontFamily: 'sans-serif',\n fontWeight: 'bolder',\n fontSize: 20\n }\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel, extraOpt) {\n var inputPositionParams = getLayoutParams(option);\n CalendarModel.superApply(this, 'init', arguments);\n mergeAndNormalizeLayoutParams(option, inputPositionParams);\n },\n\n /**\n * @override\n */\n mergeOption: function (option, extraOpt) {\n CalendarModel.superApply(this, 'mergeOption', arguments);\n mergeAndNormalizeLayoutParams(this.option, option);\n }\n});\n\nfunction mergeAndNormalizeLayoutParams(target, raw) {\n // Normalize cellSize\n var cellSize = target.cellSize;\n\n if (!zrUtil.isArray(cellSize)) {\n cellSize = target.cellSize = [cellSize, cellSize];\n } else if (cellSize.length === 1) {\n cellSize[1] = cellSize[0];\n }\n\n var ignoreSize = zrUtil.map([0, 1], function (hvIdx) {\n // If user have set `width` or both `left` and `right`, cellSize\n // will be automatically set to 'auto', otherwise the default\n // setting of cellSize will make `width` setting not work.\n if (sizeCalculable(raw, hvIdx)) {\n cellSize[hvIdx] = 'auto';\n }\n\n return cellSize[hvIdx] != null && cellSize[hvIdx] !== 'auto';\n });\n mergeLayoutParam(target, raw, {\n type: 'box',\n ignoreSize: ignoreSize\n });\n}\n\nvar _default = CalendarModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(coordSys) {\n var rect = coordSys.getRect();\n var rangeInfo = coordSys.getRangeInfo();\n return {\n coordSys: {\n type: 'calendar',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n cellWidth: coordSys.getCellWidth(),\n cellHeight: coordSys.getCellHeight(),\n rangeInfo: {\n start: rangeInfo.start,\n end: rangeInfo.end,\n weeks: rangeInfo.weeks,\n dayCount: rangeInfo.allDay\n }\n },\n api: {\n coord: function (data, clamp) {\n return coordSys.dataToPoint(data, clamp);\n }\n }\n };\n}\n\nmodule.exports = _default;"],"names":["zrUtil","defaultOption","show","zlevel","z","inverse","name","nameLocation","nameRotate","nameTruncate","maxWidth","ellipsis","placeholder","nameTextStyle","nameGap","silent","triggerEvent","tooltip","axisPointer","axisLine","onZero","onZeroAxisIndex","lineStyle","color","width","type","symbol","symbolSize","axisTick","inside","length","axisLabel","rotate","showMinLabel","showMaxLabel","margin","fontSize","splitLine","splitArea","areaStyle","axisDefault","categoryAxis","merge","boundaryGap","deduplication","alignWithLabel","interval","valueAxis","splitNumber","minorTick","minorSplitLine","timeAxis","defaults","scale","min","max","logAxis","logBase","_default","module","exports","_config","__DEV__","OrdinalScale","IntervalScale","Scale","numberUtil","_barGrid","prepareLayoutBarSeries","makeColumnLayout","retrieveColumnLayout","BoundingRect","getScaleExtent","model","axisDataLen","span","scaleType","getMin","getMax","originalExtent","getExtent","getCategories","get","isArray","parsePercent","Math","abs","fixMin","fixMax","NaN","isFinite","setBlank","eqNaN","getOrdinalMeta","categories","getNeedCrossZero","ecModel","isBaseAxisAndHasBarSeries","barSeriesModels","each","seriesModel","getBaseAxis","axis","barWidthAndOffset","adjustedScale","adjustScaleForOverflow","extent","axisExtent","axisLength","barsOnCurrentAxis","undefined","minOverflow","Infinity","item","offset","maxOverflow","totalOverFlow","oldRange","oldRangePercentOfNew","overflowBuffer","niceScaleExtent","extentInfo","base","setExtent","niceExtent","minInterval","maxInterval","setInterval","createScaleByModel","axisType","getClass","create","ifAxisCrossZero","dataExtent","makeLabelFormatter","labelFormatter","getLabelModel","categoryTickStart","tpl","val","getLabel","replace","tickValue","idx","getAxisRawValue","tick","value","estimateLabelUnionRect","axisModel","isBlank","realNumberScaleTicks","tickCount","isCategory","categoryScaleExtent","count","getTicks","rect","axisLabelModel","step","ceil","i","label","unrotatedSingleRect","getTextRect","singleRect","rotateTextRect","union","textRect","rotateRadians","PI","boundingBox","plain","beforeWidth","beforeHeight","height","afterWidth","cos","sin","afterHeight","rotatedRect","x","y","getOptionCategoryInterval","shouldShowAllLabels","origin","option","this","rangeStart","parse","rangeEnd","getCoordSysModel","noop","setRange","resetRange","ComponentModel","_layout","getLayoutParams","mergeLayoutParam","OrdinalMeta","AXIS_TYPES","axisName","BaseAxisModelClass","axisTypeDefaulter","extraDefaultOption","extend","mergeDefaultAndTheme","layoutMode","inputPositionParams","themeModel","getTheme","getDefaultOption","optionUpdated","thisOption","__ordinalMeta","createByAxisModel","rawData","data","mergeAll","registerSubTypeDefaulter","curry","textContain","_model","makeInner","_axisHelper","inner","createAxisLabels","makeCategoryLabels","makeRealNumberLabels","createAxisTicks","tickModel","makeCategoryTicks","ticks","labelModel","result","makeCategoryLabelsActually","labels","labelCategoryInterval","numericLabelInterval","labelsCache","getListCache","optionLabelInterval","listCacheGet","isFunction","makeLabelsByCustomizedCategoryInterval","makeAutoCategoryInterval","makeLabelsByNumericCategoryInterval","listCacheSet","tickCategoryInterval","ticksCache","optionTickInterval","labelsResult","map","labelItem","formattedLabel","rawLabel","prop","cache","key","push","autoInterval","calculateCategoryInterval","params","fetchAutoCategoryIntervalCalculationParams","rotation","axisRotate","labelRotate","ordinalScale","ordinalExtent","floor","unitSpan","dataToCoord","unitW","unitH","maxW","maxH","getBoundingRect","font","dw","dh","isNaN","lastAutoInterval","lastTickCount","axisExtend0","axisExtend1","getRotate","isHorizontal","getFont","categoryInterval","onlyTick","startTick","round","showAllLabel","includeMinLabel","includeMaxLabel","addItem","tVal","layout","CoordinateSystem","PROXIMATE_ONE_DAY","Calendar","calendarModel","api","doConvert","methodName","finder","coordSys","coordinateSystem","prototype","constructor","dimensions","getDimensionsInfo","getRangeInfo","_rangeInfo","getModel","getRect","_rect","getCellWidth","_sw","getCellHeight","_sh","getOrient","_orient","getFirstDayOfWeek","_firstDayOfWeek","getDateInfo","date","parseDate","getFullYear","m","getMonth","d","getDate","day","getDay","time","getTime","formatedDate","getNextNDay","n","Date","setDate","update","_lineWidth","getItemStyle","lineWidth","_getRangeInfo","_initRangeOption","weeks","whNames","cellSize","slice","layoutParams","getBoxLayoutParams","cellNumbers","cellSizeSpecified","whGlobal","getWidth","getHeight","calendarRect","getLayoutRect","dataToPoint","clamp","dayInfo","range","start","end","week","nthWeek","pointToData","point","pointToDate","dataToRect","contentShape","center","tl","tr","br","bl","nthX","nthY","_getDateByWeeksAndDay","convertToPixel","convertFromPixel","rg","test","firstDay","setMonth","tmp","reverse","reversed","allDay","startDateNum","endDateNum","dateNum","sign","fweek","lweek","rangeInfo","nthDay","calendarList","eachComponent","calendar","eachSeries","calendarSeries","register","sizeCalculable","CalendarModel","left","top","orient","itemStyle","borderWidth","borderColor","dayLabel","position","nameMap","monthLabel","align","formatter","yearLabel","fontFamily","fontWeight","init","parentModel","extraOpt","superApply","arguments","mergeAndNormalizeLayoutParams","mergeOption","target","raw","ignoreSize","hvIdx","cellWidth","cellHeight","dayCount","coord"],"sourceRoot":""}