@visactor/vchart 1.9.0-alpha.2 → 1.9.0

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.
Files changed (41) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +95 -48
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/component/axis/cartesian/axis.js +14 -7
  6. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  7. package/cjs/component/axis/mixin/band-axis-mixin.js +1 -0
  8. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  9. package/cjs/component/axis/mixin/linear-axis-mixin.js +3 -3
  10. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  11. package/cjs/component/axis/polar/axis.js +15 -9
  12. package/cjs/component/axis/polar/axis.js.map +1 -1
  13. package/cjs/core/index.d.ts +1 -1
  14. package/cjs/core/index.js +1 -1
  15. package/cjs/core/index.js.map +1 -1
  16. package/cjs/interaction/config.js +4 -4
  17. package/cjs/interaction/config.js.map +1 -1
  18. package/cjs/model/base-model.js +4 -3
  19. package/cjs/model/base-model.js.map +1 -1
  20. package/cjs/series/base/base-series.d.ts +2 -2
  21. package/cjs/series/base/base-series.js +2 -2
  22. package/cjs/series/base/base-series.js.map +1 -1
  23. package/esm/component/axis/cartesian/axis.js +13 -7
  24. package/esm/component/axis/cartesian/axis.js.map +1 -1
  25. package/esm/component/axis/mixin/band-axis-mixin.js +1 -0
  26. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  27. package/esm/component/axis/mixin/linear-axis-mixin.js +3 -3
  28. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  29. package/esm/component/axis/polar/axis.js +15 -9
  30. package/esm/component/axis/polar/axis.js.map +1 -1
  31. package/esm/core/index.d.ts +1 -1
  32. package/esm/core/index.js +1 -1
  33. package/esm/core/index.js.map +1 -1
  34. package/esm/interaction/config.js +4 -4
  35. package/esm/interaction/config.js.map +1 -1
  36. package/esm/model/base-model.js +4 -3
  37. package/esm/model/base-model.js.map +1 -1
  38. package/esm/series/base/base-series.d.ts +2 -2
  39. package/esm/series/base/base-series.js +2 -2
  40. package/esm/series/base/base-series.js.map +1 -1
  41. package/package.json +11 -11
package/build/index.js CHANGED
@@ -27391,15 +27391,16 @@
27391
27391
  reverseState: reverseState,
27392
27392
  isMultiple: isMultiple
27393
27393
  } = this.options;
