Skip to content

Commit 2caf684

Browse files
authored
Merge pull request #20039 from apache/release-dev
Release 5.5.1
2 parents 9557620 + 34889d9 commit 2caf684

24 files changed

+684
-161
lines changed

dist/echarts.common.js

Lines changed: 95 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@
176176
else {
177177
text = text || '';
178178
font = font || DEFAULT_FONT;
179-
var res = /(\d+)px/.exec(font);
179+
var res = /((?:\d+)?\.?\d*)px/.exec(font);
180180
var fontSize = res && +res[1] || DEFAULT_FONT_SIZE;
181181
var width = 0;
182182
if (font.indexOf('mono') >= 0) {
@@ -7370,7 +7370,7 @@
73707370
function registerSSRDataGetter(getter) {
73717371
ssrDataGetter = getter;
73727372
}
7373-
var version = '5.5.0';
7373+
var version = '5.6.0';
73747374

73757375
var zrender = /*#__PURE__*/Object.freeze({
73767376
__proto__: null,
@@ -14837,6 +14837,7 @@
1483714837
name: itemName,
1483814838
option: defaults({
1483914839
content: itemName,
14840+
encodeHTMLContent: true,
1484014841
formatterParams: formatterParams
1484114842
}, itemTooltipOptionObj)
1484214843
};
@@ -16102,13 +16103,15 @@
1610216103
var m = date[minutesGetterName(isUTC)]();
1610316104
var s = date[secondsGetterName(isUTC)]();
1610416105
var S = date[millisecondsGetterName(isUTC)]();
16106+
var a = H >= 12 ? 'pm' : 'am';
16107+
var A = a.toUpperCase();
1610516108
var localeModel = lang instanceof Model ? lang : getLocaleModel(lang || SYSTEM_LANG) || getDefaultLocaleModel();
1610616109
var timeModel = localeModel.getModel('time');
1610716110
var month = timeModel.get('month');
1610816111
var monthAbbr = timeModel.get('monthAbbr');
1610916112
var dayOfWeek = timeModel.get('dayOfWeek');
1611016113
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 + '');
16114+
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 + '');
1611216115
}
1611316116
function leveledFormat(tick, idx, formatter, lang, isUTC) {
1611416117
var template = null;
@@ -17443,8 +17446,8 @@
1744317446
function detectValue(val) {
1744417447
var beStr = isString(val);
1744517448
// Consider usage convenience, '1', '2' will be treated as "number".
17446-
// `isFinit('')` get `true`.
17447-
if (val != null && isFinite(val) && val !== '') {
17449+
// `Number('')` (or any whitespace) is `0`.
17450+
if (val != null && Number.isFinite(Number(val)) && val !== '') {
1744817451
return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not;
1744917452
} else if (beStr && val !== '-') {
1745017453
return BE_ORDINAL.Must;
@@ -20203,7 +20206,7 @@
2020320206
return value == null || value === '' ? NaN
2020420207
// If string (like '-'), using '+' parse to NaN
2020520208
// If object, also parse to NaN
20206-
: +value;
20209+
: Number(value);
2020720210
}
2020820211
var valueParserMap = createHashMap({
2020920212
'number': function (val) {
@@ -22463,7 +22466,7 @@
2246322466
var task = getCurrentTask(this);
2246422467
if (task) {
2246522468
var data = task.context.data;
22466-
return dataType == null ? data : data.getLinkedData(dataType);
22469+
return dataType == null || !data.getLinkedData ? data : data.getLinkedData(dataType);
2246722470
} else {
2246822471
// When series is not alive (that may happen when click toolbox
2246922472
// restore or setOption with not merge mode), series data may
@@ -25937,9 +25940,9 @@
2593725940
return implsStore[name];
2593825941
}
2593925942

25940-
var version$1 = '5.5.0';
25943+
var version$1 = '5.5.1';
2594125944
var dependencies = {
25942-
zrender: '5.5.0'
25945+
zrender: '5.6.0'
2594325946
};
2594425947
var TEST_FRAME_REMAIN_TIME = 1;
2594525948
var PRIORITY_PROCESSOR_SERIES_FILTER = 800;
@@ -31280,11 +31283,11 @@
3128031283
var value = store.get(stacked ? stackedDimIdx : valueDimIdx, dataIndex);
3128131284
var baseValue = store.get(baseDimIdx, dataIndex);
3128231285
var baseCoord = valueAxisStart;
31283-
var startValue = void 0;
31286+
var stackStartValue = void 0;
3128431287
// Because of the barMinHeight, we can not use the value in
3128531288
// stackResultDimension directly.
3128631289
if (stacked) {
31287-
startValue = +value - store.get(valueDimIdx, dataIndex);
31290+
stackStartValue = +value - store.get(valueDimIdx, dataIndex);
3128831291
}
3128931292
var x = void 0;
3129031293
var y = void 0;
@@ -31293,7 +31296,7 @@
3129331296
if (isValueAxisH) {
3129431297
var coord = cartesian.dataToPoint([value, baseValue]);
3129531298
if (stacked) {
31296-
var startCoord = cartesian.dataToPoint([startValue, baseValue]);
31299+
var startCoord = cartesian.dataToPoint([stackStartValue, baseValue]);
3129731300
baseCoord = startCoord[0];
3129831301
}
3129931302
x = baseCoord;
@@ -31306,7 +31309,7 @@
3130631309
} else {
3130731310
var coord = cartesian.dataToPoint([baseValue, value]);
3130831311
if (stacked) {
31309-
var startCoord = cartesian.dataToPoint([baseValue, startValue]);
31312+
var startCoord = cartesian.dataToPoint([baseValue, stackStartValue]);
3131031313
baseCoord = startCoord[1];
3131131314
}
3131231315
x = coord[0] + columnOffset;
@@ -31359,7 +31362,11 @@
3135931362
}
3136031363
// See cases in `test/bar-start.html` and `#7412`, `#8747`.
3136131364
function getValueAxisStart(baseAxis, valueAxis) {
31362-
return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? 1 : 0));
31365+
var startValue = valueAxis.model.get('startValue');
31366+
if (!startValue) {
31367+
startValue = 0;
31368+
}
31369+
return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? startValue > 0 ? startValue : 1 : startValue));
3136331370
}
3136431371

3136531372
// FIXME 公用?
@@ -31951,7 +31958,11 @@
3195131958
this._dataMax = dataExtent[1];
3195231959
var isOrdinal = this._isOrdinal = scale.type === 'ordinal';
3195331960
this._needCrossZero = scale.type === 'interval' && model.getNeedCrossZero && model.getNeedCrossZero();
31954-
var modelMinRaw = this._modelMinRaw = model.get('min', true);
31961+
var axisMinValue = model.get('min', true);
31962+
if (axisMinValue == null) {
31963+
axisMinValue = model.get('startValue', true);
31964+
}
31965+
var modelMinRaw = this._modelMinRaw = axisMinValue;
3195531966
if (isFunction(modelMinRaw)) {
3195631967
// This callback always provides users the full data extent (before data is filtered).
3195731968
this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw({
@@ -33002,7 +33013,36 @@
3300233013
});
3300333014

3300433015
var inner$5 = makeInner();
33016+
function tickValuesToNumbers(axis, values) {
33017+
var nums = map(values, function (val) {
33018+
return axis.scale.parse(val);
33019+
});
33020+
if (axis.type === 'time' && nums.length > 0) {
33021+
// Time axis needs duplicate first/last tick (see TimeScale.getTicks())
33022+
// The first and last tick/label don't get drawn
33023+
nums.sort();
33024+
nums.unshift(nums[0]);
33025+
nums.push(nums[nums.length - 1]);
33026+
}
33027+
return nums;
33028+
}
3300533029
function createAxisLabels(axis) {
33030+
var custom = axis.getLabelModel().get('customValues');
33031+
if (custom) {
33032+
var labelFormatter_1 = makeLabelFormatter(axis);
33033+
return {
33034+
labels: tickValuesToNumbers(axis, custom).map(function (numval) {
33035+
var tick = {
33036+
value: numval
33037+
};
33038+
return {
33039+
formattedLabel: labelFormatter_1(tick),
33040+
rawLabel: axis.scale.getLabel(tick),
33041+
tickValue: numval
33042+
};
33043+
})
33044+
};
33045+
}
3300633046
// Only ordinal scale support tick interval
3300733047
return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis);
3300833048
}
@@ -33015,6 +33055,12 @@
3301533055
* }
3301633056
*/
3301733057
function createAxisTicks(axis, tickModel) {
33058+
var custom = axis.getTickModel().get('customValues');
33059+
if (custom) {
33060+
return {
33061+
ticks: tickValuesToNumbers(axis, custom)
33062+
};
33063+
}
3301833064
// Only ordinal scale support tick interval
3301933065
return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : {
3302033066
ticks: map(axis.scale.getTicks(), function (tick) {
@@ -40359,6 +40405,10 @@
4035940405
var halfPadAngle = dir * padAngle / 2;
4036040406
normalizeArcAngles(angles, !clockwise);
4036140407
startAngle = angles[0], endAngle = angles[1];
40408+
var layoutData = getSeriesLayoutData(seriesModel);
40409+
layoutData.startAngle = startAngle;
40410+
layoutData.endAngle = endAngle;
40411+
layoutData.clockwise = clockwise;
4036240412
var angleRange = Math.abs(endAngle - startAngle);
4036340413
// In the case some sector angle is smaller than minAngle
4036440414
var restAngle = angleRange;
@@ -40467,6 +40517,7 @@
4046740517
}
4046840518
});
4046940519
}
40520+
var getSeriesLayoutData = makeInner();
4047040521

4047140522
/*
4047240523
* Licensed to the Apache Software Foundation (ASF) under one
@@ -41147,8 +41198,9 @@
4114741198
}
4114841199
// when all data are filtered, show lightgray empty circle
4114941200
if (data.count() === 0 && seriesModel.get('showEmptyCircle')) {
41201+
var layoutData = getSeriesLayoutData(seriesModel);
4115041202
var sector = new Sector({
41151-
shape: getBasicPieLayout(seriesModel, api)
41203+
shape: extend(getBasicPieLayout(seriesModel, api), layoutData)
4115241204
});
4115341205
sector.useStyle(seriesModel.getModel('emptyCircleStyle').getItemStyle());
4115441206
this._emptyCircleSector = sector;
@@ -47990,7 +48042,6 @@
4799048042
return featureName.indexOf('my') === 0;
4799148043
}
4799248044

47993-
/* global window, document */
4799448045
var SaveAsImage = /** @class */function (_super) {
4799548046
__extends(SaveAsImage, _super);
4799648047
function SaveAsImage() {
@@ -48010,7 +48061,7 @@
4801048061
});
4801148062
var browser = env.browser;
4801248063
// Chrome, Firefox, New Edge
48013-
if (isFunction(MouseEvent) && (browser.newEdge || !browser.ie && !browser.edge)) {
48064+
if (typeof MouseEvent === 'function' && (browser.newEdge || !browser.ie && !browser.edge)) {
4801448065
var $a = document.createElement('a');
4801548066
$a.download = title + '.' + type;
4801648067
$a.target = '_blank';
@@ -51105,16 +51156,27 @@
5110551156
});
5110651157
};
5110751158
TooltipView.prototype._showComponentItemTooltip = function (e, el, dispatchAction) {
51159+
var isHTMLRenderMode = this._renderMode === 'html';
5110851160
var ecData = getECData(el);
5110951161
var tooltipConfig = ecData.tooltipConfig;
5111051162
var tooltipOpt = tooltipConfig.option || {};
51163+
var encodeHTMLContent = tooltipOpt.encodeHTMLContent;
5111151164
if (isString(tooltipOpt)) {
5111251165
var content = tooltipOpt;
5111351166
tooltipOpt = {
5111451167
content: content,
5111551168
// Fixed formatter
5111651169
formatter: content
5111751170
};
51171+
// when `tooltipConfig.option` is a string rather than an object,
51172+
// we can't know if the content needs to be encoded
51173+
// for the sake of security, encode it by default.
51174+
encodeHTMLContent = true;
51175+
}
51176+
if (encodeHTMLContent && isHTMLRenderMode && tooltipOpt.content) {
51177+
// clone might be unnecessary?
51178+
tooltipOpt = clone(tooltipOpt);
51179+
tooltipOpt.content = encodeHTML(tooltipOpt.content);
5111851180
}
5111951181
var tooltipModelCascade = [tooltipOpt];
5112051182
var cmpt = this._ecModel.getComponent(ecData.componentMainType, ecData.componentIndex);
@@ -51787,6 +51849,16 @@
5178751849
MarkerModel.prototype.setData = function (data) {
5178851850
this._data = data;
5178951851
};
51852+
MarkerModel.prototype.getDataParams = function (dataIndex, dataType) {
51853+
var params = DataFormatMixin.prototype.getDataParams.call(this, dataIndex, dataType);
51854+
var hostSeries = this.__hostSeries;
51855+
if (hostSeries) {
51856+
params.seriesId = hostSeries.id;
51857+
params.seriesName = hostSeries.name;
51858+
params.seriesType = hostSeries.subType;
51859+
}
51860+
return params;
51861+
};
5179051862
MarkerModel.getMarkerModelFromSeries = function (seriesModel,
5179151863
// Support three types of markers. Strict check.
5179251864
componentType) {
@@ -56267,13 +56339,17 @@
5626756339
}
5626856340
}
5626956341
function setLabel() {
56342+
var dom = api.getZr().dom;
56343+
// TODO: support for SSR
56344+
if (!dom) {
56345+
return;
56346+
}
5627056347
var labelLocale = ecModel.getLocaleModel().get('aria');
5627156348
var labelModel = ariaModel.getModel('label');
5627256349
labelModel.option = defaults(labelModel.option, labelLocale);
5627356350
if (!labelModel.get('enabled')) {
5627456351
return;
5627556352
}
56276-
var dom = api.getZr().dom;
5627756353
if (labelModel.get('description')) {
5627856354
dom.setAttribute('aria-label', labelModel.get('description'));
5627956355
return;

dist/echarts.common.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/echarts.common.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)