This is an automated email from the ASF dual-hosted git repository. shenyi pushed a commit to branch release-dev in repository https://gitbox.apache.org/repos/asf/echarts.git
commit ca9ed741e7b34c517202a34a392826ed69bde9ea Author: pissang <[email protected]> AuthorDate: Mon Jun 17 22:52:20 2024 +0800 chore: release 5.6.0 --- dist/echarts.common.js | 102 +++++++++++++++++++++++++------ dist/echarts.common.js.map | 2 +- dist/echarts.common.min.js | 4 +- dist/echarts.esm.js | 145 ++++++++++++++++++++++++++++++++++++++------- dist/echarts.esm.js.map | 2 +- dist/echarts.esm.min.js | 4 +- dist/echarts.esm.min.mjs | 4 +- dist/echarts.esm.mjs | 145 ++++++++++++++++++++++++++++++++++++++------- dist/echarts.esm.mjs.map | 2 +- dist/echarts.js | 145 ++++++++++++++++++++++++++++++++++++++------- dist/echarts.js.map | 2 +- dist/echarts.min.js | 4 +- dist/echarts.simple.js | 89 ++++++++++++++++++++++------ dist/echarts.simple.js.map | 2 +- dist/echarts.simple.min.js | 4 +- package-lock.json | 18 +++--- package.json | 4 +- src/core/echarts.ts | 4 +- 18 files changed, 552 insertions(+), 130 deletions(-) diff --git a/dist/echarts.common.js b/dist/echarts.common.js index 7fc581a4b..52e01ae93 100644 --- a/dist/echarts.common.js +++ b/dist/echarts.common.js @@ -176,7 +176,7 @@ else { text = text || ''; font = font || DEFAULT_FONT; - var res = /(\d+)px/.exec(font); + var res = /((?:\d+)?\.?\d*)px/.exec(font); var fontSize = res && +res[1] || DEFAULT_FONT_SIZE; var width = 0; if (font.indexOf('mono') >= 0) { @@ -7370,7 +7370,7 @@ function registerSSRDataGetter(getter) { ssrDataGetter = getter; } - var version = '5.5.0'; + var version = '5.6.0'; var zrender = /*#__PURE__*/Object.freeze({ __proto__: null, @@ -16102,13 +16102,15 @@ var m = date[minutesGetterName(isUTC)](); var s = date[secondsGetterName(isUTC)](); var S = date[millisecondsGetterName(isUTC)](); + var a = H >= 12 ? 'pm' : 'am'; + var A = a.toUpperCase(); var localeModel = lang instanceof Model ? lang : getLocaleModel(lang || SYSTEM_LANG) || getDefaultLocaleModel(); var timeModel = localeModel.getModel('time'); var month = timeModel.get('month'); var monthAbbr = timeModel.get('monthAbbr'); var dayOfWeek = timeModel.get('dayOfWeek'); var dayOfWeekAbbr = timeModel.get('dayOfWeekAbbr'); - return (template || '').replace(/{yyyy}/g, y + '').replace(/{yy}/g, pad(y % 100 + '', 2)).replace(/{Q}/g, q + '').replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + '').replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + '').replace(/{eeee}/g, dayOfWeek[e]).replace(/{ee}/g, dayOfWeekAbbr[e]).replace(/{e}/g, e + '').replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + '').replace(/{hh}/g, pad(h + '', 2)).replace(/{h}/g, h + '' [...] + return (template || '').replace(/{a}/g, a + '').replace(/{A}/g, A + '').replace(/{yyyy}/g, y + '').replace(/{yy}/g, pad(y % 100 + '', 2)).replace(/{Q}/g, q + '').replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + '').replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + '').replace(/{eeee}/g, dayOfWeek[e]).replace(/{ee}/g, dayOfWeekAbbr[e]).replace(/{e}/g, e + '').replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + '').replace [...] } function leveledFormat(tick, idx, formatter, lang, isUTC) { var template = null; @@ -17443,8 +17445,8 @@ function detectValue(val) { var beStr = isString(val); // Consider usage convenience, '1', '2' will be treated as "number". - // `isFinit('')` get `true`. - if (val != null && isFinite(val) && val !== '') { + // `Number('')` (or any whitespace) is `0`. + if (val != null && Number.isFinite(Number(val)) && val !== '') { return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not; } else if (beStr && val !== '-') { return BE_ORDINAL.Must; @@ -20203,7 +20205,7 @@ return value == null || value === '' ? NaN // If string (like '-'), using '+' parse to NaN // If object, also parse to NaN - : +value; + : Number(value); } var valueParserMap = createHashMap({ 'number': function (val) { @@ -22463,7 +22465,7 @@ var task = getCurrentTask(this); if (task) { var data = task.context.data; - return dataType == null ? data : data.getLinkedData(dataType); + return dataType == null || !data.getLinkedData ? data : data.getLinkedData(dataType); } else { // When series is not alive (that may happen when click toolbox // restore or setOption with not merge mode), series data may @@ -25937,9 +25939,9 @@ return implsStore[name]; } - var version$1 = '5.5.0'; + var version$1 = '5.6.0'; var dependencies = { - zrender: '5.5.0' + zrender: '5.6.0' }; var TEST_FRAME_REMAIN_TIME = 1; var PRIORITY_PROCESSOR_SERIES_FILTER = 800; @@ -31280,11 +31282,11 @@ var value = store.get(stacked ? stackedDimIdx : valueDimIdx, dataIndex); var baseValue = store.get(baseDimIdx, dataIndex); var baseCoord = valueAxisStart; - var startValue = void 0; + var stackStartValue = void 0; // Because of the barMinHeight, we can not use the value in // stackResultDimension directly. if (stacked) { - startValue = +value - store.get(valueDimIdx, dataIndex); + stackStartValue = +value - store.get(valueDimIdx, dataIndex); } var x = void 0; var y = void 0; @@ -31293,7 +31295,7 @@ if (isValueAxisH) { var coord = cartesian.dataToPoint([value, baseValue]); if (stacked) { - var startCoord = cartesian.dataToPoint([startValue, baseValue]); + var startCoord = cartesian.dataToPoint([stackStartValue, baseValue]); baseCoord = startCoord[0]; } x = baseCoord; @@ -31306,7 +31308,7 @@ } else { var coord = cartesian.dataToPoint([baseValue, value]); if (stacked) { - var startCoord = cartesian.dataToPoint([baseValue, startValue]); + var startCoord = cartesian.dataToPoint([baseValue, stackStartValue]); baseCoord = startCoord[1]; } x = coord[0] + columnOffset; @@ -31359,7 +31361,11 @@ } // See cases in `test/bar-start.html` and `#7412`, `#8747`. function getValueAxisStart(baseAxis, valueAxis) { - return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? 1 : 0)); + var startValue = valueAxis.model.get('startValue'); + if (!startValue) { + startValue = 0; + } + return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? startValue > 0 ? startValue : 1 : startValue)); } // FIXME 公用? @@ -31951,7 +31957,11 @@ this._dataMax = dataExtent[1]; var isOrdinal = this._isOrdinal = scale.type === 'ordinal'; this._needCrossZero = scale.type === 'interval' && model.getNeedCrossZero && model.getNeedCrossZero(); - var modelMinRaw = this._modelMinRaw = model.get('min', true); + var axisMinValue = model.get('min', true); + if (axisMinValue == null) { + axisMinValue = model.get('startValue', true); + } + var modelMinRaw = this._modelMinRaw = axisMinValue; if (isFunction(modelMinRaw)) { // This callback always provides users the full data extent (before data is filtered). this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw({ @@ -33002,7 +33012,36 @@ }); var inner$5 = makeInner(); + function tickValuesToNumbers(axis, values) { + var nums = map(values, function (val) { + return axis.scale.parse(val); + }); + if (axis.type === 'time' && nums.length > 0) { + // Time axis needs duplicate first/last tick (see TimeScale.getTicks()) + // The first and last tick/label don't get drawn + nums.sort(); + nums.unshift(nums[0]); + nums.push(nums[nums.length - 1]); + } + return nums; + } function createAxisLabels(axis) { + var custom = axis.getLabelModel().get('customValues'); + if (custom) { + var labelFormatter_1 = makeLabelFormatter(axis); + return { + labels: tickValuesToNumbers(axis, custom).map(function (numval) { + var tick = { + value: numval + }; + return { + formattedLabel: labelFormatter_1(tick), + rawLabel: axis.scale.getLabel(tick), + tickValue: numval + }; + }) + }; + } // Only ordinal scale support tick interval return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis); } @@ -33015,6 +33054,12 @@ * } */ function createAxisTicks(axis, tickModel) { + var custom = axis.getTickModel().get('customValues'); + if (custom) { + return { + ticks: tickValuesToNumbers(axis, custom) + }; + } // Only ordinal scale support tick interval return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : { ticks: map(axis.scale.getTicks(), function (tick) { @@ -40359,6 +40404,10 @@ var halfPadAngle = dir * padAngle / 2; normalizeArcAngles(angles, !clockwise); startAngle = angles[0], endAngle = angles[1]; + var layoutData = getSeriesLayoutData(seriesModel); + layoutData.startAngle = startAngle; + layoutData.endAngle = endAngle; + layoutData.clockwise = clockwise; var angleRange = Math.abs(endAngle - startAngle); // In the case some sector angle is smaller than minAngle var restAngle = angleRange; @@ -40467,6 +40516,7 @@ } }); } + var getSeriesLayoutData = makeInner(); /* * Licensed to the Apache Software Foundation (ASF) under one @@ -41147,8 +41197,9 @@ } // when all data are filtered, show lightgray empty circle if (data.count() === 0 && seriesModel.get('showEmptyCircle')) { + var layoutData = getSeriesLayoutData(seriesModel); var sector = new Sector({ - shape: getBasicPieLayout(seriesModel, api) + shape: extend(getBasicPieLayout(seriesModel, api), layoutData) }); sector.useStyle(seriesModel.getModel('emptyCircleStyle').getItemStyle()); this._emptyCircleSector = sector; @@ -47990,7 +48041,6 @@ return featureName.indexOf('my') === 0; } - /* global window, document */ var SaveAsImage = /** @class */function (_super) { __extends(SaveAsImage, _super); function SaveAsImage() { @@ -48010,7 +48060,7 @@ }); var browser = env.browser; // Chrome, Firefox, New Edge - if (isFunction(MouseEvent) && (browser.newEdge || !browser.ie && !browser.edge)) { + if (typeof MouseEvent === 'function' && (browser.newEdge || !browser.ie && !browser.edge)) { var $a = document.createElement('a'); $a.download = title + '.' + type; $a.target = '_blank'; @@ -51787,6 +51837,16 @@ MarkerModel.prototype.setData = function (data) { this._data = data; }; + MarkerModel.prototype.getDataParams = function (dataIndex, dataType) { + var params = DataFormatMixin.prototype.getDataParams.call(this, dataIndex, dataType); + var hostSeries = this.__hostSeries; + if (hostSeries) { + params.seriesId = hostSeries.id; + params.seriesName = hostSeries.name; + params.seriesType = hostSeries.subType; + } + return params; + }; MarkerModel.getMarkerModelFromSeries = function (seriesModel, // Support three types of markers. Strict check. componentType) { @@ -56267,13 +56327,17 @@ } } function setLabel() { + var dom = api.getZr().dom; + // TODO: support for SSR + if (!dom) { + return; + } var labelLocale = ecModel.getLocaleModel().get('aria'); var labelModel = ariaModel.getModel('label'); labelModel.option = defaults(labelModel.option, labelLocale); if (!labelModel.get('enabled')) { return; } - var dom = api.getZr().dom; if (labelModel.get('description')) { dom.setAttribute('aria-label', labelModel.get('description')); return; diff --git a/dist/echarts.common.js.map b/dist/echarts.common.js.map index ac7570d21..0663bc1db 100644 --- a/dist/echarts.common.js.map +++ b/dist/echarts.common.js.map @@ -1 +1 @@ -{"version":3,"file":"echarts.common.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/zrender/lib/core/env.js","../node_modules/zrender/lib/core/platform.js","../node_modules/zrender/lib/core/util.js","../node_modules/zrender/lib/core/vector.js","../node_modules/zrender/lib/mixin/Draggable.js","../node_modules/zrender/lib/core/Eventful.js","../node_modules/zrender/lib/core/fourPointsTransform.js","../node_modules/zrender/lib/core/dom.js","../node_modules/zrender/lib/co [...] \ No newline at end of file +{"version":3,"file":"echarts.common.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/zrender/lib/core/env.js","../node_modules/zrender/lib/core/platform.js","../node_modules/zrender/lib/core/util.js","../node_modules/zrender/lib/core/vector.js","../node_modules/zrender/lib/mixin/Draggable.js","../node_modules/zrender/lib/core/Eventful.js","../node_modules/zrender/lib/core/fourPointsTransform.js","../node_modules/zrender/lib/core/dom.js","../node_modules/zrender/lib/co [...] \ No newline at end of file diff --git a/dist/echarts.common.min.js b/dist/echarts.common.min.js index 181a27812..81e5ed677 100644 --- a/dist/echarts.common.min.js +++ b/dist/echarts.common.min.js @@ -32,7 +32,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ***************************************************************************** */var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},e(t,n)};function n(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Objec [...] + ***************************************************************************** */var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},e(t,n)};function n(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Objec [...] /*! * ZRender, a high performance 2d drawing library. * @@ -42,4 +42,4 @@ * LICENSE * https://github.com/ecomfe/zrender/blob/master/LICENSE.txt */ -var Lr={},Or={};var Rr,Nr=function(){function t(t,e,n){var i=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,n=n||{},this.dom=e,this.id=t;var o=new Qe,a=n.renderer||"canvas";Lr[a]||(a=F(Lr)[0]),n.useDirtyRect=null!=n.useDirtyRect&&n.useDirtyRect;var s=new Lr[a](e,o,n,t),l=n.ssr||s.ssrOnly;this.storage=o,this.painter=s;var u,h=r.node||r.worker||l?null:new $i(s.getViewportRoot(),s.root),c=n.useCoarsePointer;(null==c|| [...] +var Lr={},Or={};var Rr,Nr=function(){function t(t,e,n){var i=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,n=n||{},this.dom=e,this.id=t;var o=new Qe,a=n.renderer||"canvas";Lr[a]||(a=F(Lr)[0]),n.useDirtyRect=null!=n.useDirtyRect&&n.useDirtyRect;var s=new Lr[a](e,o,n,t),l=n.ssr||s.ssrOnly;this.storage=o,this.painter=s;var u,h=r.node||r.worker||l?null:new $i(s.getViewportRoot(),s.root),c=n.useCoarsePointer;(null==c|| [...] diff --git a/dist/echarts.esm.js b/dist/echarts.esm.js index b47f4a52b..71106a147 100644 --- a/dist/echarts.esm.js +++ b/dist/echarts.esm.js @@ -170,7 +170,7 @@ var platformApi = { else { text = text || ''; font = font || DEFAULT_FONT; - var res = /(\d+)px/.exec(font); + var res = /((?:\d+)?\.?\d*)px/.exec(font); var fontSize = res && +res[1] || DEFAULT_FONT_SIZE; var width = 0; if (font.indexOf('mono') >= 0) { @@ -7364,7 +7364,7 @@ function getElementSSRData(el) { function registerSSRDataGetter(getter) { ssrDataGetter = getter; } -var version = '5.5.0'; +var version = '5.6.0'; var zrender = /*#__PURE__*/Object.freeze({ __proto__: null, @@ -16249,13 +16249,15 @@ time, template, isUTC, lang) { var m = date[minutesGetterName(isUTC)](); var s = date[secondsGetterName(isUTC)](); var S = date[millisecondsGetterName(isUTC)](); + var a = H >= 12 ? 'pm' : 'am'; + var A = a.toUpperCase(); var localeModel = lang instanceof Model ? lang : getLocaleModel(lang || SYSTEM_LANG) || getDefaultLocaleModel(); var timeModel = localeModel.getModel('time'); var month = timeModel.get('month'); var monthAbbr = timeModel.get('monthAbbr'); var dayOfWeek = timeModel.get('dayOfWeek'); var dayOfWeekAbbr = timeModel.get('dayOfWeekAbbr'); - return (template || '').replace(/{yyyy}/g, y + '').replace(/{yy}/g, pad(y % 100 + '', 2)).replace(/{Q}/g, q + '').replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + '').replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + '').replace(/{eeee}/g, dayOfWeek[e]).replace(/{ee}/g, dayOfWeekAbbr[e]).replace(/{e}/g, e + '').replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + '').replace(/{hh}/g, pad(h + '', 2)).replace(/{h}/g, h + '').re [...] + return (template || '').replace(/{a}/g, a + '').replace(/{A}/g, A + '').replace(/{yyyy}/g, y + '').replace(/{yy}/g, pad(y % 100 + '', 2)).replace(/{Q}/g, q + '').replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + '').replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + '').replace(/{eeee}/g, dayOfWeek[e]).replace(/{ee}/g, dayOfWeekAbbr[e]).replace(/{e}/g, e + '').replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + '').replace(/{h [...] } function leveledFormat(tick, idx, formatter, lang, isUTC) { var template = null; @@ -17629,8 +17631,8 @@ function doGuessOrdinal(data, sourceFormat, seriesLayoutBy, dimensionsDefine, st function detectValue(val) { var beStr = isString(val); // Consider usage convenience, '1', '2' will be treated as "number". - // `isFinit('')` get `true`. - if (val != null && isFinite(val) && val !== '') { + // `Number('')` (or any whitespace) is `0`. + if (val != null && Number.isFinite(Number(val)) && val !== '') { return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not; } else if (beStr && val !== '-') { return BE_ORDINAL.Must; @@ -20389,7 +20391,7 @@ opt) { return value == null || value === '' ? NaN // If string (like '-'), using '+' parse to NaN // If object, also parse to NaN - : +value; + : Number(value); } var valueParserMap = createHashMap({ 'number': function (val) { @@ -22749,7 +22751,7 @@ var SeriesModel = /** @class */function (_super) { var task = getCurrentTask(this); if (task) { var data = task.context.data; - return dataType == null ? data : data.getLinkedData(dataType); + return dataType == null || !data.getLinkedData ? data : data.getLinkedData(dataType); } else { // When series is not alive (that may happen when click toolbox // restore or setOption with not merge mode), series data may @@ -26246,9 +26248,9 @@ function getImpl(name) { return implsStore[name]; } -var version$1 = '5.5.0'; +var version$1 = '5.6.0'; var dependencies = { - zrender: '5.5.0' + zrender: '5.6.0' }; var TEST_FRAME_REMAIN_TIME = 1; var PRIORITY_PROCESSOR_SERIES_FILTER = 800; @@ -31616,11 +31618,11 @@ function createProgressiveLayout(seriesType) { var value = store.get(stacked ? stackedDimIdx : valueDimIdx, dataIndex); var baseValue = store.get(baseDimIdx, dataIndex); var baseCoord = valueAxisStart; - var startValue = void 0; + var stackStartValue = void 0; // Because of the barMinHeight, we can not use the value in // stackResultDimension directly. if (stacked) { - startValue = +value - store.get(valueDimIdx, dataIndex); + stackStartValue = +value - store.get(valueDimIdx, dataIndex); } var x = void 0; var y = void 0; @@ -31629,7 +31631,7 @@ function createProgressiveLayout(seriesType) { if (isValueAxisH) { var coord = cartesian.dataToPoint([value, baseValue]); if (stacked) { - var startCoord = cartesian.dataToPoint([startValue, baseValue]); + var startCoord = cartesian.dataToPoint([stackStartValue, baseValue]); baseCoord = startCoord[0]; } x = baseCoord; @@ -31642,7 +31644,7 @@ function createProgressiveLayout(seriesType) { } else { var coord = cartesian.dataToPoint([baseValue, value]); if (stacked) { - var startCoord = cartesian.dataToPoint([baseValue, startValue]); + var startCoord = cartesian.dataToPoint([baseValue, stackStartValue]); baseCoord = startCoord[1]; } x = coord[0] + columnOffset; @@ -31695,7 +31697,11 @@ function isInLargeMode(seriesModel) { } // See cases in `test/bar-start.html` and `#7412`, `#8747`. function getValueAxisStart(baseAxis, valueAxis) { - return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? 1 : 0)); + var startValue = valueAxis.model.get('startValue'); + if (!startValue) { + startValue = 0; + } + return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? startValue > 0 ? startValue : 1 : startValue)); } // FIXME 公用? @@ -32287,7 +32293,11 @@ var ScaleRawExtentInfo = /** @class */function () { this._dataMax = dataExtent[1]; var isOrdinal = this._isOrdinal = scale.type === 'ordinal'; this._needCrossZero = scale.type === 'interval' && model.getNeedCrossZero && model.getNeedCrossZero(); - var modelMinRaw = this._modelMinRaw = model.get('min', true); + var axisMinValue = model.get('min', true); + if (axisMinValue == null) { + axisMinValue = model.get('startValue', true); + } + var modelMinRaw = this._modelMinRaw = axisMinValue; if (isFunction(modelMinRaw)) { // This callback always provides users the full data extent (before data is filtered). this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw({ @@ -33338,7 +33348,36 @@ var util$1 = /*#__PURE__*/Object.freeze({ }); var inner$5 = makeInner(); +function tickValuesToNumbers(axis, values) { + var nums = map(values, function (val) { + return axis.scale.parse(val); + }); + if (axis.type === 'time' && nums.length > 0) { + // Time axis needs duplicate first/last tick (see TimeScale.getTicks()) + // The first and last tick/label don't get drawn + nums.sort(); + nums.unshift(nums[0]); + nums.push(nums[nums.length - 1]); + } + return nums; +} function createAxisLabels(axis) { + var custom = axis.getLabelModel().get('customValues'); + if (custom) { + var labelFormatter_1 = makeLabelFormatter(axis); + return { + labels: tickValuesToNumbers(axis, custom).map(function (numval) { + var tick = { + value: numval + }; + return { + formattedLabel: labelFormatter_1(tick), + rawLabel: axis.scale.getLabel(tick), + tickValue: numval + }; + }) + }; + } // Only ordinal scale support tick interval return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis); } @@ -33351,6 +33390,12 @@ function createAxisLabels(axis) { * } */ function createAxisTicks(axis, tickModel) { + var custom = axis.getTickModel().get('customValues'); + if (custom) { + return { + ticks: tickValuesToNumbers(axis, custom) + }; + } // Only ordinal scale support tick interval return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : { ticks: map(axis.scale.getTicks(), function (tick) { @@ -41354,6 +41399,10 @@ function pieLayout(seriesType, ecModel, api) { var halfPadAngle = dir * padAngle / 2; normalizeArcAngles(angles, !clockwise); startAngle = angles[0], endAngle = angles[1]; + var layoutData = getSeriesLayoutData(seriesModel); + layoutData.startAngle = startAngle; + layoutData.endAngle = endAngle; + layoutData.clockwise = clockwise; var angleRange = Math.abs(endAngle - startAngle); // In the case some sector angle is smaller than minAngle var restAngle = angleRange; @@ -41462,6 +41511,7 @@ function pieLayout(seriesType, ecModel, api) { } }); } +var getSeriesLayoutData = makeInner(); /* * Licensed to the Apache Software Foundation (ASF) under one @@ -42142,8 +42192,9 @@ var PieView = /** @class */function (_super) { } // when all data are filtered, show lightgray empty circle if (data.count() === 0 && seriesModel.get('showEmptyCircle')) { + var layoutData = getSeriesLayoutData(seriesModel); var sector = new Sector({ - shape: getBasicPieLayout(seriesModel, api) + shape: extend(getBasicPieLayout(seriesModel, api), layoutData) }); sector.useStyle(seriesModel.getModel('emptyCircleStyle').getItemStyle()); this._emptyCircleSector = sector; @@ -47898,6 +47949,7 @@ var MapDraw = /** @class */function () { this._mouseDownFlag = false; updateViewOnZoom(controllerHost, e.scale, e.originX, e.originY); api.dispatchAction(extend(makeActionBase(), { + totalZoom: controllerHost.zoom, zoom: e.scale, originX: e.originX, originY: e.originY, @@ -51348,6 +51400,7 @@ var TreemapSeriesModel = /** @class */function (_super) { drillDownIcon: '▶', // to align specialized icon. ▷▶❒❐▼✚ zoomToNodeRatio: 0.32 * 0.32, + scaleLimit: null, roam: true, nodeClick: 'zoomToNode', animation: true, @@ -51863,6 +51916,13 @@ var TreemapView = /** @class */function (_super) { var willDeleteEls = clearStorage(oldStorage); this._oldTree = thisTree; this._storage = thisStorage; + if (this._controllerHost) { + var _oldRootLayout = this.seriesModel.layoutInfo; + var rootLayout = thisTree.root.getLayout(); + if (rootLayout.width === _oldRootLayout.width && rootLayout.height === _oldRootLayout.height) { + this._controllerHost.zoom = 1; + } + } return { lastsForAnimation: lastsForAnimation, willDeleteEls: willDeleteEls, @@ -52033,10 +52093,19 @@ var TreemapView = /** @class */function (_super) { }; TreemapView.prototype._resetController = function (api) { var controller = this._controller; + var controllerHost = this._controllerHost; + if (!controllerHost) { + this._controllerHost = { + target: this.group + }; + controllerHost = this._controllerHost; + } // Init controller. if (!controller) { controller = this._controller = new RoamController(api.getZr()); controller.enable(this.seriesModel.get('roam')); + controllerHost.zoomLimit = this.seriesModel.get('scaleLimit'); + controllerHost.zoom = this.seriesModel.get('zoom'); controller.on('pan', bind(this._onPan, this)); controller.on('zoom', bind(this._onZoom, this)); } @@ -52047,6 +52116,7 @@ var TreemapView = /** @class */function (_super) { }; TreemapView.prototype._clearController = function () { var controller = this._controller; + this._controllerHost = null; if (controller) { controller.dispose(); controller = null; @@ -52079,6 +52149,7 @@ var TreemapView = /** @class */function (_super) { TreemapView.prototype._onZoom = function (e) { var mouseX = e.originX; var mouseY = e.originY; + var zoomDelta = e.scale; if (this._state !== 'animating') { // These param must not be cached. var root = this.seriesModel.getData().tree.root; @@ -52090,6 +52161,19 @@ var TreemapView = /** @class */function (_super) { return; } var rect = new BoundingRect(rootLayout.x, rootLayout.y, rootLayout.width, rootLayout.height); + // scaleLimit + var zoomLimit = null; + var _controllerHost = this._controllerHost; + zoomLimit = _controllerHost.zoomLimit; + var newZoom = _controllerHost.zoom = _controllerHost.zoom || 1; + newZoom *= zoomDelta; + if (zoomLimit) { + var zoomMin = zoomLimit.min || 0; + var zoomMax = zoomLimit.max || Infinity; + newZoom = Math.max(Math.min(zoomMax, newZoom), zoomMin); + } + var zoomScale = newZoom / _controllerHost.zoom; + _controllerHost.zoom = newZoom; var layoutInfo = this.seriesModel.layoutInfo; // Transform mouse coord from global to containerGroup. mouseX -= layoutInfo.x; @@ -52097,7 +52181,7 @@ var TreemapView = /** @class */function (_super) { // Scale root bounding rect. var m = create$1(); translate(m, m, [-mouseX, -mouseY]); - scale$1(m, m, [e.scale, e.scale]); + scale$1(m, m, [zoomScale, zoomScale]); translate(m, m, [mouseX, mouseY]); rect.applyTransform(m); this.api.dispatchAction({ @@ -59520,12 +59604,14 @@ var SankeyView = /** @class */function (_super) { var dragX = itemModel.get('localX'); var dragY = itemModel.get('localY'); var emphasisModel = itemModel.getModel('emphasis'); + var borderRadius = itemModel.get(['itemStyle', 'borderRadius']) || 0; var rect = new Rect({ shape: { x: dragX != null ? dragX * width : layout.x, y: dragY != null ? dragY * height : layout.y, width: layout.dx, - height: layout.dy + height: layout.dy, + r: borderRadius }, style: itemModel.getModel('itemStyle').getItemStyle(), z2: 10 @@ -69028,7 +69114,9 @@ function barLayoutPolar(seriesType, ecModel, api) { var baseDim = data.mapDimension(baseAxis.dim); var stacked = isDimensionStacked(data, valueDim /* , baseDim */); var clampLayout = baseAxis.dim !== 'radius' || !seriesModel.get('roundCap', true); - var valueAxisStart = valueAxis.dataToCoord(0); + var valueAxisModel = valueAxis.model; + var startValue = valueAxisModel.get('startValue'); + var valueAxisStart = valueAxis.dataToCoord(startValue || 0); for (var idx = 0, len = data.count(); idx < len; idx++) { var value = data.get(valueDim, idx); var baseValue = data.get(baseDim, idx); @@ -72431,7 +72519,6 @@ function isUserFeatureName(featureName) { return featureName.indexOf('my') === 0; } -/* global window, document */ var SaveAsImage = /** @class */function (_super) { __extends(SaveAsImage, _super); function SaveAsImage() { @@ -72451,7 +72538,7 @@ var SaveAsImage = /** @class */function (_super) { }); var browser = env.browser; // Chrome, Firefox, New Edge - if (isFunction(MouseEvent) && (browser.newEdge || !browser.ie && !browser.edge)) { + if (typeof MouseEvent === 'function' && (browser.newEdge || !browser.ie && !browser.edge)) { var $a = document.createElement('a'); $a.download = title + '.' + type; $a.target = '_blank'; @@ -77170,6 +77257,16 @@ var MarkerModel = /** @class */function (_super) { MarkerModel.prototype.setData = function (data) { this._data = data; }; + MarkerModel.prototype.getDataParams = function (dataIndex, dataType) { + var params = DataFormatMixin.prototype.getDataParams.call(this, dataIndex, dataType); + var hostSeries = this.__hostSeries; + if (hostSeries) { + params.seriesId = hostSeries.id; + params.seriesName = hostSeries.name; + params.seriesType = hostSeries.subType; + } + return params; + }; MarkerModel.getMarkerModelFromSeries = function (seriesModel, // Support three types of markers. Strict check. componentType) { @@ -83042,13 +83139,17 @@ function ariaVisual(ecModel, api) { } } function setLabel() { + var dom = api.getZr().dom; + // TODO: support for SSR + if (!dom) { + return; + } var labelLocale = ecModel.getLocaleModel().get('aria'); var labelModel = ariaModel.getModel('label'); labelModel.option = defaults(labelModel.option, labelLocale); if (!labelModel.get('enabled')) { return; } - var dom = api.getZr().dom; if (labelModel.get('description')) { dom.setAttribute('aria-label', labelModel.get('description')); return; diff --git a/dist/echarts.esm.js.map b/dist/echarts.esm.js.map index 235313d3a..0041c199e 100644 --- a/dist/echarts.esm.js.map +++ b/dist/echarts.esm.js.map @@ -1 +1 @@ -{"version":3,"file":"echarts.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/zrender/lib/core/env.js","../node_modules/zrender/lib/core/platform.js","../node_modules/zrender/lib/core/util.js","../node_modules/zrender/lib/core/vector.js","../node_modules/zrender/lib/mixin/Draggable.js","../node_modules/zrender/lib/core/Eventful.js","../node_modules/zrender/lib/core/fourPointsTransform.js","../node_modules/zrender/lib/core/dom.js","../node_modules/zrender/lib/core/ [...] \ No newline at end of file +{"version":3,"file":"echarts.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/zrender/lib/core/env.js","../node_modules/zrender/lib/core/platform.js","../node_modules/zrender/lib/core/util.js","../node_modules/zrender/lib/core/vector.js","../node_modules/zrender/lib/mixin/Draggable.js","../node_modules/zrender/lib/core/Eventful.js","../node_modules/zrender/lib/core/fourPointsTransform.js","../node_modules/zrender/lib/core/dom.js","../node_modules/zrender/lib/core/ [...] \ No newline at end of file diff --git a/dist/echarts.esm.min.js b/dist/echarts.esm.min.js index 036383714..f661871d3 100644 --- a/dist/echarts.esm.min.js +++ b/dist/echarts.esm.min.js @@ -32,7 +32,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};function e(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}var n=function(){this.firefox=!1,this.ie [...] +var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};function e(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}var n=function(){this.firefox=!1,this.ie [...] /*! * ZRender, a high performance 2d drawing library. * @@ -42,4 +42,4 @@ var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Arr * LICENSE * https://github.com/ecomfe/zrender/blob/master/LICENSE.txt */ -var Br={},Fr={};var Gr,Wr=function(){function t(t,e,n){var r=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,n=n||{},this.dom=e,this.id=t;var o=new nn,a=n.renderer||"canvas";Br[a]||(a=F(Br)[0]),n.useDirtyRect=null!=n.useDirtyRect&&n.useDirtyRect;var s=new Br[a](e,o,n,t),l=n.ssr||s.ssrOnly;this.storage=o,this.painter=s;var u,h=i.node||i.worker||l?null:new rr(s.getViewportRoot(),s.root),c=n.useCoarsePointer;(null==c|| [...] +var Br={},Fr={};var Gr,Wr=function(){function t(t,e,n){var r=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,n=n||{},this.dom=e,this.id=t;var o=new nn,a=n.renderer||"canvas";Br[a]||(a=F(Br)[0]),n.useDirtyRect=null!=n.useDirtyRect&&n.useDirtyRect;var s=new Br[a](e,o,n,t),l=n.ssr||s.ssrOnly;this.storage=o,this.painter=s;var u,h=i.node||i.worker||l?null:new rr(s.getViewportRoot(),s.root),c=n.useCoarsePointer;(null==c|| [...] diff --git a/dist/echarts.esm.min.mjs b/dist/echarts.esm.min.mjs index 036383714..f661871d3 100644 --- a/dist/echarts.esm.min.mjs +++ b/dist/echarts.esm.min.mjs @@ -32,7 +32,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};function e(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}var n=function(){this.firefox=!1,this.ie [...] +var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};function e(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}var n=function(){this.firefox=!1,this.ie [...] /*! * ZRender, a high performance 2d drawing library. * @@ -42,4 +42,4 @@ var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Arr * LICENSE * https://github.com/ecomfe/zrender/blob/master/LICENSE.txt */ -var Br={},Fr={};var Gr,Wr=function(){function t(t,e,n){var r=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,n=n||{},this.dom=e,this.id=t;var o=new nn,a=n.renderer||"canvas";Br[a]||(a=F(Br)[0]),n.useDirtyRect=null!=n.useDirtyRect&&n.useDirtyRect;var s=new Br[a](e,o,n,t),l=n.ssr||s.ssrOnly;this.storage=o,this.painter=s;var u,h=i.node||i.worker||l?null:new rr(s.getViewportRoot(),s.root),c=n.useCoarsePointer;(null==c|| [...] +var Br={},Fr={};var Gr,Wr=function(){function t(t,e,n){var r=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,n=n||{},this.dom=e,this.id=t;var o=new nn,a=n.renderer||"canvas";Br[a]||(a=F(Br)[0]),n.useDirtyRect=null!=n.useDirtyRect&&n.useDirtyRect;var s=new Br[a](e,o,n,t),l=n.ssr||s.ssrOnly;this.storage=o,this.painter=s;var u,h=i.node||i.worker||l?null:new rr(s.getViewportRoot(),s.root),c=n.useCoarsePointer;(null==c|| [...] diff --git a/dist/echarts.esm.mjs b/dist/echarts.esm.mjs index 121c96fde..8f063674b 100644 --- a/dist/echarts.esm.mjs +++ b/dist/echarts.esm.mjs @@ -170,7 +170,7 @@ var platformApi = { else { text = text || ''; font = font || DEFAULT_FONT; - var res = /(\d+)px/.exec(font); + var res = /((?:\d+)?\.?\d*)px/.exec(font); var fontSize = res && +res[1] || DEFAULT_FONT_SIZE; var width = 0; if (font.indexOf('mono') >= 0) { @@ -7364,7 +7364,7 @@ function getElementSSRData(el) { function registerSSRDataGetter(getter) { ssrDataGetter = getter; } -var version = '5.5.0'; +var version = '5.6.0'; var zrender = /*#__PURE__*/Object.freeze({ __proto__: null, @@ -16249,13 +16249,15 @@ time, template, isUTC, lang) { var m = date[minutesGetterName(isUTC)](); var s = date[secondsGetterName(isUTC)](); var S = date[millisecondsGetterName(isUTC)](); + var a = H >= 12 ? 'pm' : 'am'; + var A = a.toUpperCase(); var localeModel = lang instanceof Model ? lang : getLocaleModel(lang || SYSTEM_LANG) || getDefaultLocaleModel(); var timeModel = localeModel.getModel('time'); var month = timeModel.get('month'); var monthAbbr = timeModel.get('monthAbbr'); var dayOfWeek = timeModel.get('dayOfWeek'); var dayOfWeekAbbr = timeModel.get('dayOfWeekAbbr'); - return (template || '').replace(/{yyyy}/g, y + '').replace(/{yy}/g, pad(y % 100 + '', 2)).replace(/{Q}/g, q + '').replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + '').replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + '').replace(/{eeee}/g, dayOfWeek[e]).replace(/{ee}/g, dayOfWeekAbbr[e]).replace(/{e}/g, e + '').replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + '').replace(/{hh}/g, pad(h + '', 2)).replace(/{h}/g, h + '').re [...] + return (template || '').replace(/{a}/g, a + '').replace(/{A}/g, A + '').replace(/{yyyy}/g, y + '').replace(/{yy}/g, pad(y % 100 + '', 2)).replace(/{Q}/g, q + '').replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + '').replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + '').replace(/{eeee}/g, dayOfWeek[e]).replace(/{ee}/g, dayOfWeekAbbr[e]).replace(/{e}/g, e + '').replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + '').replace(/{h [...] } function leveledFormat(tick, idx, formatter, lang, isUTC) { var template = null; @@ -17629,8 +17631,8 @@ function doGuessOrdinal(data, sourceFormat, seriesLayoutBy, dimensionsDefine, st function detectValue(val) { var beStr = isString(val); // Consider usage convenience, '1', '2' will be treated as "number". - // `isFinit('')` get `true`. - if (val != null && isFinite(val) && val !== '') { + // `Number('')` (or any whitespace) is `0`. + if (val != null && Number.isFinite(Number(val)) && val !== '') { return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not; } else if (beStr && val !== '-') { return BE_ORDINAL.Must; @@ -20389,7 +20391,7 @@ opt) { return value == null || value === '' ? NaN // If string (like '-'), using '+' parse to NaN // If object, also parse to NaN - : +value; + : Number(value); } var valueParserMap = createHashMap({ 'number': function (val) { @@ -22749,7 +22751,7 @@ var SeriesModel = /** @class */function (_super) { var task = getCurrentTask(this); if (task) { var data = task.context.data; - return dataType == null ? data : data.getLinkedData(dataType); + return dataType == null || !data.getLinkedData ? data : data.getLinkedData(dataType); } else { // When series is not alive (that may happen when click toolbox // restore or setOption with not merge mode), series data may @@ -26246,9 +26248,9 @@ function getImpl(name) { return implsStore[name]; } -var version$1 = '5.5.0'; +var version$1 = '5.6.0'; var dependencies = { - zrender: '5.5.0' + zrender: '5.6.0' }; var TEST_FRAME_REMAIN_TIME = 1; var PRIORITY_PROCESSOR_SERIES_FILTER = 800; @@ -31616,11 +31618,11 @@ function createProgressiveLayout(seriesType) { var value = store.get(stacked ? stackedDimIdx : valueDimIdx, dataIndex); var baseValue = store.get(baseDimIdx, dataIndex); var baseCoord = valueAxisStart; - var startValue = void 0; + var stackStartValue = void 0; // Because of the barMinHeight, we can not use the value in // stackResultDimension directly. if (stacked) { - startValue = +value - store.get(valueDimIdx, dataIndex); + stackStartValue = +value - store.get(valueDimIdx, dataIndex); } var x = void 0; var y = void 0; @@ -31629,7 +31631,7 @@ function createProgressiveLayout(seriesType) { if (isValueAxisH) { var coord = cartesian.dataToPoint([value, baseValue]); if (stacked) { - var startCoord = cartesian.dataToPoint([startValue, baseValue]); + var startCoord = cartesian.dataToPoint([stackStartValue, baseValue]); baseCoord = startCoord[0]; } x = baseCoord; @@ -31642,7 +31644,7 @@ function createProgressiveLayout(seriesType) { } else { var coord = cartesian.dataToPoint([baseValue, value]); if (stacked) { - var startCoord = cartesian.dataToPoint([baseValue, startValue]); + var startCoord = cartesian.dataToPoint([baseValue, stackStartValue]); baseCoord = startCoord[1]; } x = coord[0] + columnOffset; @@ -31695,7 +31697,11 @@ function isInLargeMode(seriesModel) { } // See cases in `test/bar-start.html` and `#7412`, `#8747`. function getValueAxisStart(baseAxis, valueAxis) { - return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? 1 : 0)); + var startValue = valueAxis.model.get('startValue'); + if (!startValue) { + startValue = 0; + } + return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? startValue > 0 ? startValue : 1 : startValue)); } // FIXME 公用? @@ -32287,7 +32293,11 @@ var ScaleRawExtentInfo = /** @class */function () { this._dataMax = dataExtent[1]; var isOrdinal = this._isOrdinal = scale.type === 'ordinal'; this._needCrossZero = scale.type === 'interval' && model.getNeedCrossZero && model.getNeedCrossZero(); - var modelMinRaw = this._modelMinRaw = model.get('min', true); + var axisMinValue = model.get('min', true); + if (axisMinValue == null) { + axisMinValue = model.get('startValue', true); + } + var modelMinRaw = this._modelMinRaw = axisMinValue; if (isFunction(modelMinRaw)) { // This callback always provides users the full data extent (before data is filtered). this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw({ @@ -33338,7 +33348,36 @@ var util$1 = /*#__PURE__*/Object.freeze({ }); var inner$5 = makeInner(); +function tickValuesToNumbers(axis, values) { + var nums = map(values, function (val) { + return axis.scale.parse(val); + }); + if (axis.type === 'time' && nums.length > 0) { + // Time axis needs duplicate first/last tick (see TimeScale.getTicks()) + // The first and last tick/label don't get drawn + nums.sort(); + nums.unshift(nums[0]); + nums.push(nums[nums.length - 1]); + } + return nums; +} function createAxisLabels(axis) { + var custom = axis.getLabelModel().get('customValues'); + if (custom) { + var labelFormatter_1 = makeLabelFormatter(axis); + return { + labels: tickValuesToNumbers(axis, custom).map(function (numval) { + var tick = { + value: numval + }; + return { + formattedLabel: labelFormatter_1(tick), + rawLabel: axis.scale.getLabel(tick), + tickValue: numval + }; + }) + }; + } // Only ordinal scale support tick interval return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis); } @@ -33351,6 +33390,12 @@ function createAxisLabels(axis) { * } */ function createAxisTicks(axis, tickModel) { + var custom = axis.getTickModel().get('customValues'); + if (custom) { + return { + ticks: tickValuesToNumbers(axis, custom) + }; + } // Only ordinal scale support tick interval return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : { ticks: map(axis.scale.getTicks(), function (tick) { @@ -41354,6 +41399,10 @@ function pieLayout(seriesType, ecModel, api) { var halfPadAngle = dir * padAngle / 2; normalizeArcAngles(angles, !clockwise); startAngle = angles[0], endAngle = angles[1]; + var layoutData = getSeriesLayoutData(seriesModel); + layoutData.startAngle = startAngle; + layoutData.endAngle = endAngle; + layoutData.clockwise = clockwise; var angleRange = Math.abs(endAngle - startAngle); // In the case some sector angle is smaller than minAngle var restAngle = angleRange; @@ -41462,6 +41511,7 @@ function pieLayout(seriesType, ecModel, api) { } }); } +var getSeriesLayoutData = makeInner(); /* * Licensed to the Apache Software Foundation (ASF) under one @@ -42142,8 +42192,9 @@ var PieView = /** @class */function (_super) { } // when all data are filtered, show lightgray empty circle if (data.count() === 0 && seriesModel.get('showEmptyCircle')) { + var layoutData = getSeriesLayoutData(seriesModel); var sector = new Sector({ - shape: getBasicPieLayout(seriesModel, api) + shape: extend(getBasicPieLayout(seriesModel, api), layoutData) }); sector.useStyle(seriesModel.getModel('emptyCircleStyle').getItemStyle()); this._emptyCircleSector = sector; @@ -47898,6 +47949,7 @@ var MapDraw = /** @class */function () { this._mouseDownFlag = false; updateViewOnZoom(controllerHost, e.scale, e.originX, e.originY); api.dispatchAction(extend(makeActionBase(), { + totalZoom: controllerHost.zoom, zoom: e.scale, originX: e.originX, originY: e.originY, @@ -51348,6 +51400,7 @@ var TreemapSeriesModel = /** @class */function (_super) { drillDownIcon: '▶', // to align specialized icon. ▷▶❒❐▼✚ zoomToNodeRatio: 0.32 * 0.32, + scaleLimit: null, roam: true, nodeClick: 'zoomToNode', animation: true, @@ -51863,6 +51916,13 @@ var TreemapView = /** @class */function (_super) { var willDeleteEls = clearStorage(oldStorage); this._oldTree = thisTree; this._storage = thisStorage; + if (this._controllerHost) { + var _oldRootLayout = this.seriesModel.layoutInfo; + var rootLayout = thisTree.root.getLayout(); + if (rootLayout.width === _oldRootLayout.width && rootLayout.height === _oldRootLayout.height) { + this._controllerHost.zoom = 1; + } + } return { lastsForAnimation: lastsForAnimation, willDeleteEls: willDeleteEls, @@ -52033,10 +52093,19 @@ var TreemapView = /** @class */function (_super) { }; TreemapView.prototype._resetController = function (api) { var controller = this._controller; + var controllerHost = this._controllerHost; + if (!controllerHost) { + this._controllerHost = { + target: this.group + }; + controllerHost = this._controllerHost; + } // Init controller. if (!controller) { controller = this._controller = new RoamController(api.getZr()); controller.enable(this.seriesModel.get('roam')); + controllerHost.zoomLimit = this.seriesModel.get('scaleLimit'); + controllerHost.zoom = this.seriesModel.get('zoom'); controller.on('pan', bind(this._onPan, this)); controller.on('zoom', bind(this._onZoom, this)); } @@ -52047,6 +52116,7 @@ var TreemapView = /** @class */function (_super) { }; TreemapView.prototype._clearController = function () { var controller = this._controller; + this._controllerHost = null; if (controller) { controller.dispose(); controller = null; @@ -52079,6 +52149,7 @@ var TreemapView = /** @class */function (_super) { TreemapView.prototype._onZoom = function (e) { var mouseX = e.originX; var mouseY = e.originY; + var zoomDelta = e.scale; if (this._state !== 'animating') { // These param must not be cached. var root = this.seriesModel.getData().tree.root; @@ -52090,6 +52161,19 @@ var TreemapView = /** @class */function (_super) { return; } var rect = new BoundingRect(rootLayout.x, rootLayout.y, rootLayout.width, rootLayout.height); + // scaleLimit + var zoomLimit = null; + var _controllerHost = this._controllerHost; + zoomLimit = _controllerHost.zoomLimit; + var newZoom = _controllerHost.zoom = _controllerHost.zoom || 1; + newZoom *= zoomDelta; + if (zoomLimit) { + var zoomMin = zoomLimit.min || 0; + var zoomMax = zoomLimit.max || Infinity; + newZoom = Math.max(Math.min(zoomMax, newZoom), zoomMin); + } + var zoomScale = newZoom / _controllerHost.zoom; + _controllerHost.zoom = newZoom; var layoutInfo = this.seriesModel.layoutInfo; // Transform mouse coord from global to containerGroup. mouseX -= layoutInfo.x; @@ -52097,7 +52181,7 @@ var TreemapView = /** @class */function (_super) { // Scale root bounding rect. var m = create$1(); translate(m, m, [-mouseX, -mouseY]); - scale$1(m, m, [e.scale, e.scale]); + scale$1(m, m, [zoomScale, zoomScale]); translate(m, m, [mouseX, mouseY]); rect.applyTransform(m); this.api.dispatchAction({ @@ -59520,12 +59604,14 @@ var SankeyView = /** @class */function (_super) { var dragX = itemModel.get('localX'); var dragY = itemModel.get('localY'); var emphasisModel = itemModel.getModel('emphasis'); + var borderRadius = itemModel.get(['itemStyle', 'borderRadius']) || 0; var rect = new Rect({ shape: { x: dragX != null ? dragX * width : layout.x, y: dragY != null ? dragY * height : layout.y, width: layout.dx, - height: layout.dy + height: layout.dy, + r: borderRadius }, style: itemModel.getModel('itemStyle').getItemStyle(), z2: 10 @@ -69028,7 +69114,9 @@ function barLayoutPolar(seriesType, ecModel, api) { var baseDim = data.mapDimension(baseAxis.dim); var stacked = isDimensionStacked(data, valueDim /* , baseDim */); var clampLayout = baseAxis.dim !== 'radius' || !seriesModel.get('roundCap', true); - var valueAxisStart = valueAxis.dataToCoord(0); + var valueAxisModel = valueAxis.model; + var startValue = valueAxisModel.get('startValue'); + var valueAxisStart = valueAxis.dataToCoord(startValue || 0); for (var idx = 0, len = data.count(); idx < len; idx++) { var value = data.get(valueDim, idx); var baseValue = data.get(baseDim, idx); @@ -72431,7 +72519,6 @@ function isUserFeatureName(featureName) { return featureName.indexOf('my') === 0; } -/* global window, document */ var SaveAsImage = /** @class */function (_super) { __extends(SaveAsImage, _super); function SaveAsImage() { @@ -72451,7 +72538,7 @@ var SaveAsImage = /** @class */function (_super) { }); var browser = env.browser; // Chrome, Firefox, New Edge - if (isFunction(MouseEvent) && (browser.newEdge || !browser.ie && !browser.edge)) { + if (typeof MouseEvent === 'function' && (browser.newEdge || !browser.ie && !browser.edge)) { var $a = document.createElement('a'); $a.download = title + '.' + type; $a.target = '_blank'; @@ -77170,6 +77257,16 @@ var MarkerModel = /** @class */function (_super) { MarkerModel.prototype.setData = function (data) { this._data = data; }; + MarkerModel.prototype.getDataParams = function (dataIndex, dataType) { + var params = DataFormatMixin.prototype.getDataParams.call(this, dataIndex, dataType); + var hostSeries = this.__hostSeries; + if (hostSeries) { + params.seriesId = hostSeries.id; + params.seriesName = hostSeries.name; + params.seriesType = hostSeries.subType; + } + return params; + }; MarkerModel.getMarkerModelFromSeries = function (seriesModel, // Support three types of markers. Strict check. componentType) { @@ -83042,13 +83139,17 @@ function ariaVisual(ecModel, api) { } } function setLabel() { + var dom = api.getZr().dom; + // TODO: support for SSR + if (!dom) { + return; + } var labelLocale = ecModel.getLocaleModel().get('aria'); var labelModel = ariaModel.getModel('label'); labelModel.option = defaults(labelModel.option, labelLocale); if (!labelModel.get('enabled')) { return; } - var dom = api.getZr().dom; if (labelModel.get('description')) { dom.setAttribute('aria-label', labelModel.get('description')); return; diff --git a/dist/echarts.esm.mjs.map b/dist/echarts.esm.mjs.map index 1a412f950..7ad84e0de 100644 --- a/dist/echarts.esm.mjs.map +++ b/dist/echarts.esm.mjs.map @@ -1 +1 @@ -{"version":3,"file":"echarts.esm.mjs","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/zrender/lib/core/env.js","../node_modules/zrender/lib/core/platform.js","../node_modules/zrender/lib/core/util.js","../node_modules/zrender/lib/core/vector.js","../node_modules/zrender/lib/mixin/Draggable.js","../node_modules/zrender/lib/core/Eventful.js","../node_modules/zrender/lib/core/fourPointsTransform.js","../node_modules/zrender/lib/core/dom.js","../node_modules/zrender/lib/core [...] \ No newline at end of file +{"version":3,"file":"echarts.esm.mjs","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/zrender/lib/core/env.js","../node_modules/zrender/lib/core/platform.js","../node_modules/zrender/lib/core/util.js","../node_modules/zrender/lib/core/vector.js","../node_modules/zrender/lib/mixin/Draggable.js","../node_modules/zrender/lib/core/Eventful.js","../node_modules/zrender/lib/core/fourPointsTransform.js","../node_modules/zrender/lib/core/dom.js","../node_modules/zrender/lib/core [...] \ No newline at end of file diff --git a/dist/echarts.js b/dist/echarts.js index df103b18c..e16f02761 100644 --- a/dist/echarts.js +++ b/dist/echarts.js @@ -176,7 +176,7 @@ else { text = text || ''; font = font || DEFAULT_FONT; - var res = /(\d+)px/.exec(font); + var res = /((?:\d+)?\.?\d*)px/.exec(font); var fontSize = res && +res[1] || DEFAULT_FONT_SIZE; var width = 0; if (font.indexOf('mono') >= 0) { @@ -7370,7 +7370,7 @@ function registerSSRDataGetter(getter) { ssrDataGetter = getter; } - var version = '5.5.0'; + var version = '5.6.0'; var zrender = /*#__PURE__*/Object.freeze({ __proto__: null, @@ -16255,13 +16255,15 @@ var m = date[minutesGetterName(isUTC)](); var s = date[secondsGetterName(isUTC)](); var S = date[millisecondsGetterName(isUTC)](); + var a = H >= 12 ? 'pm' : 'am'; + var A = a.toUpperCase(); var localeModel = lang instanceof Model ? lang : getLocaleModel(lang || SYSTEM_LANG) || getDefaultLocaleModel(); var timeModel = localeModel.getModel('time'); var month = timeModel.get('month'); var monthAbbr = timeModel.get('monthAbbr'); var dayOfWeek = timeModel.get('dayOfWeek'); var dayOfWeekAbbr = timeModel.get('dayOfWeekAbbr'); - return (template || '').replace(/{yyyy}/g, y + '').replace(/{yy}/g, pad(y % 100 + '', 2)).replace(/{Q}/g, q + '').replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + '').replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + '').replace(/{eeee}/g, dayOfWeek[e]).replace(/{ee}/g, dayOfWeekAbbr[e]).replace(/{e}/g, e + '').replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + '').replace(/{hh}/g, pad(h + '', 2)).replace(/{h}/g, h + '' [...] + return (template || '').replace(/{a}/g, a + '').replace(/{A}/g, A + '').replace(/{yyyy}/g, y + '').replace(/{yy}/g, pad(y % 100 + '', 2)).replace(/{Q}/g, q + '').replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + '').replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + '').replace(/{eeee}/g, dayOfWeek[e]).replace(/{ee}/g, dayOfWeekAbbr[e]).replace(/{e}/g, e + '').replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + '').replace [...] } function leveledFormat(tick, idx, formatter, lang, isUTC) { var template = null; @@ -17635,8 +17637,8 @@ function detectValue(val) { var beStr = isString(val); // Consider usage convenience, '1', '2' will be treated as "number". - // `isFinit('')` get `true`. - if (val != null && isFinite(val) && val !== '') { + // `Number('')` (or any whitespace) is `0`. + if (val != null && Number.isFinite(Number(val)) && val !== '') { return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not; } else if (beStr && val !== '-') { return BE_ORDINAL.Must; @@ -20395,7 +20397,7 @@ return value == null || value === '' ? NaN // If string (like '-'), using '+' parse to NaN // If object, also parse to NaN - : +value; + : Number(value); } var valueParserMap = createHashMap({ 'number': function (val) { @@ -22755,7 +22757,7 @@ var task = getCurrentTask(this); if (task) { var data = task.context.data; - return dataType == null ? data : data.getLinkedData(dataType); + return dataType == null || !data.getLinkedData ? data : data.getLinkedData(dataType); } else { // When series is not alive (that may happen when click toolbox // restore or setOption with not merge mode), series data may @@ -26252,9 +26254,9 @@ return implsStore[name]; } - var version$1 = '5.5.0'; + var version$1 = '5.6.0'; var dependencies = { - zrender: '5.5.0' + zrender: '5.6.0' }; var TEST_FRAME_REMAIN_TIME = 1; var PRIORITY_PROCESSOR_SERIES_FILTER = 800; @@ -31622,11 +31624,11 @@ var value = store.get(stacked ? stackedDimIdx : valueDimIdx, dataIndex); var baseValue = store.get(baseDimIdx, dataIndex); var baseCoord = valueAxisStart; - var startValue = void 0; + var stackStartValue = void 0; // Because of the barMinHeight, we can not use the value in // stackResultDimension directly. if (stacked) { - startValue = +value - store.get(valueDimIdx, dataIndex); + stackStartValue = +value - store.get(valueDimIdx, dataIndex); } var x = void 0; var y = void 0; @@ -31635,7 +31637,7 @@ if (isValueAxisH) { var coord = cartesian.dataToPoint([value, baseValue]); if (stacked) { - var startCoord = cartesian.dataToPoint([startValue, baseValue]); + var startCoord = cartesian.dataToPoint([stackStartValue, baseValue]); baseCoord = startCoord[0]; } x = baseCoord; @@ -31648,7 +31650,7 @@ } else { var coord = cartesian.dataToPoint([baseValue, value]); if (stacked) { - var startCoord = cartesian.dataToPoint([baseValue, startValue]); + var startCoord = cartesian.dataToPoint([baseValue, stackStartValue]); baseCoord = startCoord[1]; } x = coord[0] + columnOffset; @@ -31701,7 +31703,11 @@ } // See cases in `test/bar-start.html` and `#7412`, `#8747`. function getValueAxisStart(baseAxis, valueAxis) { - return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? 1 : 0)); + var startValue = valueAxis.model.get('startValue'); + if (!startValue) { + startValue = 0; + } + return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? startValue > 0 ? startValue : 1 : startValue)); } // FIXME 公用? @@ -32293,7 +32299,11 @@ this._dataMax = dataExtent[1]; var isOrdinal = this._isOrdinal = scale.type === 'ordinal'; this._needCrossZero = scale.type === 'interval' && model.getNeedCrossZero && model.getNeedCrossZero(); - var modelMinRaw = this._modelMinRaw = model.get('min', true); + var axisMinValue = model.get('min', true); + if (axisMinValue == null) { + axisMinValue = model.get('startValue', true); + } + var modelMinRaw = this._modelMinRaw = axisMinValue; if (isFunction(modelMinRaw)) { // This callback always provides users the full data extent (before data is filtered). this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw({ @@ -33344,7 +33354,36 @@ }); var inner$5 = makeInner(); + function tickValuesToNumbers(axis, values) { + var nums = map(values, function (val) { + return axis.scale.parse(val); + }); + if (axis.type === 'time' && nums.length > 0) { + // Time axis needs duplicate first/last tick (see TimeScale.getTicks()) + // The first and last tick/label don't get drawn + nums.sort(); + nums.unshift(nums[0]); + nums.push(nums[nums.length - 1]); + } + return nums; + } function createAxisLabels(axis) { + var custom = axis.getLabelModel().get('customValues'); + if (custom) { + var labelFormatter_1 = makeLabelFormatter(axis); + return { + labels: tickValuesToNumbers(axis, custom).map(function (numval) { + var tick = { + value: numval + }; + return { + formattedLabel: labelFormatter_1(tick), + rawLabel: axis.scale.getLabel(tick), + tickValue: numval + }; + }) + }; + } // Only ordinal scale support tick interval return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis); } @@ -33357,6 +33396,12 @@ * } */ function createAxisTicks(axis, tickModel) { + var custom = axis.getTickModel().get('customValues'); + if (custom) { + return { + ticks: tickValuesToNumbers(axis, custom) + }; + } // Only ordinal scale support tick interval return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : { ticks: map(axis.scale.getTicks(), function (tick) { @@ -41360,6 +41405,10 @@ var halfPadAngle = dir * padAngle / 2; normalizeArcAngles(angles, !clockwise); startAngle = angles[0], endAngle = angles[1]; + var layoutData = getSeriesLayoutData(seriesModel); + layoutData.startAngle = startAngle; + layoutData.endAngle = endAngle; + layoutData.clockwise = clockwise; var angleRange = Math.abs(endAngle - startAngle); // In the case some sector angle is smaller than minAngle var restAngle = angleRange; @@ -41468,6 +41517,7 @@ } }); } + var getSeriesLayoutData = makeInner(); /* * Licensed to the Apache Software Foundation (ASF) under one @@ -42148,8 +42198,9 @@ } // when all data are filtered, show lightgray empty circle if (data.count() === 0 && seriesModel.get('showEmptyCircle')) { + var layoutData = getSeriesLayoutData(seriesModel); var sector = new Sector({ - shape: getBasicPieLayout(seriesModel, api) + shape: extend(getBasicPieLayout(seriesModel, api), layoutData) }); sector.useStyle(seriesModel.getModel('emptyCircleStyle').getItemStyle()); this._emptyCircleSector = sector; @@ -47904,6 +47955,7 @@ this._mouseDownFlag = false; updateViewOnZoom(controllerHost, e.scale, e.originX, e.originY); api.dispatchAction(extend(makeActionBase(), { + totalZoom: controllerHost.zoom, zoom: e.scale, originX: e.originX, originY: e.originY, @@ -51354,6 +51406,7 @@ drillDownIcon: '▶', // to align specialized icon. ▷▶❒❐▼✚ zoomToNodeRatio: 0.32 * 0.32, + scaleLimit: null, roam: true, nodeClick: 'zoomToNode', animation: true, @@ -51869,6 +51922,13 @@ var willDeleteEls = clearStorage(oldStorage); this._oldTree = thisTree; this._storage = thisStorage; + if (this._controllerHost) { + var _oldRootLayout = this.seriesModel.layoutInfo; + var rootLayout = thisTree.root.getLayout(); + if (rootLayout.width === _oldRootLayout.width && rootLayout.height === _oldRootLayout.height) { + this._controllerHost.zoom = 1; + } + } return { lastsForAnimation: lastsForAnimation, willDeleteEls: willDeleteEls, @@ -52039,10 +52099,19 @@ }; TreemapView.prototype._resetController = function (api) { var controller = this._controller; + var controllerHost = this._controllerHost; + if (!controllerHost) { + this._controllerHost = { + target: this.group + }; + controllerHost = this._controllerHost; + } // Init controller. if (!controller) { controller = this._controller = new RoamController(api.getZr()); controller.enable(this.seriesModel.get('roam')); + controllerHost.zoomLimit = this.seriesModel.get('scaleLimit'); + controllerHost.zoom = this.seriesModel.get('zoom'); controller.on('pan', bind(this._onPan, this)); controller.on('zoom', bind(this._onZoom, this)); } @@ -52053,6 +52122,7 @@ }; TreemapView.prototype._clearController = function () { var controller = this._controller; + this._controllerHost = null; if (controller) { controller.dispose(); controller = null; @@ -52085,6 +52155,7 @@ TreemapView.prototype._onZoom = function (e) { var mouseX = e.originX; var mouseY = e.originY; + var zoomDelta = e.scale; if (this._state !== 'animating') { // These param must not be cached. var root = this.seriesModel.getData().tree.root; @@ -52096,6 +52167,19 @@ return; } var rect = new BoundingRect(rootLayout.x, rootLayout.y, rootLayout.width, rootLayout.height); + // scaleLimit + var zoomLimit = null; + var _controllerHost = this._controllerHost; + zoomLimit = _controllerHost.zoomLimit; + var newZoom = _controllerHost.zoom = _controllerHost.zoom || 1; + newZoom *= zoomDelta; + if (zoomLimit) { + var zoomMin = zoomLimit.min || 0; + var zoomMax = zoomLimit.max || Infinity; + newZoom = Math.max(Math.min(zoomMax, newZoom), zoomMin); + } + var zoomScale = newZoom / _controllerHost.zoom; + _controllerHost.zoom = newZoom; var layoutInfo = this.seriesModel.layoutInfo; // Transform mouse coord from global to containerGroup. mouseX -= layoutInfo.x; @@ -52103,7 +52187,7 @@ // Scale root bounding rect. var m = create$1(); translate(m, m, [-mouseX, -mouseY]); - scale$1(m, m, [e.scale, e.scale]); + scale$1(m, m, [zoomScale, zoomScale]); translate(m, m, [mouseX, mouseY]); rect.applyTransform(m); this.api.dispatchAction({ @@ -59526,12 +59610,14 @@ var dragX = itemModel.get('localX'); var dragY = itemModel.get('localY'); var emphasisModel = itemModel.getModel('emphasis'); + var borderRadius = itemModel.get(['itemStyle', 'borderRadius']) || 0; var rect = new Rect({ shape: { x: dragX != null ? dragX * width : layout.x, y: dragY != null ? dragY * height : layout.y, width: layout.dx, - height: layout.dy + height: layout.dy, + r: borderRadius }, style: itemModel.getModel('itemStyle').getItemStyle(), z2: 10 @@ -69034,7 +69120,9 @@ var baseDim = data.mapDimension(baseAxis.dim); var stacked = isDimensionStacked(data, valueDim /* , baseDim */); var clampLayout = baseAxis.dim !== 'radius' || !seriesModel.get('roundCap', true); - var valueAxisStart = valueAxis.dataToCoord(0); + var valueAxisModel = valueAxis.model; + var startValue = valueAxisModel.get('startValue'); + var valueAxisStart = valueAxis.dataToCoord(startValue || 0); for (var idx = 0, len = data.count(); idx < len; idx++) { var value = data.get(valueDim, idx); var baseValue = data.get(baseDim, idx); @@ -72437,7 +72525,6 @@ return featureName.indexOf('my') === 0; } - /* global window, document */ var SaveAsImage = /** @class */function (_super) { __extends(SaveAsImage, _super); function SaveAsImage() { @@ -72457,7 +72544,7 @@ }); var browser = env.browser; // Chrome, Firefox, New Edge - if (isFunction(MouseEvent) && (browser.newEdge || !browser.ie && !browser.edge)) { + if (typeof MouseEvent === 'function' && (browser.newEdge || !browser.ie && !browser.edge)) { var $a = document.createElement('a'); $a.download = title + '.' + type; $a.target = '_blank'; @@ -77176,6 +77263,16 @@ MarkerModel.prototype.setData = function (data) { this._data = data; }; + MarkerModel.prototype.getDataParams = function (dataIndex, dataType) { + var params = DataFormatMixin.prototype.getDataParams.call(this, dataIndex, dataType); + var hostSeries = this.__hostSeries; + if (hostSeries) { + params.seriesId = hostSeries.id; + params.seriesName = hostSeries.name; + params.seriesType = hostSeries.subType; + } + return params; + }; MarkerModel.getMarkerModelFromSeries = function (seriesModel, // Support three types of markers. Strict check. componentType) { @@ -83048,13 +83145,17 @@ } } function setLabel() { + var dom = api.getZr().dom; + // TODO: support for SSR + if (!dom) { + return; + } var labelLocale = ecModel.getLocaleModel().get('aria'); var labelModel = ariaModel.getModel('label'); labelModel.option = defaults(labelModel.option, labelLocale); if (!labelModel.get('enabled')) { return; } - var dom = api.getZr().dom; if (labelModel.get('description')) { dom.setAttribute('aria-label', labelModel.get('description')); return; diff --git a/dist/echarts.js.map b/dist/echarts.js.map index 0aa82f258..bab2cf8a0 100644 --- a/dist/echarts.js.map +++ b/dist/echarts.js.map @@ -1 +1 @@ -{"version":3,"file":"echarts.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/zrender/lib/core/env.js","../node_modules/zrender/lib/core/platform.js","../node_modules/zrender/lib/core/util.js","../node_modules/zrender/lib/core/vector.js","../node_modules/zrender/lib/mixin/Draggable.js","../node_modules/zrender/lib/core/Eventful.js","../node_modules/zrender/lib/core/fourPointsTransform.js","../node_modules/zrender/lib/core/dom.js","../node_modules/zrender/lib/core/even [...] \ No newline at end of file +{"version":3,"file":"echarts.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/zrender/lib/core/env.js","../node_modules/zrender/lib/core/platform.js","../node_modules/zrender/lib/core/util.js","../node_modules/zrender/lib/core/vector.js","../node_modules/zrender/lib/mixin/Draggable.js","../node_modules/zrender/lib/core/Eventful.js","../node_modules/zrender/lib/core/fourPointsTransform.js","../node_modules/zrender/lib/core/dom.js","../node_modules/zrender/lib/core/even [...] \ No newline at end of file diff --git a/dist/echarts.min.js b/dist/echarts.min.js index 1fd08eb05..50fc957f8 100644 --- a/dist/echarts.min.js +++ b/dist/echarts.min.js @@ -32,7 +32,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ***************************************************************************** */var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},e(t,n)};function n(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Objec [...] + ***************************************************************************** */var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},e(t,n)};function n(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Objec [...] /*! * ZRender, a high performance 2d drawing library. * @@ -42,4 +42,4 @@ * LICENSE * https://github.com/ecomfe/zrender/blob/master/LICENSE.txt */ -var Fr={},Gr={};var Wr,Hr=function(){function t(t,e,n){var i=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,n=n||{},this.dom=e,this.id=t;var o=new rn,a=n.renderer||"canvas";Fr[a]||(a=G(Fr)[0]),n.useDirtyRect=null!=n.useDirtyRect&&n.useDirtyRect;var s=new Fr[a](e,o,n,t),l=n.ssr||s.ssrOnly;this.storage=o,this.painter=s;var u,h=r.node||r.worker||l?null:new or(s.getViewportRoot(),s.root),c=n.useCoarsePointer;(null==c|| [...] +var Fr={},Gr={};var Wr,Hr=function(){function t(t,e,n){var i=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,n=n||{},this.dom=e,this.id=t;var o=new rn,a=n.renderer||"canvas";Fr[a]||(a=G(Fr)[0]),n.useDirtyRect=null!=n.useDirtyRect&&n.useDirtyRect;var s=new Fr[a](e,o,n,t),l=n.ssr||s.ssrOnly;this.storage=o,this.painter=s;var u,h=r.node||r.worker||l?null:new or(s.getViewportRoot(),s.root),c=n.useCoarsePointer;(null==c|| [...] diff --git a/dist/echarts.simple.js b/dist/echarts.simple.js index 40abd3b4b..95d0f4805 100644 --- a/dist/echarts.simple.js +++ b/dist/echarts.simple.js @@ -176,7 +176,7 @@ else { text = text || ''; font = font || DEFAULT_FONT; - var res = /(\d+)px/.exec(font); + var res = /((?:\d+)?\.?\d*)px/.exec(font); var fontSize = res && +res[1] || DEFAULT_FONT_SIZE; var width = 0; if (font.indexOf('mono') >= 0) { @@ -7231,7 +7231,7 @@ function registerSSRDataGetter(getter) { ssrDataGetter = getter; } - var version = '5.5.0'; + var version = '5.6.0'; var zrender = /*#__PURE__*/Object.freeze({ __proto__: null, @@ -15789,13 +15789,15 @@ var m = date[minutesGetterName(isUTC)](); var s = date[secondsGetterName(isUTC)](); var S = date[millisecondsGetterName(isUTC)](); + var a = H >= 12 ? 'pm' : 'am'; + var A = a.toUpperCase(); var localeModel = lang instanceof Model ? lang : getLocaleModel(lang || SYSTEM_LANG) || getDefaultLocaleModel(); var timeModel = localeModel.getModel('time'); var month = timeModel.get('month'); var monthAbbr = timeModel.get('monthAbbr'); var dayOfWeek = timeModel.get('dayOfWeek'); var dayOfWeekAbbr = timeModel.get('dayOfWeekAbbr'); - return (template || '').replace(/{yyyy}/g, y + '').replace(/{yy}/g, pad(y % 100 + '', 2)).replace(/{Q}/g, q + '').replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + '').replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + '').replace(/{eeee}/g, dayOfWeek[e]).replace(/{ee}/g, dayOfWeekAbbr[e]).replace(/{e}/g, e + '').replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + '').replace(/{hh}/g, pad(h + '', 2)).replace(/{h}/g, h + '' [...] + return (template || '').replace(/{a}/g, a + '').replace(/{A}/g, A + '').replace(/{yyyy}/g, y + '').replace(/{yy}/g, pad(y % 100 + '', 2)).replace(/{Q}/g, q + '').replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + '').replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + '').replace(/{eeee}/g, dayOfWeek[e]).replace(/{ee}/g, dayOfWeekAbbr[e]).replace(/{e}/g, e + '').replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + '').replace [...] } function leveledFormat(tick, idx, formatter, lang, isUTC) { var template = null; @@ -16987,8 +16989,8 @@ function detectValue(val) { var beStr = isString(val); // Consider usage convenience, '1', '2' will be treated as "number". - // `isFinit('')` get `true`. - if (val != null && isFinite(val) && val !== '') { + // `Number('')` (or any whitespace) is `0`. + if (val != null && Number.isFinite(Number(val)) && val !== '') { return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not; } else if (beStr && val !== '-') { return BE_ORDINAL.Must; @@ -19702,7 +19704,7 @@ return value == null || value === '' ? NaN // If string (like '-'), using '+' parse to NaN // If object, also parse to NaN - : +value; + : Number(value); } var valueParserMap = createHashMap({ 'number': function (val) { @@ -21653,7 +21655,7 @@ var task = getCurrentTask(this); if (task) { var data = task.context.data; - return dataType == null ? data : data.getLinkedData(dataType); + return dataType == null || !data.getLinkedData ? data : data.getLinkedData(dataType); } else { // When series is not alive (that may happen when click toolbox // restore or setOption with not merge mode), series data may @@ -25031,9 +25033,9 @@ return implsStore[name]; } - var version$1 = '5.5.0'; + var version$1 = '5.6.0'; var dependencies = { - zrender: '5.5.0' + zrender: '5.6.0' }; var TEST_FRAME_REMAIN_TIME = 1; var PRIORITY_PROCESSOR_SERIES_FILTER = 800; @@ -30374,11 +30376,11 @@ var value = store.get(stacked ? stackedDimIdx : valueDimIdx, dataIndex); var baseValue = store.get(baseDimIdx, dataIndex); var baseCoord = valueAxisStart; - var startValue = void 0; + var stackStartValue = void 0; // Because of the barMinHeight, we can not use the value in // stackResultDimension directly. if (stacked) { - startValue = +value - store.get(valueDimIdx, dataIndex); + stackStartValue = +value - store.get(valueDimIdx, dataIndex); } var x = void 0; var y = void 0; @@ -30387,7 +30389,7 @@ if (isValueAxisH) { var coord = cartesian.dataToPoint([value, baseValue]); if (stacked) { - var startCoord = cartesian.dataToPoint([startValue, baseValue]); + var startCoord = cartesian.dataToPoint([stackStartValue, baseValue]); baseCoord = startCoord[0]; } x = baseCoord; @@ -30400,7 +30402,7 @@ } else { var coord = cartesian.dataToPoint([baseValue, value]); if (stacked) { - var startCoord = cartesian.dataToPoint([baseValue, startValue]); + var startCoord = cartesian.dataToPoint([baseValue, stackStartValue]); baseCoord = startCoord[1]; } x = coord[0] + columnOffset; @@ -30453,7 +30455,11 @@ } // See cases in `test/bar-start.html` and `#7412`, `#8747`. function getValueAxisStart(baseAxis, valueAxis) { - return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? 1 : 0)); + var startValue = valueAxis.model.get('startValue'); + if (!startValue) { + startValue = 0; + } + return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? startValue > 0 ? startValue : 1 : startValue)); } // FIXME 公用? @@ -31045,7 +31051,11 @@ this._dataMax = dataExtent[1]; var isOrdinal = this._isOrdinal = scale.type === 'ordinal'; this._needCrossZero = scale.type === 'interval' && model.getNeedCrossZero && model.getNeedCrossZero(); - var modelMinRaw = this._modelMinRaw = model.get('min', true); + var axisMinValue = model.get('min', true); + if (axisMinValue == null) { + axisMinValue = model.get('startValue', true); + } + var modelMinRaw = this._modelMinRaw = axisMinValue; if (isFunction(modelMinRaw)) { // This callback always provides users the full data extent (before data is filtered). this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw({ @@ -32087,7 +32097,36 @@ }); var inner$5 = makeInner(); + function tickValuesToNumbers(axis, values) { + var nums = map(values, function (val) { + return axis.scale.parse(val); + }); + if (axis.type === 'time' && nums.length > 0) { + // Time axis needs duplicate first/last tick (see TimeScale.getTicks()) + // The first and last tick/label don't get drawn + nums.sort(); + nums.unshift(nums[0]); + nums.push(nums[nums.length - 1]); + } + return nums; + } function createAxisLabels(axis) { + var custom = axis.getLabelModel().get('customValues'); + if (custom) { + var labelFormatter_1 = makeLabelFormatter(axis); + return { + labels: tickValuesToNumbers(axis, custom).map(function (numval) { + var tick = { + value: numval + }; + return { + formattedLabel: labelFormatter_1(tick), + rawLabel: axis.scale.getLabel(tick), + tickValue: numval + }; + }) + }; + } // Only ordinal scale support tick interval return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis); } @@ -32100,6 +32139,12 @@ * } */ function createAxisTicks(axis, tickModel) { + var custom = axis.getTickModel().get('customValues'); + if (custom) { + return { + ticks: tickValuesToNumbers(axis, custom) + }; + } // Only ordinal scale support tick interval return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : { ticks: map(axis.scale.getTicks(), function (tick) { @@ -37842,6 +37887,10 @@ var halfPadAngle = dir * padAngle / 2; normalizeArcAngles(angles, !clockwise); startAngle = angles[0], endAngle = angles[1]; + var layoutData = getSeriesLayoutData(seriesModel); + layoutData.startAngle = startAngle; + layoutData.endAngle = endAngle; + layoutData.clockwise = clockwise; var angleRange = Math.abs(endAngle - startAngle); // In the case some sector angle is smaller than minAngle var restAngle = angleRange; @@ -37950,6 +37999,7 @@ } }); } + var getSeriesLayoutData = makeInner(); /* * Licensed to the Apache Software Foundation (ASF) under one @@ -38630,8 +38680,9 @@ } // when all data are filtered, show lightgray empty circle if (data.count() === 0 && seriesModel.get('showEmptyCircle')) { + var layoutData = getSeriesLayoutData(seriesModel); var sector = new Sector({ - shape: getBasicPieLayout(seriesModel, api) + shape: extend(getBasicPieLayout(seriesModel, api), layoutData) }); sector.useStyle(seriesModel.getModel('emptyCircleStyle').getItemStyle()); this._emptyCircleSector = sector; @@ -41107,13 +41158,17 @@ } } function setLabel() { + var dom = api.getZr().dom; + // TODO: support for SSR + if (!dom) { + return; + } var labelLocale = ecModel.getLocaleModel().get('aria'); var labelModel = ariaModel.getModel('label'); labelModel.option = defaults(labelModel.option, labelLocale); if (!labelModel.get('enabled')) { return; } - var dom = api.getZr().dom; if (labelModel.get('description')) { dom.setAttribute('aria-label', labelModel.get('description')); return; diff --git a/dist/echarts.simple.js.map b/dist/echarts.simple.js.map index bf4de4a0f..8ccc5cfd7 100644 --- a/dist/echarts.simple.js.map +++ b/dist/echarts.simple.js.map @@ -1 +1 @@ -{"version":3,"file":"echarts.simple.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/zrender/lib/core/env.js","../node_modules/zrender/lib/core/platform.js","../node_modules/zrender/lib/core/util.js","../node_modules/zrender/lib/core/vector.js","../node_modules/zrender/lib/mixin/Draggable.js","../node_modules/zrender/lib/core/Eventful.js","../node_modules/zrender/lib/core/fourPointsTransform.js","../node_modules/zrender/lib/core/dom.js","../node_modules/zrender/lib/co [...] \ No newline at end of file +{"version":3,"file":"echarts.simple.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/zrender/lib/core/env.js","../node_modules/zrender/lib/core/platform.js","../node_modules/zrender/lib/core/util.js","../node_modules/zrender/lib/core/vector.js","../node_modules/zrender/lib/mixin/Draggable.js","../node_modules/zrender/lib/core/Eventful.js","../node_modules/zrender/lib/core/fourPointsTransform.js","../node_modules/zrender/lib/core/dom.js","../node_modules/zrender/lib/co [...] \ No newline at end of file diff --git a/dist/echarts.simple.min.js b/dist/echarts.simple.min.js index 0ee4ad3e5..3b4164431 100644 --- a/dist/echarts.simple.min.js +++ b/dist/echarts.simple.min.js @@ -32,7 +32,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ***************************************************************************** */var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},e(t,n)};function n(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Objec [...] + ***************************************************************************** */var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},e(t,n)};function n(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Objec [...] /*! * ZRender, a high performance 2d drawing library. * @@ -42,4 +42,4 @@ * LICENSE * https://github.com/ecomfe/zrender/blob/master/LICENSE.txt */ -var lr={},ur={};var hr,cr=function(){function t(t,e,n){var i=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,n=n||{},this.dom=e,this.id=t;var o=new Ye,a=n.renderer||"canvas";lr[a]||(a=B(lr)[0]),n.useDirtyRect=null!=n.useDirtyRect&&n.useDirtyRect;var s=new lr[a](e,o,n,t),l=n.ssr||s.ssrOnly;this.storage=o,this.painter=s;var u,h=r.node||r.worker||l?null:new Di(s.getViewportRoot(),s.root),c=n.useCoarsePointer;(null==c|| [...] +var lr={},ur={};var hr,cr=function(){function t(t,e,n){var i=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,n=n||{},this.dom=e,this.id=t;var o=new Ye,a=n.renderer||"canvas";lr[a]||(a=B(lr)[0]),n.useDirtyRect=null!=n.useDirtyRect&&n.useDirtyRect;var s=new lr[a](e,o,n,t),l=n.ssr||s.ssrOnly;this.storage=o,this.painter=s;var u,h=r.node||r.worker||l?null:new Di(s.getViewportRoot(),s.root),c=n.useCoarsePointer;(null==c|| [...] diff --git a/package-lock.json b/package-lock.json index 32bc9715d..2794d8c6b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,16 @@ { "name": "echarts", - "version": "5.5.0", + "version": "5.6.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "echarts", - "version": "5.5.0", + "version": "5.6.0", "license": "Apache-2.0", "dependencies": { "tslib": "2.3.0", - "zrender": "5.5.0" + "zrender": "5.6.0" }, "devDependencies": { "@babel/code-frame": "7.10.4", @@ -11297,9 +11297,9 @@ "optional": true }, "node_modules/zrender": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.5.0.tgz", - "integrity": "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.0.tgz", + "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==", "dependencies": { "tslib": "2.3.0" } @@ -20322,9 +20322,9 @@ } }, "zrender": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.5.0.tgz", - "integrity": "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.0.tgz", + "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==", "requires": { "tslib": "2.3.0" } diff --git a/package.json b/package.json index 6b25aab43..6bf77c7e9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "echarts", - "version": "5.5.0", + "version": "5.6.0", "description": "Apache ECharts is a powerful, interactive charting and data visualization library for browser", "license": "Apache-2.0", "keywords": [ @@ -65,7 +65,7 @@ }, "dependencies": { "tslib": "2.3.0", - "zrender": "5.5.0" + "zrender": "5.6.0" }, "devDependencies": { "@babel/code-frame": "7.10.4", diff --git a/src/core/echarts.ts b/src/core/echarts.ts index 1c7e4e038..5b5fbe432 100644 --- a/src/core/echarts.ts +++ b/src/core/echarts.ts @@ -137,10 +137,10 @@ declare let global: any; type ModelFinder = modelUtil.ModelFinder; -export const version = '5.5.0'; +export const version = '5.6.0'; export const dependencies = { - zrender: '5.5.0' + zrender: '5.6.0' }; const TEST_FRAME_REMAIN_TIME = 1; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