27394
- e.element && this._marks && this._marks.includes(e.element.mark) ? e.element.hasState(state) ? "self" === this._resetType && (this._statedElements && (this._statedElements = this._statedElements.filter(el => el !== e.element)), this.updateStates(state, reverseState)) : (this._timer && clearTimeout(this._timer), e.element.addState(state), this._statedElements || (this._statedElements = []), isMultiple ? this._statedElements.push(e.element) : this._statedElements[0] = e.element, this.updateStates(state, reverseState), this.dispatchEvent("start", {
27394
+ e.element && this._marks && this._marks.includes(e.element.mark) ? e.element.hasState(state) ? "self" === this._resetType && (this._statedElements = this.updateStates(this._statedElements && this._statedElements.filter(el => el !== e.element), this._statedElements, state, reverseState)) : (this._timer && clearTimeout(this._timer), e.element.addState(state), this._statedElements = this.updateStates(isMultiple && this._statedElements ? [...this._statedElements, e.element] : [e.element], this._statedElements, state, reverseState), this.dispatchEvent("start", {
27395
27395
  elements: this._statedElements,
27396
27396
  options: this.options
27397
27397
  }), "timeout" === this._resetType && (this._timer = setTimeout(() => {
27398
27398
  this.clearPrevElements();
27399
27399
  }, this.options.triggerOff))) : "view" === this._resetType && this._statedElements && this._statedElements.length && this.clearPrevElements();
27400
27400
  }, this.handleReset = e => {
27401
+ if (!this._statedElements || !this._statedElements.length) return;
27401
27402
  const hasActiveElement = e.element && this._marks && this._marks.includes(e.element.mark);
27402
- this._statedElements && this._statedElements.length && ("view" !== this._resetType || hasActiveElement ? "self" === this._resetType && hasActiveElement && this.clearPrevElements() : this.clearPrevElements());
27403
+ "view" !== this._resetType || hasActiveElement ? "self" === this._resetType && hasActiveElement && this.clearPrevElements() : this.clearPrevElements();
27403
27404
  }, this.options = Object.assign({}, ElementSelect.defaultOptions, options), this._marks = view.getMarksBySelector(this.options.selector), this._stateMarks = groupMarksByState(this._marks, [this.options.state, this.options.reverseState]);
27404
27405
  }
27405
27406
  getEvents() {
@@ -27430,23 +27431,28 @@
27430
27431
  blurState: blurState
27431
27432
  } = this.options;
27432
27433
  if (this._lastElement === e.element) return;
27433
- this._statedElements = [e.element], this.updateStates(highlightState, blurState), this._lastElement = e.element, this.dispatchEvent("start", {
27434
+ this._statedElements = this.updateStates([e.element], this._statedElements, highlightState, blurState), this._lastElement = e.element, this.dispatchEvent("start", {
27434
27435
  elements: [e.element],
27435
27436
  options: this.options
27436
27437
  });
27437
- } else this._lastElement && this.clearPrevElements();
27438
+ } else this._lastElement && "view" === this._resetType && this.clearPrevElements();
27438
27439
  }, this.handleReset = e => {
27439
- e.element && this._marks && this._marks.includes(e.element.mark) && this.clearPrevElements();
27440
+ if (!this._statedElements || !this._statedElements.length) return;
27441
+ const hasActiveElement = e.element && this._marks && this._marks.includes(e.element.mark);
27442
+ "view" !== this._resetType || hasActiveElement ? "self" === this._resetType && hasActiveElement && this.clearPrevElements() : this.clearPrevElements();
27440
27443
  }, this.options = Object.assign({}, ElementHighlight.defaultOptions, options), this._marks = view.getMarksBySelector(this.options.selector), this._stateMarks = groupMarksByState(this._marks, [this.options.highlightState, this.options.blurState]);
27441
27444
  }
27442
27445
  getEvents() {
27443
- return [{
27444
- type: this.options.trigger,
27445
- handler: this.handleStart
27446
- }, {
27447
- type: this.options.triggerOff,
27446
+ const triggerOff = this.options.triggerOff,
27447
+ events = [{
27448
+ type: this.options.trigger,
27449
+ handler: this.handleStart
27450
+ }];
27451
+ let eventName = triggerOff;
27452
+ return isString$1(triggerOff) && triggerOff.includes("view:") ? (eventName = triggerOff.replace("view:", ""), this._resetType = "view") : this._resetType = "self", events.push({
27453
+ type: eventName,
27448
27454
  handler: this.handleReset
27449
- }];
27455
+ }), events;
27450
27456
  }
27451
27457
  clearPrevElements() {
27452
27458
  const {
@@ -27456,7 +27462,7 @@
27456
27462
  this._lastElement && (this.clearAllStates(highlightState, blurState), this.dispatchEvent("reset", {
27457
27463
  elements: [this._lastElement],
27458
27464
  options: this.options
27459
- }), this._lastElement = null);
27465
+ }), this._lastElement = null, this._statedElements = null);
27460
27466
  }
27461
27467
  }
27462
27468
  ElementHighlight.type = "element-highlight", ElementHighlight.defaultOptions = {
@@ -41748,12 +41754,37 @@
41748
41754
  }
41749
41755
 
