tvcharts 0.6.21 → 0.6.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -75,6 +75,7 @@ var bgColorLayout = {
75
75
  var store = data.getStore();
76
76
  var dimIdx0 = data.getDimensionIndex(dims[0]);
77
77
  var xOffset = seriesModel.get("offset") || 0;
78
+ var showLast = seriesModel.get("showLast");
78
79
  return {
79
80
  progress: function (params, bgColorData) {
80
81
  var rectsByColor = {};
@@ -83,7 +84,11 @@ var bgColorLayout = {
83
84
  var _a = getHeight(seriesModel),
84
85
  height = _a.height,
85
86
  startY = _a.startY;
87
+ var lastIndex = bgColorData.count(true) - 1;
86
88
  for (var i = params.start; i < params.end; i++) {
89
+ if (showLast && lastIndex - bgColorData.getRawIndex(i) >= showLast) {
90
+ continue;
91
+ }
87
92
  var itemModel = bgColorData.getItemModel(i);
88
93
  var color = itemModel.get("itemStyle").color;
89
94
  if (!color) {
@@ -71,6 +71,7 @@ var fillsLayout = {
71
71
  // });
72
72
  var fillgaps = seriesModel.get("fillgaps");
73
73
  var isMonoHline = seriesModel.get("isMonoHline");
74
+ var showLast = seriesModel.get("showLast");
74
75
  var dimIdx0 = 0;
75
76
  var dimIdP1 = 1;
76
77
  var dimIdP2 = 2;
@@ -100,7 +101,11 @@ var fillsLayout = {
100
101
  var lastKey = "";
101
102
  var plot1Points = [];
102
103
  var plot2Points = [];
104
+ var lastIndex = fillsData.count(true) - 1;
103
105
  for (var i = params.start; i < params.end; i++) {
106
+ if (showLast && lastIndex - fillsData.getRawIndex(i) >= showLast) {
107
+ continue;
108
+ }
104
109
  var last = i + 1 === params.end;
105
110
  var get = last ? "getByRawIndex" : "get";
106
111
  var index = last ? fillsData.getRawIndex(i) : i;
@@ -78,13 +78,18 @@ var labelsLayout = {
78
78
  var dimIdx1 = data.getDimensionIndex(dims[1]);
79
79
  var xOffset = seriesModel.get("offset") || 0;
80
80
  var price = getYByLocation(seriesModel);
81
+ var showLast = seriesModel.get("showLast");
81
82
  return {
82
83
  progress: function (params, labelsData) {
83
84
  // const segCount = params.end - params.start;
84
85
  // const points = createFloat32Array(segCount * dimLen);
85
86
  var tmpIn = [];
86
87
  var tmpOut = [];
88
+ var lastIndex = data.count(true) - 1;
87
89
  for (var i = params.start; i < params.end; i++) {
90
+ if (showLast && lastIndex - data.getRawIndex(i) >= showLast) {
91
+ continue;
92
+ }
88
93
  tmpIn[0] = store.get(dimIdx0, i) + xOffset;
89
94
  tmpIn[1] = store.get(dimIdx1, i);
90
95
  // Let coordinate system to handle the NaN data.
@@ -104,6 +104,7 @@ var LabelsVisual = {
104
104
  var data = seriesModel.getData();
105
105
  // const bandWidth = getBandWidth(seriesModel, data);
106
106
  var location = seriesModel.get('location');
107
+ var showLast = seriesModel.get("showLast");
107
108
  var symbolOptions = {};
108
109
  // const symbolOptionsCb = {} as Record<(typeof SYMBOL_PROPS_WITH_CB)[number], any>;
109
110
  for (var i = 0; i < SYMBOL_PROPS_WITH_CB.length; i++) {
@@ -116,8 +117,12 @@ var LabelsVisual = {
116
117
  // legendIcon: seriesModel.legendIcon || symbolOptions.symbol,
117
118
  symbolKeepAspect: seriesModel.get('symbolKeepAspect')
118
119
  }, symbolOptions));
120
+ var lastIndex = data.count(true) - 1;
119
121
  function dataEach(data, idx) {
120
122
  var _a;
123
+ if (showLast && lastIndex - data.getRawIndex(idx) >= showLast) {
124
+ return;
125
+ }
121
126
  var itemModel = data.getItemModel(idx);
122
127
  var symbol = itemModel.getShallow('symbol');
123
128
  var symbolSize = itemModel.getShallow('symbolSize');
@@ -77,7 +77,8 @@ var linesPlotLayout = {
77
77
  var xOffset = seriesModel.get("offset") || 0;
78
78
  var symbolVisible = seriesModel.get("symbolVisible");
79
79
  var symbolSize = seriesModel.get("symbolSize");
80
- var globalSymbol = seriesModel.get('symbol');
80
+ var showLast = seriesModel.get("showLast");
81
+ // const globalSymbol = seriesModel.get('symbol')
81
82
  return {
82
83
  progress: function (params, lineData) {
83
84
  // const lineCoords: number[][] = [];
@@ -87,7 +88,7 @@ var linesPlotLayout = {
87
88
  var symbolPointsByColor = {};
88
89
  // const allLinePoints = [];
89
90
  var lastKey = "";
90
- var offset = 0;
91
+ // let offset = 0;
91
92
  var stroke = seriesModel.getLineStyle().stroke;
92
93
  var defaultColor = Array.isArray(stroke) ? stroke[0] : stroke;
93
94
  function setSymbolPoint(point, index) {
@@ -108,8 +109,12 @@ var linesPlotLayout = {
108
109
  });
109
110
  symbolPointsByColor[symbolKey] = symbolData;
110
111
  }
112
+ var lastIndex = data.count(true) - 1;
111
113
  for (var i = params.start; i < params.end; i++) {
112
- var isRawLast = i + 1 === params.end ? data.getRawIndex(i) === data.count(true) - 1 : false;
114
+ if (showLast && lastIndex - data.getRawIndex(i) >= showLast) {
115
+ continue;
116
+ }
117
+ var isRawLast = i + 1 === params.end ? data.getRawIndex(i) === lastIndex : false;
113
118
  var isRawFirst = i === 0 ? data.getRawIndex(i) === 0 : false;
114
119
  var x = store.get(dimIdx0, i);
115
120
  var y = store.get(dimIdx1, i);
@@ -126,8 +131,9 @@ var linesPlotLayout = {
126
131
  var nextPoint = [];
127
132
  // pts[1] = coordSys.dataToPoint([nextX, nextY]);
128
133
  if (!isSingle && isRawLast) {
129
- var lastPoints = linePointsByKey[lastKey];
134
+ var lastPoints = linePointsByKey[lastKey] || [];
130
135
  lastPoints.push(point);
136
+ // linePointsByKey[lastKey] = lastPoints;
131
137
  break;
132
138
  }
133
139
  var isStep = step && !isRawFirst && !isRawLast;
@@ -207,7 +207,8 @@ var triggerSelectItem = function (_a) {
207
207
  _b = _a.eventObj,
208
208
  eventObj = _b === void 0 ? {} : _b;
209
209
  var data = getSeriesPointData(ecModel, {
210
- dataIndex: eventObj.dataIndexInside
210
+ dataIndex: eventObj.dataIndexInside,
211
+ rawDataIndex: eventObj.dataIndex
211
212
  });
212
213
  messageCenter.trigger('selectitem', {
213
214
  data: data,
@@ -221,7 +222,7 @@ var ECharts = /** @class */function (_super) {
221
222
  // Theme name or themeOption.
222
223
  theme, opts) {
223
224
  var _this = _super.call(this, new ECEventProcessor()) || this;
224
- _this._throttledSelectItem = throttle(triggerSelectItem, 60);
225
+ _this._throttledSelectItem = throttle(triggerSelectItem, 80);
225
226
  _this._chartsViews = [];
226
227
  _this._chartsMap = {};
227
228
  _this._componentsViews = [];
@@ -1124,8 +1125,11 @@ var ECharts = /** @class */function (_super) {
1124
1125
  this._scheduler.unfinished = true;
1125
1126
  this.getZr().wakeUp();
1126
1127
  };
1127
- ECharts.prototype.updateData = function (batch) {
1128
+ ECharts.prototype.updateData = function (batch, silent) {
1128
1129
  var _this = this;
1130
+ if (silent === void 0) {
1131
+ silent = false;
1132
+ }
1129
1133
  if (this._disposed) {
1130
1134
  disposedWarning(this.id);
1131
1135
  return;
@@ -1133,26 +1137,32 @@ var ECharts = /** @class */function (_super) {
1133
1137
  var firstSeriesModel = void 0;
1134
1138
  var isUpdateData = false;
1135
1139
  each(batch, function (params, index) {
1140
+ var ecModel = _this.getModel();
1136
1141
  var seriesIndex = params.seriesIndex;
1137
1142
  var seriesName = params.seriesName;
1143
+ if (params.type === "component") {
1144
+ var tableModal = ecModel.findComponents({
1145
+ mainType: 'table'
1146
+ })[0];
1147
+ console.log('%c [ tableModal ]-1621', 'font-size:13px; background:pink; color:#bf2c9f;', tableModal);
1148
+ // tableModal.option.data =
1149
+ return;
1150
+ }
1138
1151
  // const isMain = params.type === "symbol"
1139
- var ecModel = _this.getModel();
1140
1152
  var seriesModel = seriesIndex !== void 0 ? ecModel.getSeriesByIndex(seriesIndex) : ecModel.getSeriesByName(seriesName)[0];
1141
1153
  if (process.env.NODE_ENV !== 'production') {
1142
1154
  assert(params.data && seriesModel);
1143
1155
  }
1144
1156
  var seriesData = seriesModel.getData();
1145
1157
  var lastIndex = seriesData.count(true) - 1;
1146
- // const id = seriesData.getId(lastIndex, true);
1147
- // const id = seriesData.getName(lastIndex, true);
1148
- var paramId = params.data[0][0];
1158
+ // const paramId = params.data[0][0];
1149
1159
  var scale = seriesModel.coordinateSystem.getBaseAxis().scale;
1150
1160
  var ordinalMeta = scale.getOrdinalMeta();
1151
- var id = ordinalMeta.getLastCategories();
1161
+ // const id = ordinalMeta.getLastCategories();
1152
1162
  // eslint-disable-next-line
1153
- var isUpdate = params.operation !== undefined ? params.operation === "update" : id == paramId;
1163
+ var isUpdate = params.operation === "update";
1154
1164
  if (isUpdate) {
1155
- seriesModel.updateData({
1165
+ seriesModel.updateValue({
1156
1166
  data: map(params.data, function (item, index) {
1157
1167
  var idx = lastIndex + index;
1158
1168
  seriesModel.option.data[idx] = item.slice(1);
@@ -1161,17 +1171,34 @@ var ECharts = /** @class */function (_super) {
1161
1171
  })
1162
1172
  });
1163
1173
  isUpdateData = true;
1164
- } else {
1174
+ } else if (params.operation === "script") {
1165
1175
  var categories_1 = [];
1176
+ var data = map(params.data, function (item, index) {
1177
+ var idx = lastIndex + index;
1178
+ // (seriesModel.option.data as any)[idx] = item;
1179
+ if (index !== 0) {
1180
+ categories_1.push(item.value[0]);
1181
+ }
1182
+ item.value[0] = idx;
1183
+ return item;
1184
+ });
1185
+ if (params.isMainSeries && data.length > 1) {
1186
+ ordinalMeta.appendData(categories_1);
1187
+ }
1188
+ seriesModel.updateData({
1189
+ data: data
1190
+ });
1191
+ } else {
1192
+ var categories_2 = [];
1166
1193
  var formatData = map(params.data, function (item) {
1167
1194
  var idx = lastIndex + index + 1;
1168
1195
  seriesModel.option.data[idx] = item.slice(1);
1169
- categories_1.push(item[0]);
1196
+ categories_2.push(item[0]);
1170
1197
  item[0] = idx;
1171
1198
  return item;
1172
1199
  });
1173
1200
  if (params.isMainSeries) {
1174
- ordinalMeta.appendData(categories_1);
1201
+ ordinalMeta.appendData(categories_2);
1175
1202
  }
1176
1203
  seriesModel.appendData({
1177
1204
  data: formatData
@@ -1181,13 +1208,17 @@ var ECharts = /** @class */function (_super) {
1181
1208
  firstSeriesModel = seriesModel;
1182
1209
  }
1183
1210
  });
1211
+ if (!firstSeriesModel) {
1212
+ return;
1213
+ }
1184
1214
  var coordSys = firstSeriesModel.coordinateSystem;
1185
1215
  var baseAxis = coordSys.getBaseAxis();
1186
1216
  var scale = baseAxis.scale;
1217
+ var isMove = !isUpdateData && scale.lastBarRightSideDiffBarCount < 1.5;
1187
1218
  var payload = {
1188
1219
  type: 'dataZoom',
1189
1220
  barSpace: scale.barSpace,
1190
- lastBarRightSideDiffBarCount: !isUpdateData && scale.lastBarRightSideDiffBarCount < 1.5 ? scale.lastBarRightSideDiffBarCount - 1 : scale.lastBarRightSideDiffBarCount
1221
+ lastBarRightSideDiffBarCount: isMove ? scale.lastBarRightSideDiffBarCount - 1 : scale.lastBarRightSideDiffBarCount
1191
1222
  };
1192
1223
  doDispatchAction.call(this, payload, true);
1193
1224
  };
@@ -1870,11 +1901,13 @@ var ECharts = /** @class */function (_super) {
1870
1901
  // If use hover layer
1871
1902
  updateHoverLayerStatus(ecIns, ecModel);
1872
1903
  // todo 这个数据推送先这样
1873
- var data = getSeriesPointData(ecModel);
1874
- var messageCenter = ecIns._messageCenter;
1875
- messageCenter.trigger('selectitem', {
1876
- data: data,
1877
- type: 'series'
1904
+ // const data = getSeriesPointData(ecModel);
1905
+ // const messageCenter = ecIns._messageCenter;
1906
+ // messageCenter.trigger('selectitem', { data, type: 'series' });
1907
+ ecIns._throttledSelectItem({
1908
+ messageCenter: ecIns._messageCenter,
1909
+ ecModel: ecModel,
1910
+ type: "series"
1878
1911
  });
1879
1912
  lifecycle.trigger('series:afterupdate', ecModel, api, updateParams);
1880
1913
  };
@@ -237,6 +237,23 @@ var DataStore = /** @class */function () {
237
237
  }
238
238
  return [start, end];
239
239
  };
240
+ DataStore.prototype.updateData = function (data) {
241
+ if (process.env.NODE_ENV !== 'production') {
242
+ assert(!this._indices, 'appendData can only be called on raw data.');
243
+ }
244
+ var provider = this._provider;
245
+ var start = this.count();
246
+ var update = provider.updateData(data).update;
247
+ var end = provider.count();
248
+ start = start - update;
249
+ if (!provider.persistent) {
250
+ end += start;
251
+ }
252
+ if (start < end) {
253
+ this._initDataFromProvider(start, end, true);
254
+ }
255
+ return [start, end];
256
+ };
240
257
  DataStore.prototype.appendValues = function (values, minFillLen) {
241
258
  var chunks = this._chunks;
242
259
  var dimensions = this._dimensions;
@@ -346,6 +346,13 @@ var SeriesData = /** @class */function () {
346
346
  var range = this._store.appendData(data);
347
347
  this._doInit(range[0], range[1]);
348
348
  };
349
+ /**
350
+ * Caution: Can be only called on raw data (before `this._indices` created).
351
+ */
352
+ SeriesData.prototype.updateData = function (data) {
353
+ var range = this._store.updateData(data);
354
+ this._doInit(range[0], range[1]);
355
+ };
349
356
  SeriesData.prototype.updateValue = function (value) {
350
357
  this._store.updateValue(value);
351
358
  };
@@ -85,6 +85,11 @@ var DefaultDataProvider = /** @class */function () {
85
85
  return;
86
86
  };
87
87
  DefaultDataProvider.prototype.appendData = function (newData) {};
88
+ DefaultDataProvider.prototype.updateData = function (newData) {
89
+ return {
90
+ update: 0
91
+ };
92
+ };
88
93
  DefaultDataProvider.prototype.clean = function () {};
89
94
  DefaultDataProvider.protoInitialize = function () {
90
95
  // PENDING: To avoid potential incompat (e.g., prototype
@@ -152,7 +157,8 @@ var DefaultDataProvider = /** @class */function () {
152
157
  };
153
158
  providerMethods = (_a = {}, _a[SOURCE_FORMAT_ARRAY_ROWS + '_' + SERIES_LAYOUT_BY_COLUMN] = {
154
159
  pure: true,
155
- appendData: appendDataSimply
160
+ appendData: appendDataSimply,
161
+ updateData: updateDataSimply
156
162
  }, _a[SOURCE_FORMAT_ARRAY_ROWS + '_' + SERIES_LAYOUT_BY_ROW] = {
157
163
  pure: true,
158
164
  appendData: function () {
@@ -160,7 +166,8 @@ var DefaultDataProvider = /** @class */function () {
160
166
  }
161
167
  }, _a[SOURCE_FORMAT_OBJECT_ROWS] = {
162
168
  pure: true,
163
- appendData: appendDataSimply
169
+ appendData: appendDataSimply,
170
+ updateData: updateDataSimply
164
171
  }, _a[SOURCE_FORMAT_KEYED_COLUMNS] = {
165
172
  pure: true,
166
173
  appendData: function (newData) {
@@ -173,7 +180,8 @@ var DefaultDataProvider = /** @class */function () {
173
180
  });
174
181
  }
175
182
  }, _a[SOURCE_FORMAT_ORIGINAL] = {
176
- appendData: appendDataSimply
183
+ appendData: appendDataSimply,
184
+ updateData: updateDataSimply
177
185
  }, _a[SOURCE_FORMAT_TYPED_ARRAY] = {
178
186
  persistent: false,
179
187
  pure: true,
@@ -195,6 +203,35 @@ var DefaultDataProvider = /** @class */function () {
195
203
  this._data.push(newData[i]);
196
204
  }
197
205
  }
206
+ function updateDataSimply(newData) {
207
+ var data = this._data;
208
+ var lastIndex = data.length - 1;
209
+ var update = 0;
210
+ for (var i = 0; i < newData.length; i++) {
211
+ var ele = newData[i];
212
+ // if (Array.isArray(ele)) {
213
+ // if (ele[0] === data[lastIndex][0]) {
214
+ // data[lastIndex] = ele;
215
+ // update++;
216
+ // continue;
217
+ // }
218
+ // }
219
+ // else if (typeof ele === 'object' && Array.isArray(ele.value) && ele.value[0] == data[lastIndex].value[0]) {
220
+ // data[lastIndex] = ele;
221
+ // update++;
222
+ // continue;
223
+ // }
224
+ if (!update) {
225
+ data[lastIndex] = ele;
226
+ update++;
227
+ continue;
228
+ }
229
+ data.push(ele);
230
+ }
231
+ return {
232
+ update: update
233
+ };
234
+ }
198
235
  }();
199
236
  return DefaultDataProvider;
200
237
  }();
@@ -181,10 +181,14 @@ var SeriesModel = /** @class */function (_super) {
181
181
  var data = this.getRawData();
182
182
  data.appendData(params.data);
183
183
  };
184
- SeriesModel.prototype.updateData = function (params) {
184
+ SeriesModel.prototype.updateValue = function (params) {
185
185
  var data = this.getRawData();
186
186
  data.updateValue(params.data[0]);
187
187
  };
188
+ SeriesModel.prototype.updateData = function (params) {
189
+ var data = this.getRawData();
190
+ data.updateData(params.data);
191
+ };
188
192
  /**
189
193
  * Consider some method like `filter`, `map` need make new data,
190
194
  * We should make sure that `seriesModel.getData()` get correct
@@ -571,20 +571,29 @@ export function getSeriesPointData(ecModel, payload) {
571
571
  payload = {};
572
572
  }
573
573
  var seriesPointData = {};
574
+ var dataIndex = payload.dataIndex,
575
+ rawDataIndex = payload.rawDataIndex;
574
576
  // let id = '';
575
577
  ecModel.eachSeries(function (seriesModel) {
576
- var _a;
578
+ var _a, _b, _c;
577
579
  if (seriesModel.get('statusLineInvisible')) {
578
580
  return;
579
581
  }
580
582
  var formatter = seriesModel.get('formatter');
583
+ var offset = (_a = seriesModel.get('offset')) !== null && _a !== void 0 ? _a : 0;
584
+ var showLast = (_b = seriesModel.get('showLast')) !== null && _b !== void 0 ? _b : 0;
581
585
  var data = seriesModel.getData();
582
- var isRaw = !payload.dataIndex;
583
- var index = (_a = payload.dataIndex) !== null && _a !== void 0 ? _a : data.count(isRaw) - 1;
586
+ var isRaw = !dataIndex;
587
+ var lastIndex = data.count(true) - 1;
588
+ var index = dataIndex ? dataIndex - offset : rawDataIndex ? rawDataIndex - offset : lastIndex;
589
+ if (showLast && (isRaw ? index : data.getRawIndex(index)) <= lastIndex - showLast) {
590
+ index = lastIndex;
591
+ isRaw = true;
592
+ }
593
+ index = Math.min(lastIndex, index);
584
594
  var values = isRaw ? data.getValuesByRawIndex(index) : data.getValues(index);
585
- var color = data.getItemVisual(index, 'style').fill;
595
+ var color = (_c = data.getItemVisual(index, 'style')) === null || _c === void 0 ? void 0 : _c.fill;
586
596
  var isCandlesStick = seriesModel.subType === 'candlestick';
587
- var isLinesPlot = seriesModel.subType === 'linesPlot';
588
597
  var dim = seriesModel.subType === 'candlestick' ? 'close' : 'y';
589
598
  var fnKey = isRaw ? "getByRawIndex" : "get";
590
599
  if (isCandlesStick) {
@@ -596,9 +605,13 @@ export function getSeriesPointData(ecModel, payload) {
596
605
  if (fill) {
597
606
  color = fill;
598
607
  }
599
- } else if (isLinesPlot) {
608
+ } else if (['linesPlot', 'labels'].includes(seriesModel.subType)) {
609
+ var isLinesPlot = seriesModel.subType === 'linesPlot';
600
610
  var dataItem = data.getItemModel(index, isRaw);
601
- var fill = dataItem.get(['lineStyle', 'color']);
611
+ var fill = dataItem.get([isLinesPlot ? 'lineStyle' : 'itemStyle', 'color']);
612
+ if (!isLinesPlot) {
613
+ values = [index, dataItem.get('showValue')];
614
+ }
602
615
  if (fill) {
603
616
  color = fill;
604
617
  }
@@ -618,19 +631,16 @@ export function getSeriesPointData(ecModel, payload) {
618
631
  var changePercent = (diffValue / prevValue * 100).toFixed(2) + '%';
619
632
  var seriesId = seriesModel.id;
620
633
  var seriesName = seriesModel.name;
621
- // if (!id) {
622
- // const axisInfo = seriesModel.getBaseAxis();
623
- // id = axisInfo.scale.getLabel({ value: data.getRawIndex(index) })
624
- // }
625
634
  seriesPointData[seriesName] = {
626
635
  name: seriesName,
627
636
  data: values.map(function (item, index) {
628
- return formatter && index !== 0 ? formatter(item) : item;
637
+ return formatter && index !== 0 && item ? formatter(item) : item;
629
638
  }),
630
639
  color: color,
631
640
  seriesId: seriesId,
632
641
  changePercent: changePercent,
633
- diffValue: diffValue
642
+ diffValue: diffValue,
643
+ type: seriesModel.subType
634
644
  };
635
645
  });
636
646
  return seriesPointData;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tvcharts",
3
- "version": "0.6.21",
3
+ "version": "0.6.23",
4
4
  "description": "基于echarts5.5.0二次开发",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
@@ -4289,6 +4289,9 @@ declare class SeriesModel<Opt extends SeriesOption = SeriesOption> extends Compo
4289
4289
  appendData(params: {
4290
4290
  data: ArrayLike<any>;
4291
4291
  }): void;
4292
+ updateValue(params: {
4293
+ data: any[];
4294
+ }): void;
4292
4295
  updateData(params: {
4293
4296
  data: any[];
4294
4297
  }): void;
@@ -4452,6 +4455,7 @@ declare class DataStore {
4452
4455
  * Caution: Can be only called on raw data (before `this._indices` created).
4453
4456
  */
4454
4457
  appendData(data: ArrayLike<any>): number[];
4458
+ updateData(data: ArrayLike<any>): number[];
4455
4459
  appendValues(values: any[][], minFillLen?: number): {
4456
4460
  start: number;
4457
4461
  end: number;
@@ -4995,6 +4999,9 @@ interface DataProvider {
4995
4999
  getItem(idx: number, out?: OptionDataItem): OptionDataItem;
4996
5000
  fillStorage?(start: number, end: number, out: ArrayLike$1<ParsedValue>[], extent: number[][]): void;
4997
5001
  appendData?(newData: ArrayLike$1<OptionDataItem>): void;
5002
+ updateData?(updateData: ArrayLike$1<OptionDataItem>): {
5003
+ update: number;
5004
+ };
4998
5005
  clean?(): void;
4999
5006
  }
5000
5007
 
@@ -5610,6 +5617,10 @@ declare class SeriesData<HostModel extends Model = Model, Visual extends Default
5610
5617
  * Caution: Can be only called on raw data (before `this._indices` created).
5611
5618
  */
5612
5619
  appendData(data: ArrayLike$1<any>): void;
5620
+ /**
5621
+ * Caution: Can be only called on raw data (before `this._indices` created).
5622
+ */
5623
+ updateData(data: ArrayLike$1<any>): void;
5613
5624
  updateValue(value: any): void;
5614
5625
  /**
5615
5626
  * Caution: Can be only called on raw data (before `this._indices` created).
@@ -7798,6 +7809,7 @@ interface SeriesOption<StateOption = unknown, StatesMixin extends StatesMixinBas
7798
7809
  formatter?: (val: string | number) => string | number;
7799
7810
  notFilterData?: boolean;
7800
7811
  offset?: number;
7812
+ showLast?: number;
7801
7813
  }
7802
7814
  interface SeriesOnCartesianOptionMixin {
7803
7815
  xAxisIndex?: number;
@@ -8258,10 +8270,10 @@ declare class ECharts extends Eventful<ECEventDefinition> {
8258
8270
  seriesIndex?: number;
8259
8271
  seriesName?: string;
8260
8272
  isMainSeries?: boolean;
8261
- operation?: "append" | "update";
8273
+ operation?: "append" | "update" | "script";
8262
8274
  data: any;
8263
8275
  type: string;
8264
- }[]): void;
8276
+ }[], silent?: boolean): void;
8265
8277
  updateXAxisData(time: string): void;
8266
8278
  private static internalField;
8267
8279
  }
@@ -10742,6 +10754,7 @@ interface LinesPlotSeriesOption extends SeriesOption<LinesStateOption$1, LinesSt
10742
10754
  shadowShape?: boolean;
10743
10755
  step?: boolean;
10744
10756
  z2?: number;
10757
+ showLast?: number;
10745
10758
  }
10746
10759
 
10747
10760
  declare type HeatmapDataValue = OptionDataValue[];
@@ -4289,6 +4289,9 @@ declare class SeriesModel<Opt extends SeriesOption = SeriesOption> extends Compo
4289
4289
  appendData(params: {
4290
4290
  data: ArrayLike<any>;
4291
4291
  }): void;
4292
+ updateValue(params: {
4293
+ data: any[];
4294
+ }): void;
4292
4295
  updateData(params: {
4293
4296
  data: any[];
4294
4297
  }): void;
@@ -4452,6 +4455,7 @@ declare class DataStore {
4452
4455
  * Caution: Can be only called on raw data (before `this._indices` created).
4453
4456
  */
4454
4457
  appendData(data: ArrayLike<any>): number[];
4458
+ updateData(data: ArrayLike<any>): number[];
4455
4459
  appendValues(values: any[][], minFillLen?: number): {
4456
4460
  start: number;
4457
4461
  end: number;
@@ -4996,6 +5000,9 @@ interface DataProvider {
4996
5000
  getItem(idx: number, out?: OptionDataItem): OptionDataItem;
4997
5001
  fillStorage?(start: number, end: number, out: ArrayLike$1<ParsedValue>[], extent: number[][]): void;
4998
5002
  appendData?(newData: ArrayLike$1<OptionDataItem>): void;
5003
+ updateData?(updateData: ArrayLike$1<OptionDataItem>): {
5004
+ update: number;
5005
+ };
4999
5006
  clean?(): void;
5000
5007
  }
5001
5008
 
@@ -5611,6 +5618,10 @@ declare class SeriesData<HostModel extends Model = Model, Visual extends Default
5611
5618
  * Caution: Can be only called on raw data (before `this._indices` created).
5612
5619
  */
5613
5620
  appendData(data: ArrayLike$1<any>): void;
5621
+ /**
5622
+ * Caution: Can be only called on raw data (before `this._indices` created).
5623
+ */
5624
+ updateData(data: ArrayLike$1<any>): void;
5614
5625
  updateValue(value: any): void;
5615
5626
  /**
5616
5627
  * Caution: Can be only called on raw data (before `this._indices` created).
@@ -7799,6 +7810,7 @@ interface SeriesOption<StateOption = unknown, StatesMixin extends StatesMixinBas
7799
7810
  formatter?: (val: string | number) => string | number;
7800
7811
  notFilterData?: boolean;
7801
7812
  offset?: number;
7813
+ showLast?: number;
7802
7814
  }
7803
7815
  interface SeriesOnCartesianOptionMixin {
7804
7816
  xAxisIndex?: number;
@@ -8259,10 +8271,10 @@ declare class ECharts extends Eventful<ECEventDefinition> {
8259
8271
  seriesIndex?: number;
8260
8272
  seriesName?: string;
8261
8273
  isMainSeries?: boolean;
8262
- operation?: "append" | "update";
8274
+ operation?: "append" | "update" | "script";
8263
8275
  data: any;
8264
8276
  type: string;
8265
- }[]): void;
8277
+ }[], silent?: boolean): void;
8266
8278
  updateXAxisData(time: string): void;
8267
8279
  private static internalField;
8268
8280
  }
@@ -10798,6 +10810,7 @@ interface LinesPlotSeriesOption extends SeriesOption<LinesStateOption$1, LinesSt
10798
10810
  shadowShape?: boolean;
10799
10811
  step?: boolean;
10800
10812
  z2?: number;
10813
+ showLast?: number;
10801
10814
  }
10802
10815
 
10803
10816
  declare type HeatmapDataValue = OptionDataValue[];
@@ -9,6 +9,7 @@ interface LabelsStateOption<TCbParams = never> {
9
9
  size?: "auto" | "huge" | "large" | "normal" | "small" | "tiny";
10
10
  location?: "abovebar" | "absolute" | "belowbar" | "bottom" | "top";
11
11
  isShape?: boolean;
12
+ showValue?: boolean | number;
12
13
  }
13
14
  interface LabelsStatesOptionMixin {
14
15
  emphasis?: {
@@ -58,6 +58,7 @@ export interface LinesPlotSeriesOption extends SeriesOption<LinesStateOption, Li
58
58
  shadowShape?: boolean;
59
59
  step?: boolean;
60
60
  z2?: number;
61
+ showLast?: number;
61
62
  }
62
63
  declare class LinesPlotSeriesModel extends SeriesModel<LinesPlotSeriesOption> {
63
64
  static readonly type = "series.linesPlot";
@@ -275,10 +275,10 @@ declare class ECharts extends Eventful<ECEventDefinition> {
275
275
  seriesIndex?: number;
276
276
  seriesName?: string;
277
277
  isMainSeries?: boolean;
278
- operation?: "append" | "update";
278
+ operation?: "append" | "update" | "script";
279
279
  data: any;
280
280
  type: string;
281
- }[]): void;
281
+ }[], silent?: boolean): void;
282
282
  updateXAxisData(time: string): void;
283
283
  private static internalField;
284
284
  }
@@ -86,6 +86,7 @@ declare class DataStore {
86
86
  * Caution: Can be only called on raw data (before `this._indices` created).
87
87
  */
88
88
  appendData(data: ArrayLike<any>): number[];
89
+ updateData(data: ArrayLike<any>): number[];
89
90
  appendValues(values: any[][], minFillLen?: number): {
90
91
  start: number;
91
92
  end: number;