tvcharts 0.6.81 → 0.6.83

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.
package/dist/echarts.js CHANGED
@@ -17977,7 +17977,7 @@ DefaultDataProvider.internalField = function() {
17977
17977
  }
17978
17978
  }
17979
17979
  return {
17980
- update: newData.length - 1
17980
+ update: 1
17981
17981
  };
17982
17982
  }
17983
17983
  }();
@@ -18390,7 +18390,7 @@ function parseDataValue(value, opt) {
18390
18390
  if (dimType === "time" && !isNumber(value) && value != null && value !== "-") {
18391
18391
  value = +parseDate(value);
18392
18392
  }
18393
- return value == null || value === "" ? NaN : +value;
18393
+ return value == null || value === "" || !isFinite(value) ? NaN : +value;
18394
18394
  }
18395
18395
  var valueParserMap = createHashMap({
18396
18396
  number: function(val) {
@@ -24910,7 +24910,7 @@ var ECharts = class extends Eventful_default {
24910
24910
  barSpace: scale4.barSpace,
24911
24911
  lastBarRightSideDiffBarCount: startLastBarRightSideDiffBarCount - distanceBarCount
24912
24912
  };
24913
- doDispatchAction.call(this, payload, true);
24913
+ doDispatchAction.call(this, payload, false);
24914
24914
  if (!finished) {
24915
24915
  window.requestAnimationFrame(animation);
24916
24916
  }
@@ -28002,6 +28002,10 @@ function getName(obj) {
28002
28002
  var OrdinalMeta_default = OrdinalMeta;
28003
28003
 
28004
28004
  // src/scale/helper.ts
28005
+ var defLogFormula = {
28006
+ logicalOffset: 4,
28007
+ coordOffset: 1e-4
28008
+ };
28005
28009
  function isValueNice(val) {
28006
28010
  const exp10 = Math.pow(10, quantityExponent(Math.abs(val)));
28007
28011
  const f = Math.abs(val / exp10);
@@ -28069,6 +28073,43 @@ function normalize2(val, extent3) {
28069
28073
  function scale3(val, extent3) {
28070
28074
  return val * (extent3[1] - extent3[0]) + extent3[0];
28071
28075
  }
28076
+ function toLog(price, logFormula) {
28077
+ const m2 = Math.abs(price);
28078
+ if (m2 < 1e-15) {
28079
+ return 0;
28080
+ }
28081
+ const res = Math.log10(m2 + logFormula.coordOffset) + logFormula.logicalOffset;
28082
+ return price < 0 ? -res : res;
28083
+ }
28084
+ function fromLog(logical, logFormula) {
28085
+ const m2 = Math.abs(logical);
28086
+ if (m2 < 1e-15) {
28087
+ return 0;
28088
+ }
28089
+ const res = Math.pow(10, m2 - logFormula.logicalOffset) - logFormula.coordOffset;
28090
+ return logical < 0 ? -res : res;
28091
+ }
28092
+ function logFormulaForPriceRange(range) {
28093
+ if (range === null) {
28094
+ return defLogFormula;
28095
+ }
28096
+ const diff = Math.abs(range[1] - range[0]);
28097
+ if (diff >= 1 || diff < 1e-15) {
28098
+ return defLogFormula;
28099
+ }
28100
+ const digits = Math.ceil(Math.abs(Math.log10(diff)));
28101
+ const logicalOffset = defLogFormula.logicalOffset + digits;
28102
+ const coordOffset = 1 / Math.pow(10, logicalOffset);
28103
+ return {
28104
+ logicalOffset,
28105
+ coordOffset
28106
+ };
28107
+ }
28108
+ function convertPriceRangeToLog(priceRange, logFormula) {
28109
+ const min3 = toLog(priceRange[0], logFormula);
28110
+ const max3 = toLog(priceRange[1], logFormula);
28111
+ return [min3, max3];
28112
+ }
28072
28113
 
28073
28114
  // src/scale/Ordinal.ts
28074
28115
  var OrdinalScale = class extends Scale_default {
@@ -29089,8 +29130,6 @@ var Time_default = TimeScale;
29089
29130
  var scaleProto = Scale_default.prototype;
29090
29131
  var intervalScaleProto = Interval_default.prototype;
29091
29132
  var roundingErrorFix = round;
29092
- var mathPow2 = Math.pow;
29093
- var mathLog = Math.log;
29094
29133
  var LogScale = class extends Scale_default {
29095
29134
  constructor() {
29096
29135
  super(...arguments);
@@ -29098,15 +29137,17 @@ var LogScale = class extends Scale_default {
29098
29137
  this.base = 10;
29099
29138
  this._originalScale = new Interval_default();
29100
29139
  this._interval = 0;
29140
+ this.logFormula = logFormulaForPriceRange(null);
29101
29141
  }
29102
29142
  getTicks(expandToNicedExtent) {
29103
29143
  const originalScale = this._originalScale;
29104
29144
  const extent3 = this._extent;
29105
29145
  const originalExtent = originalScale.getExtent();
29106
29146
  const ticks = intervalScaleProto.getTicks.call(this, expandToNicedExtent);
29147
+ const logFormula = this.logFormula;
29107
29148
  return map(ticks, function(tick) {
29108
29149
  const val = tick.value;
29109
- let powVal = round(mathPow2(this.base, val));
29150
+ let powVal = fromLog(val, logFormula);
29110
29151
  powVal = val === extent3[0] && this._fixMin ? fixRoundingError(powVal, originalExtent[0]) : powVal;
29111
29152
  powVal = val === extent3[1] && this._fixMax ? fixRoundingError(powVal, originalExtent[1]) : powVal;
29112
29153
  return {
@@ -29115,16 +29156,15 @@ var LogScale = class extends Scale_default {
29115
29156
  }, this);
29116
29157
  }
29117
29158
  setExtent(start2, end2) {
29118
- const base2 = mathLog(this.base);
29119
- start2 = mathLog(Math.max(0, start2)) / base2;
29120
- end2 = mathLog(Math.max(0, end2)) / base2;
29159
+ this.logFormula = logFormulaForPriceRange([start2, end2]);
29160
+ [start2, end2] = convertPriceRangeToLog([start2, end2], this.logFormula);
29121
29161
  intervalScaleProto.setExtent.call(this, start2, end2);
29122
29162
  }
29123
29163
  getExtent() {
29124
29164
  const base2 = this.base;
29125
29165
  const extent3 = scaleProto.getExtent.call(this);
29126
- extent3[0] = mathPow2(base2, extent3[0]);
29127
- extent3[1] = mathPow2(base2, extent3[1]);
29166
+ extent3[0] = fromLog(extent3[0], this.logFormula);
29167
+ extent3[1] = fromLog(extent3[1], this.logFormula);
29128
29168
  const originalScale = this._originalScale;
29129
29169
  const originalExtent = originalScale.getExtent();
29130
29170
  this._fixMin && (extent3[0] = fixRoundingError(extent3[0], originalExtent[0]));
@@ -29133,9 +29173,8 @@ var LogScale = class extends Scale_default {
29133
29173
  }
29134
29174
  unionExtent(extent3) {
29135
29175
  this._originalScale.unionExtent(extent3);
29136
- const base2 = this.base;
29137
- extent3[0] = mathLog(extent3[0]) / mathLog(base2);
29138
- extent3[1] = mathLog(extent3[1]) / mathLog(base2);
29176
+ extent3[0] = toLog(extent3[0], this.logFormula);
29177
+ extent3[1] = toLog(extent3[1], this.logFormula);
29139
29178
  scaleProto.unionExtent.call(this, extent3);
29140
29179
  }
29141
29180
  unionExtentFromData(data, dim) {
@@ -29150,22 +29189,22 @@ var LogScale = class extends Scale_default {
29150
29189
  return val;
29151
29190
  }
29152
29191
  contain(val) {
29153
- val = mathLog(val) / mathLog(this.base);
29192
+ val = toLog(val, this.logFormula);
29154
29193
  return contain2(val, this._extent);
29155
29194
  }
29156
29195
  normalize(val) {
29157
- val = mathLog(val) / mathLog(this.base);
29196
+ val = toLog(val, this.logFormula);
29158
29197
  return normalize2(val, this._extent);
29159
29198
  }
29160
29199
  scale(val) {
29161
29200
  val = scale3(val, this._extent);
29162
- return mathPow2(this.base, val);
29201
+ return fromLog(val, this.logFormula);
29163
29202
  }
29164
29203
  restoreLogValue(value) {
29165
- return mathPow2(this.base, value);
29204
+ return fromLog(value, this.logFormula);
29166
29205
  }
29167
29206
  parseLogValue(val) {
29168
- return mathLog(val) / mathLog(this.base);
29207
+ return toLog(val, this.logFormula);
29169
29208
  }
29170
29209
  };
29171
29210
  LogScale.type = "log";
@@ -29298,6 +29337,7 @@ var ScaleRawExtentInfo = class {
29298
29337
  this._dataMin = dataExtent[0];
29299
29338
  this._dataMax = dataExtent[1];
29300
29339
  const isOrdinal = this._isOrdinal = scale4.type === "ordinal";
29340
+ this._isLog = scale4.type === "log";
29301
29341
  this._needCrossZero = scale4.type === "interval" && model.getNeedCrossZero && model.getNeedCrossZero();
29302
29342
  const modelMinRaw = this._modelMinRaw = model.get("min", true);
29303
29343
  if (isFunction(modelMinRaw)) {
@@ -29337,6 +29377,7 @@ var ScaleRawExtentInfo = class {
29337
29377
  }
29338
29378
  calculate() {
29339
29379
  const isOrdinal = this._isOrdinal;
29380
+ const isLog = this._isLog;
29340
29381
  const dataMin = this._dataMin;
29341
29382
  const dataMax = this._dataMax;
29342
29383
  const axisDataLen = this._axisDataLen;
@@ -39100,7 +39141,6 @@ function findAxisModels(seriesModel) {
39100
39141
  }
39101
39142
 
39102
39143
  // src/coord/axisAlignTicks.ts
39103
- var mathLog2 = Math.log;
39104
39144
  function alignScaleTicks(scale4, axisModel, alignToScale) {
39105
39145
  const intervalScaleProto3 = Interval_default.prototype;
39106
39146
  const alignToTicks = intervalScaleProto3.getTicks.call(alignToScale);
@@ -39112,8 +39152,8 @@ function alignScaleTicks(scale4, axisModel, alignToScale) {
39112
39152
  const isMinFixed = scaleExtent.fixMin;
39113
39153
  const isMaxFixed = scaleExtent.fixMax;
39114
39154
  if (scale4.type === "log") {
39115
- const logBase = mathLog2(scale4.base);
39116
- rawExtent = [mathLog2(rawExtent[0]) / logBase, mathLog2(rawExtent[1]) / logBase];
39155
+ const logFormula = scale4.logFormula;
39156
+ rawExtent = convertPriceRangeToLog(rawExtent, logFormula);
39117
39157
  }
39118
39158
  scale4.setExtent(rawExtent[0], rawExtent[1]);
39119
39159
  scale4.calcNiceExtent({
@@ -51556,7 +51596,7 @@ var AxisModel_default = ParallelAxisModel;
51556
51596
  var BRUSH_PANEL_GLOBAL = true;
51557
51597
  var mathMin10 = Math.min;
51558
51598
  var mathMax10 = Math.max;
51559
- var mathPow3 = Math.pow;
51599
+ var mathPow2 = Math.pow;
51560
51600
  var COVER_Z = 1e4;
51561
51601
  var UNSELECT_THRESHOLD = 6;
51562
51602
  var MIN_RESIZE_LINE_WIDTH = 6;
@@ -51802,7 +51842,7 @@ function shouldShowCover(controller) {
51802
51842
  const p1 = track[0];
51803
51843
  const dx = p2[0] - p1[0];
51804
51844
  const dy = p2[1] - p1[1];
51805
- const dist3 = mathPow3(dx * dx + dy * dy, 0.5);
51845
+ const dist3 = mathPow2(dx * dx + dy * dy, 0.5);
51806
51846
  return dist3 > UNSELECT_THRESHOLD;
51807
51847
  }
51808
51848
  function getTrackEnds(track) {
@@ -59292,7 +59332,7 @@ FillsSeriesModel.defaultOption = {
59292
59332
  },
59293
59333
  triggerLineEvent: false,
59294
59334
  statusLineInvisible: true,
59295
- dimensions: ["extend", "plot1", "plot2"],
59335
+ dimensions: ["base", "plot1", "plot2"],
59296
59336
  encode: {
59297
59337
  x: ["base"],
59298
59338
  y: ["plot1", "plot2"]
@@ -59439,6 +59479,8 @@ var fillsLayout = {
59439
59479
  const fillgaps = seriesModel.get("fillgaps");
59440
59480
  const isMonoHline = seriesModel.get("isMonoHline");
59441
59481
  const showLast = seriesModel.get("showLast");
59482
+ const offset = seriesModel.get("offset") || 0;
59483
+ const offset1 = seriesModel.get("offset1") || 0;
59442
59484
  const dimIdx0 = 0;
59443
59485
  const dimIdP1 = 1;
59444
59486
  const dimIdP2 = 2;
@@ -59495,8 +59537,8 @@ var fillsLayout = {
59495
59537
  plot2Points = [];
59496
59538
  continue;
59497
59539
  }
59498
- const point1 = coordSys.dataToPoint([x, p1]);
59499
- const point2 = coordSys.dataToPoint([x, p2]);
59540
+ const point1 = coordSys.dataToPoint([x + offset, p1]);
59541
+ const point2 = coordSys.dataToPoint([x + offset1, p2]);
59500
59542
  const isRawLast = last && index === fillsData.count(true) - 1;
59501
59543
  plot1Points.push(point1);
59502
59544
  plot2Points.push(point2);
@@ -67740,7 +67782,8 @@ var AxisProxy = class {
67740
67782
  return hasValue && leftOut && rightOut;
67741
67783
  });
67742
67784
  } else {
67743
- const offset = seriesModel.get("offset");
67785
+ const offset = seriesModel.get("offset") || 0;
67786
+ const offset1 = seriesModel.get("offset1") || 0;
67744
67787
  each13(dataDims, function(dim) {
67745
67788
  if (filterMode === "empty") {
67746
67789
  seriesModel.setData(seriesData = seriesData.map(dim, function(value) {
@@ -67756,11 +67799,14 @@ var AxisProxy = class {
67756
67799
  }
67757
67800
  return;
67758
67801
  }
67759
- if (dim === "x" && offset) {
67760
- if (offset > 0) {
67761
- range[dim][0] = range[dim][0] - offset;
67762
- } else {
67763
- range[dim][1] = range[dim][1] - offset;
67802
+ if (dim === "x" && (offset || offset1)) {
67803
+ const leftOffset = Math.max(offset, offset1);
67804
+ const rightOffset = Math.min(offset, offset1);
67805
+ if (leftOffset > 0) {
67806
+ range[dim][0] = range[dim][0] - leftOffset;
67807
+ }
67808
+ if (rightOffset < 0) {
67809
+ range[dim][1] = range[dim][1] - rightOffset;
67764
67810
  }
67765
67811
  }
67766
67812
  seriesData.selectRange(range);
@@ -74027,10 +74073,16 @@ var MarkLabelView2 = class extends Component_default2 {
74027
74073
  markerGroupMapBySeries.set(seriesName, markerGroupMap);
74028
74074
  });
74029
74075
  markerGroupMapBySeries.each((markerGroupMap, seriesName) => {
74076
+ const markLabelData = labelMap.get(seriesName);
74030
74077
  if (updatedSeriesByName[seriesName]) {
74078
+ markerGroupMap.each((el, key) => {
74079
+ if (!markLabelData[key]) {
74080
+ markerGroupMap.removeKey(key);
74081
+ this.group.remove(el);
74082
+ }
74083
+ });
74031
74084
  return;
74032
74085
  }
74033
- const markLabelData = labelMap.get(seriesName);
74034
74086
  each(markLabelData, (item) => {
74035
74087
  const el = markerGroupMap.get(item.name);
74036
74088
  delete markLabelData[item.name];
@@ -74040,6 +74092,7 @@ var MarkLabelView2 = class extends Component_default2 {
74040
74092
  markerGroupMap.removeKey(item.name);
74041
74093
  this.group.remove(el);
74042
74094
  });
74095
+ markerGroupMapBySeries.removeKey(seriesName);
74043
74096
  });
74044
74097
  }
74045
74098
  updateGraphicLabels(ecModel) {