41750
41756
  class ToggleStateMixin {
41751
- updateStates(state, reverseState) {
41757
+ updateStates(newStatedElements, prevStatedElements, state, reverseState) {
41758
+ return newStatedElements && newStatedElements.length ? (state && reverseState ? prevStatedElements && prevStatedElements.length ? (this.toggleReverseStateOfElements(newStatedElements, prevStatedElements, reverseState), this.toggleStateOfElements(newStatedElements, prevStatedElements, state)) : this.addBothStateOfElements(newStatedElements, state, reverseState) : state && (prevStatedElements && prevStatedElements.length ? this.toggleStateOfElements(newStatedElements, prevStatedElements, state) : this.addStateOfElements(newStatedElements, state)), newStatedElements) : null;
41759
+ }
41760
+ toggleReverseStateOfElements(newStatedElements, prevStatedElements, reverseState) {
41761
+ prevStatedElements.forEach(element => {
41762
+ reverseState && this._stateMarks[reverseState] && this._stateMarks[reverseState].includes(element.mark) && element.addState(reverseState);
41763
+ }), newStatedElements.forEach(element => {
41764
+ reverseState && this._stateMarks[reverseState] && this._stateMarks[reverseState].includes(element.mark) && element.removeState(reverseState);
41765
+ });
41766
+ }
41767
+ toggleStateOfElements(newStatedElements, prevStatedElements, state) {
41768
+ prevStatedElements.forEach(element => {
41769
+ state && this._stateMarks[state] && this._stateMarks[state].includes(element.mark) && element.removeState(state);
41770
+ }), newStatedElements.forEach(element => {
41771
+ state && this._stateMarks[state] && this._stateMarks[state].includes(element.mark) && element.addState(state);
41772
+ });
41773
+ }
41774
+ addBothStateOfElements(statedElements, state, reverseState) {
41752
41775
  this._marks.forEach(mark => {
41753
41776
  const hasReverse = reverseState && this._stateMarks[reverseState] && this._stateMarks[reverseState].includes(mark),
41754
41777
  hasState = state && this._stateMarks[state] && this._stateMarks[state].includes(mark);
41755
41778
  (hasReverse || hasState) && mark.elements.forEach(el => {
41756
- this._statedElements && this._statedElements.includes(el) ? (hasState && el.addState(state), hasReverse && el.removeState(reverseState)) : (hasState && el.removeState(state), hasReverse && el.addState(reverseState));
41779
+ statedElements && statedElements.includes(el) ? hasState && el.addState(state) : hasReverse && el.addState(reverseState);
41780
+ });
41781
+ });
41782
+ }
41783
+ addStateOfElements(statedElements, state) {
41784
+ this._marks.forEach(mark => {
41785
+ const hasState = state && this._stateMarks[state] && this._stateMarks[state].includes(mark);
41786
+ hasState && mark.elements.forEach(el => {
41787
+ statedElements && statedElements.includes(el) && hasState && el.addState(state);
41757
41788
  });
41758
41789
  });
41759
41790
  }
@@ -41762,7 +41793,7 @@
41762
41793
  reverseState && this._stateMarks[reverseState] && this._stateMarks[reverseState].includes(mark) && mark.elements.forEach(el => {
41763
41794
  el.removeState(reverseState);
41764
41795
  }), state && this._stateMarks[state] && this._stateMarks[state].includes(mark) && mark.elements.forEach(el => {
41765
- el.removeState(state);
41796
+ this._statedElements.includes(el) && el.removeState(state);
41766
41797
  });
41767
41798
  });
41768
41799
  }
@@ -54224,11 +54255,12 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
54224
54255
  return this._spec || {};
54225
54256
  }
54226
54257
  getSpecPath() {
54227
- return this._option.specPath;
54258
+ var _a;
54259
+ return (_a = this._option) === null || _a === void 0 ? void 0 : _a.specPath;
54228
54260
  }
54229
54261
  getSpecInfoPath() {
54230
- var _a;
54231
- return (_a = this._option.specInfoPath) !== null && _a !== void 0 ? _a : this._option.specPath;
54262
+ var _a, _b, _c;
54263
+ return (_b = (_a = this._option) === null || _a === void 0 ? void 0 : _a.specInfoPath) !== null && _b !== void 0 ? _b : (_c = this._option) === null || _c === void 0 ? void 0 : _c.specPath;
54232
54264
  }
54233
54265
  getData() {
54234
54266
  return this._data;
@@ -58695,7 +58727,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
58695
58727
  registerChartPlugin(MediaQuery);
58696
58728
  };
58697
58729
 
58698
- const version = "1.9.0-alpha.2";
58730
+ const version = "1.9.0";
58699
58731
 
