|
176 | 176 | else { |
177 | 177 | text = text || ''; |
178 | 178 | font = font || DEFAULT_FONT; |
179 | | - var res = /(\d+)px/.exec(font); |
| 179 | + var res = /((?:\d+)?\.?\d*)px/.exec(font); |
180 | 180 | var fontSize = res && +res[1] || DEFAULT_FONT_SIZE; |
181 | 181 | var width = 0; |
182 | 182 | if (font.indexOf('mono') >= 0) { |
|
7370 | 7370 | function registerSSRDataGetter(getter) { |
7371 | 7371 | ssrDataGetter = getter; |
7372 | 7372 | } |
7373 | | - var version = '5.5.0'; |
| 7373 | + var version = '5.6.0'; |
7374 | 7374 |
|
7375 | 7375 | var zrender = /*#__PURE__*/Object.freeze({ |
7376 | 7376 | __proto__: null, |
@@ -16102,13 +16102,15 @@ |
16102 | 16102 | var m = date[minutesGetterName(isUTC)](); |
16103 | 16103 | var s = date[secondsGetterName(isUTC)](); |
16104 | 16104 | var S = date[millisecondsGetterName(isUTC)](); |
| 16105 | + var a = H >= 12 ? 'pm' : 'am'; |
| 16106 | + var A = a.toUpperCase(); |
16105 | 16107 | var localeModel = lang instanceof Model ? lang : getLocaleModel(lang || SYSTEM_LANG) || getDefaultLocaleModel(); |
16106 | 16108 | var timeModel = localeModel.getModel('time'); |
16107 | 16109 | var month = timeModel.get('month'); |
16108 | 16110 | var monthAbbr = timeModel.get('monthAbbr'); |
16109 | 16111 | var dayOfWeek = timeModel.get('dayOfWeek'); |
16110 | 16112 | var dayOfWeekAbbr = timeModel.get('dayOfWeekAbbr'); |
16111 | | - 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 + '').replace(/{mm}/g, pad(m, 2)).replace(/{m}/g, m + '').replace(/{ss}/g, pad(s, 2)).replace(/{s}/g, s + '').replace(/{SSS}/g, pad(S, 3)).replace(/{S}/g, S + ''); |
| 16113 | + 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(/{hh}/g, pad(h + '', 2)).replace(/{h}/g, h + '').replace(/{mm}/g, pad(m, 2)).replace(/{m}/g, m + '').replace(/{ss}/g, pad(s, 2)).replace(/{s}/g, s + '').replace(/{SSS}/g, pad(S, 3)).replace(/{S}/g, S + ''); |
16112 | 16114 | } |
16113 | 16115 | function leveledFormat(tick, idx, formatter, lang, isUTC) { |
16114 | 16116 | var template = null; |
|
17443 | 17445 | function detectValue(val) { |
17444 | 17446 | var beStr = isString(val); |
17445 | 17447 | // Consider usage convenience, '1', '2' will be treated as "number". |
17446 | | - // `isFinit('')` get `true`. |
17447 | | - if (val != null && isFinite(val) && val !== '') { |
| 17448 | + // `Number('')` (or any whitespace) is `0`. |
| 17449 | + if (val != null && Number.isFinite(Number(val)) && val !== '') { |
17448 | 17450 | return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not; |
17449 | 17451 | } else if (beStr && val !== '-') { |
17450 | 17452 | return BE_ORDINAL.Must; |
|
20203 | 20205 | return value == null || value === '' ? NaN |
20204 | 20206 | // If string (like '-'), using '+' parse to NaN |
20205 | 20207 | // If object, also parse to NaN |
20206 | | - : +value; |
| 20208 | + : Number(value); |
20207 | 20209 | } |
20208 | 20210 | var valueParserMap = createHashMap({ |
20209 | 20211 | 'number': function (val) { |
|
22463 | 22465 | var task = getCurrentTask(this); |
22464 | 22466 | if (task) { |
22465 | 22467 | var data = task.context.data; |
22466 | | - return dataType == null ? data : data.getLinkedData(dataType); |
| 22468 | + return dataType == null || !data.getLinkedData ? data : data.getLinkedData(dataType); |
22467 | 22469 | } else { |
22468 | 22470 | // When series is not alive (that may happen when click toolbox |
22469 | 22471 | // restore or setOption with not merge mode), series data may |
|
25937 | 25939 | return implsStore[name]; |
25938 | 25940 | } |
25939 | 25941 |
|
25940 | | - var version$1 = '5.5.0'; |
| 25942 | + var version$1 = '5.6.0'; |
25941 | 25943 | var dependencies = { |
25942 | | - zrender: '5.5.0' |
| 25944 | + zrender: '5.6.0' |
25943 | 25945 | }; |
25944 | 25946 | var TEST_FRAME_REMAIN_TIME = 1; |
25945 | 25947 | var PRIORITY_PROCESSOR_SERIES_FILTER = 800; |
@@ -31280,11 +31282,11 @@ |
31280 | 31282 | var value = store.get(stacked ? stackedDimIdx : valueDimIdx, dataIndex); |
31281 | 31283 | var baseValue = store.get(baseDimIdx, dataIndex); |
31282 | 31284 | var baseCoord = valueAxisStart; |
31283 | | - var startValue = void 0; |
| 31285 | + var stackStartValue = void 0; |
31284 | 31286 | // Because of the barMinHeight, we can not use the value in |
31285 | 31287 | // stackResultDimension directly. |
31286 | 31288 | if (stacked) { |
31287 | | - startValue = +value - store.get(valueDimIdx, dataIndex); |
| 31289 | + stackStartValue = +value - store.get(valueDimIdx, dataIndex); |
31288 | 31290 | } |
31289 | 31291 | var x = void 0; |
31290 | 31292 | var y = void 0; |
|
31293 | 31295 | if (isValueAxisH) { |
31294 | 31296 | var coord = cartesian.dataToPoint([value, baseValue]); |
31295 | 31297 | if (stacked) { |
31296 | | - var startCoord = cartesian.dataToPoint([startValue, baseValue]); |
| 31298 | + var startCoord = cartesian.dataToPoint([stackStartValue, baseValue]); |
31297 | 31299 | baseCoord = startCoord[0]; |
31298 | 31300 | } |
31299 | 31301 | x = baseCoord; |
|
31306 | 31308 | } else { |
31307 | 31309 | var coord = cartesian.dataToPoint([baseValue, value]); |
31308 | 31310 | if (stacked) { |
31309 | | - var startCoord = cartesian.dataToPoint([baseValue, startValue]); |
| 31311 | + var startCoord = cartesian.dataToPoint([baseValue, stackStartValue]); |
31310 | 31312 | baseCoord = startCoord[1]; |
31311 | 31313 | } |
31312 | 31314 | x = coord[0] + columnOffset; |
|
31359 | 31361 | } |
31360 | 31362 | // See cases in `test/bar-start.html` and `#7412`, `#8747`. |
31361 | 31363 | function getValueAxisStart(baseAxis, valueAxis) { |
31362 | | - return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? 1 : 0)); |
| 31364 | + var startValue = valueAxis.model.get('startValue'); |
| 31365 | + if (!startValue) { |
| 31366 | + startValue = 0; |
| 31367 | + } |
| 31368 | + return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? startValue > 0 ? startValue : 1 : startValue)); |
31363 | 31369 | } |
31364 | 31370 |
|
31365 | 31371 | // FIXME 公用? |
|
31951 | 31957 | this._dataMax = dataExtent[1]; |
31952 | 31958 | var isOrdinal = this._isOrdinal = scale.type === 'ordinal'; |
31953 | 31959 | this._needCrossZero = scale.type === 'interval' && model.getNeedCrossZero && model.getNeedCrossZero(); |
31954 | | - var modelMinRaw = this._modelMinRaw = model.get('min', true); |
| 31960 | + var axisMinValue = model.get('min', true); |
| 31961 | + if (axisMinValue == null) { |
| 31962 | + axisMinValue = model.get('startValue', true); |
| 31963 | + } |
| 31964 | + var modelMinRaw = this._modelMinRaw = axisMinValue; |
31955 | 31965 | if (isFunction(modelMinRaw)) { |
31956 | 31966 | // This callback always provides users the full data extent (before data is filtered). |
31957 | 31967 | this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw({ |
|
33002 | 33012 | }); |
33003 | 33013 |
|
33004 | 33014 | var inner$5 = makeInner(); |
| 33015 | + function tickValuesToNumbers(axis, values) { |
| 33016 | + var nums = map(values, function (val) { |
| 33017 | + return axis.scale.parse(val); |
| 33018 | + }); |
| 33019 | + if (axis.type === 'time' && nums.length > 0) { |
| 33020 | + // Time axis needs duplicate first/last tick (see TimeScale.getTicks()) |
| 33021 | + // The first and last tick/label don't get drawn |
| 33022 | + nums.sort(); |
| 33023 | + nums.unshift(nums[0]); |
| 33024 | + nums.push(nums[nums.length - 1]); |
| 33025 | + } |
| 33026 | + return nums; |
| 33027 | + } |
33005 | 33028 | function createAxisLabels(axis) { |
| 33029 | + var custom = axis.getLabelModel().get('customValues'); |
| 33030 | + if (custom) { |
| 33031 | + var labelFormatter_1 = makeLabelFormatter(axis); |
| 33032 | + return { |
| 33033 | + labels: tickValuesToNumbers(axis, custom).map(function (numval) { |
| 33034 | + var tick = { |
| 33035 | + value: numval |
| 33036 | + }; |
| 33037 | + return { |
| 33038 | + formattedLabel: labelFormatter_1(tick), |
| 33039 | + rawLabel: axis.scale.getLabel(tick), |
| 33040 | + tickValue: numval |
| 33041 | + }; |
| 33042 | + }) |
| 33043 | + }; |
| 33044 | + } |
33006 | 33045 | // Only ordinal scale support tick interval |
33007 | 33046 | return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis); |
33008 | 33047 | } |
|
33015 | 33054 | * } |
33016 | 33055 | */ |
33017 | 33056 | function createAxisTicks(axis, tickModel) { |
| 33057 | + var custom = axis.getTickModel().get('customValues'); |
| 33058 | + if (custom) { |
| 33059 | + return { |
| 33060 | + ticks: tickValuesToNumbers(axis, custom) |
| 33061 | + }; |
| 33062 | + } |
33018 | 33063 | // Only ordinal scale support tick interval |
33019 | 33064 | return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : { |
33020 | 33065 | ticks: map(axis.scale.getTicks(), function (tick) { |
|
40359 | 40404 | var halfPadAngle = dir * padAngle / 2; |
40360 | 40405 | normalizeArcAngles(angles, !clockwise); |
40361 | 40406 | startAngle = angles[0], endAngle = angles[1]; |
| 40407 | + var layoutData = getSeriesLayoutData(seriesModel); |
| 40408 | + layoutData.startAngle = startAngle; |
| 40409 | + layoutData.endAngle = endAngle; |
| 40410 | + layoutData.clockwise = clockwise; |
40362 | 40411 | var angleRange = Math.abs(endAngle - startAngle); |
40363 | 40412 | // In the case some sector angle is smaller than minAngle |
40364 | 40413 | var restAngle = angleRange; |
|
40467 | 40516 | } |
40468 | 40517 | }); |
40469 | 40518 | } |
| 40519 | + var getSeriesLayoutData = makeInner(); |
40470 | 40520 |
|
40471 | 40521 | /* |
40472 | 40522 | * Licensed to the Apache Software Foundation (ASF) under one |
|
41147 | 41197 | } |
41148 | 41198 | // when all data are filtered, show lightgray empty circle |
41149 | 41199 | if (data.count() === 0 && seriesModel.get('showEmptyCircle')) { |
| 41200 | + var layoutData = getSeriesLayoutData(seriesModel); |
41150 | 41201 | var sector = new Sector({ |
41151 | | - shape: getBasicPieLayout(seriesModel, api) |
| 41202 | + shape: extend(getBasicPieLayout(seriesModel, api), layoutData) |
41152 | 41203 | }); |
41153 | 41204 | sector.useStyle(seriesModel.getModel('emptyCircleStyle').getItemStyle()); |
41154 | 41205 | this._emptyCircleSector = sector; |
|
47990 | 48041 | return featureName.indexOf('my') === 0; |
47991 | 48042 | } |
47992 | 48043 |
|
47993 | | - /* global window, document */ |
47994 | 48044 | var SaveAsImage = /** @class */function (_super) { |
47995 | 48045 | __extends(SaveAsImage, _super); |
47996 | 48046 | function SaveAsImage() { |
|
48010 | 48060 | }); |
48011 | 48061 | var browser = env.browser; |
48012 | 48062 | // Chrome, Firefox, New Edge |
48013 | | - if (isFunction(MouseEvent) && (browser.newEdge || !browser.ie && !browser.edge)) { |
| 48063 | + if (typeof MouseEvent === 'function' && (browser.newEdge || !browser.ie && !browser.edge)) { |
48014 | 48064 | var $a = document.createElement('a'); |
48015 | 48065 | $a.download = title + '.' + type; |
48016 | 48066 | $a.target = '_blank'; |
|
51787 | 51837 | MarkerModel.prototype.setData = function (data) { |
51788 | 51838 | this._data = data; |
51789 | 51839 | }; |
| 51840 | + MarkerModel.prototype.getDataParams = function (dataIndex, dataType) { |
| 51841 | + var params = DataFormatMixin.prototype.getDataParams.call(this, dataIndex, dataType); |
| 51842 | + var hostSeries = this.__hostSeries; |
| 51843 | + if (hostSeries) { |
| 51844 | + params.seriesId = hostSeries.id; |
| 51845 | + params.seriesName = hostSeries.name; |
| 51846 | + params.seriesType = hostSeries.subType; |
| 51847 | + } |
| 51848 | + return params; |
| 51849 | + }; |
51790 | 51850 | MarkerModel.getMarkerModelFromSeries = function (seriesModel, |
51791 | 51851 | // Support three types of markers. Strict check. |
51792 | 51852 | componentType) { |
@@ -56267,13 +56327,17 @@ |
56267 | 56327 | } |
56268 | 56328 | } |
56269 | 56329 | function setLabel() { |
| 56330 | + var dom = api.getZr().dom; |
| 56331 | + // TODO: support for SSR |
| 56332 | + if (!dom) { |
| 56333 | + return; |
| 56334 | + } |
56270 | 56335 | var labelLocale = ecModel.getLocaleModel().get('aria'); |
56271 | 56336 | var labelModel = ariaModel.getModel('label'); |
56272 | 56337 | labelModel.option = defaults(labelModel.option, labelLocale); |
56273 | 56338 | if (!labelModel.get('enabled')) { |
56274 | 56339 | return; |
56275 | 56340 | } |
56276 | | - var dom = api.getZr().dom; |
56277 | 56341 | if (labelModel.get('description')) { |
56278 | 56342 | dom.setAttribute('aria-label', labelModel.get('description')); |
56279 | 56343 | return; |
|
0 commit comments