58700
58732
  const addVChartProperty = (data, op) => {
58701
58733
  const context = op.beforeCall();
@@ -59335,8 +59367,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
59335
59367
  return {
59336
59368
  hover: {
59337
59369
  enable: true,
59338
- trigger: 'pointerover',
59339
- triggerOff: 'pointerout'
59370
+ trigger: 'pointermove',
59371
+ triggerOff: 'view:pointerleave'
59340
59372
  },
59341
59373
  select: {
59342
59374
  enable: true,
@@ -59348,8 +59380,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
59348
59380
  return {
59349
59381
  hover: {
59350
59382
  enable: true,
59351
- trigger: ['pointerdown', 'pointerover'],
59352
- triggerOff: 'pointerout'
59383
+ trigger: ['pointerdown', 'pointermove'],
59384
+ triggerOff: 'view:pointerleave'
59353
59385
  },
59354
59386
  select: {
59355
59387
  enable: true,
@@ -59893,7 +59925,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
59893
59925
  selector: mainMarks.map(mark => `#${mark.getProductId()}`),
59894
59926
  type: 'element-highlight',
59895
59927
  trigger: finalHoverSpec.trigger,
59896
- resetTrigger: finalHoverSpec.triggerOff,
59928
+ triggerOff: finalHoverSpec.triggerOff,
59897
59929
  blurState: STATE_VALUE_ENUM.STATE_HOVER_REVERSE,
59898
59930
  highlightState: STATE_VALUE_ENUM.STATE_HOVER
59899
59931
  });
@@ -59905,7 +59937,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
59905
59937
  regionId: this._region.id,
59906
59938
  selector: mainMarks.map(mark => `#${mark.getProductId()}`),
59907
59939
  trigger: finalSelectSpec.trigger,
59908
- resetTrigger: ((_a = finalSelectSpec.triggerOff) !== null && _a !== void 0 ? _a : 'empty'),
59940
+ triggerOff: ((_a = finalSelectSpec.triggerOff) !== null && _a !== void 0 ? _a : 'empty'),
59909
59941
  reverseState: STATE_VALUE_ENUM.STATE_SELECTED_REVERSE,
59910
59942
  state: STATE_VALUE_ENUM.STATE_SELECTED,
59911
59943
  isMultiple: finalSelectSpec.mode === 'multiple'
@@ -81570,19 +81602,22 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
81570
81602
  if (!depth) {
81571
81603
  this._dataFieldText = s.getFieldAlias(field[0]);
81572
81604
  }
81573
- const seriesData = (_c = s.getViewDataStatistics) === null || _c === void 0 ? void 0 : _c.call(s);
81574
81605
  if (field) {
81575
- field.forEach(f => {
81576
- var _a;
81577
- if (rawData) {
81606
+ const viewData = s.getViewData();
81607
+ if (rawData) {
81608
+ field.forEach(f => {
81578
81609
  data.push(s.getRawDataStatisticsByField(f, false));
81579
- }
81580
- else {
81610
+ });
81611
+ }
81612
+ else if (viewData && viewData.latestData && viewData.latestData.length) {
81613
+ const seriesData = (_c = s.getViewDataStatistics) === null || _c === void 0 ? void 0 : _c.call(s);
81614
+ field.forEach(f => {
81615
+ var _a;
81581
81616
  if ((_a = seriesData === null || seriesData === void 0 ? void 0 : seriesData.latestData) === null || _a === void 0 ? void 0 : _a[f]) {
81582
81617
  data.push(seriesData.latestData[f]);
81583
81618
  }
81584
- }
81585
- });
81619
+ });
81620
+ }
81586
81621
  }
81587
81622
  }, {
81588
81623
  userId: this._seriesUserId,
@@ -81994,11 +82029,17 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
81994
82029
  }
81995
82030
  computeLinearDomain(data) {
81996
82031
  const domain = [];
81997
- data.forEach(d => {
81998
- const { min, max } = d;
81999
- domain[0] = domain[0] === undefined ? min : Math.min(domain[0], min);
82000
- domain[1] = domain[1] === undefined ? max : Math.max(domain[1], max);
82001
- });
82032
+ if (data.length) {
82033
+ data.forEach(d => {
82034
+ const { min, max } = d;
82035
+ domain[0] = domain[0] === undefined ? min : Math.min(domain[0], min);
82036
+ domain[1] = domain[1] === undefined ? max : Math.max(domain[1], max);
82037
+ });
82038
+ }
82039
+ else {
82040
+ domain[0] = 0;
82041
+ domain[1] = 0;
82042
+ }
82002
82043
  this.expandDomain(domain);
82003
82044
  this.includeZero(domain);
82004
82045
  this.setDomainMinMax(domain);
@@ -82246,6 +82287,9 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
82246
82287
  }
82247
82288
  }
82248
82289
  computeBandDomain(data) {
82290
+ if (!data.length) {
82291
+ return [];
82292
+ }
82249
82293
  if (data.length === 1) {
82250
82294
  return data[0].values;
82251
82295
  }
@@ -82753,19 +82797,22 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
82753
82797
  if (!depth) {
82754
82798
  this._dataFieldText = s.getFieldAlias(field[0]);
82755
82799
  }
82756
- const seriesData = (_c = s.getViewDataStatistics) === null || _c === void 0 ? void 0 : _c.call(s);
82757
82800
  if (field) {
82758
- field.forEach(f => {
82759
- var _a;
82760
- if (rawData) {
82801
+ const viewData = s.getViewData();
82802
+ if (rawData) {
82803
+ field.forEach(f => {
82761
82804
  data.push(s.getRawDataStatisticsByField(f, false));
82762
- }
82763
- else {
82805
+ });
82806
+ }
82807
+ else if (viewData && viewData.latestData && viewData.latestData.length) {
82808
+ const seriesData = (_c = s.getViewDataStatistics) === null || _c === void 0 ? void 0 : _c.call(s);
82809
+ field.forEach(f => {
82810
+ var _a;
82764
82811
  if ((_a = seriesData === null || seriesData === void 0 ? void 0 : seriesData.latestData) === null || _a === void 0 ? void 0 : _a[f]) {
82765
82812
  data.push(seriesData.latestData[f]);
82766
82813
  }
82767
- }
82768
- });
82814
+ });
82815
+ }
82769
82816
  }
82770
82817
  }, {
82771
82818
  userId: this._seriesUserId,
@@ -82923,7 +82970,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
82923
82970
  innerRadius, startAngle: this._startAngle, endAngle: this._endAngle });
82924
82971
  const attrs = Object.assign(Object.assign({}, commonAttrs), { title: {
82925
82972
  text: this._spec.title.text || this._dataFieldText
82926
- }, items: items.length ? [items] : [], orient: 'angle' });
82973
+ }, items, orient: 'angle' });
82927
82974
  if (this._spec.grid.visible) {
82928
82975
  attrs.grid = Object.assign({ type: 'line', smoothLink: true, items: items[0] }, commonAttrs);
82929
82976
  }
@@ -82941,7 +82988,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
82941
82988
  const commonAttrs = Object.assign(Object.assign({}, this.getLayoutStartPoint()), { start: startPoint, end: endPoint, verticalFactor: -1 });
82942
82989
  const attrs = Object.assign(Object.assign({}, commonAttrs), { title: {
82943
82990
  text: this._spec.title.text || this._dataFieldText
82944
- }, items: items.length ? [items] : [], orient: 'radius' });
82991
+ }, items, orient: 'radius' });
82945
82992
  if ((_a = this._spec.grid) === null || _a === void 0 ? void 0 : _a.visible) {
82946
82993
  attrs.grid = Object.assign({ items: items[0], type: ((_b = this._spec.grid) === null || _b === void 0 ? void 0 : _b.smooth) ? 'circle' : 'polygon', center, closed: true, sides: (_c = this._getRelatedAngleAxis()) === null || _c === void 0 ? void 0 : _c.tickValues().length, startAngle: this._startAngle, endAngle: this._endAngle }, commonAttrs);
82947
82994
  }