@visactor/vchart 2.1.4 → 2.1.5

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 (46) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +67 -6
  3. package/build/index.js +68 -7
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/chart/base/base-chart.js +1 -1
  7. package/cjs/chart/base/base-chart.js.map +1 -1
  8. package/cjs/component/legend/discrete/interface.d.ts +9 -1
  9. package/cjs/component/legend/discrete/interface.js.map +1 -1
  10. package/cjs/component/legend/discrete/util.js +12 -2
  11. package/cjs/component/legend/discrete/util.js.map +1 -1
  12. package/cjs/component/marker/interface.d.ts +1 -1
  13. package/cjs/component/marker/interface.js.map +1 -1
  14. package/cjs/component/marker/mark-point/base-mark-point.d.ts +5 -0
  15. package/cjs/component/marker/mark-point/base-mark-point.js +30 -2
  16. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  17. package/cjs/core/factory-registry.js +1 -1
  18. package/cjs/core/factory-registry.js.map +1 -1
  19. package/cjs/core/index.d.ts +1 -1
  20. package/cjs/core/index.js +1 -1
  21. package/cjs/core/index.js.map +1 -1
  22. package/cjs/core/vchart.js +1 -6
  23. package/cjs/core/vchart.js.map +1 -1
  24. package/cjs/event/events/dimension/dimension-hover.js +3 -0
  25. package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
  26. package/esm/chart/base/base-chart.js +1 -1
  27. package/esm/chart/base/base-chart.js.map +1 -1
  28. package/esm/component/legend/discrete/interface.d.ts +9 -1
  29. package/esm/component/legend/discrete/interface.js.map +1 -1
  30. package/esm/component/legend/discrete/util.js +11 -2
  31. package/esm/component/legend/discrete/util.js.map +1 -1
  32. package/esm/component/marker/interface.d.ts +1 -1
  33. package/esm/component/marker/interface.js.map +1 -1
  34. package/esm/component/marker/mark-point/base-mark-point.d.ts +5 -0
  35. package/esm/component/marker/mark-point/base-mark-point.js +34 -2
  36. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  37. package/esm/core/factory-registry.js +1 -1
  38. package/esm/core/factory-registry.js.map +1 -1
  39. package/esm/core/index.d.ts +1 -1
  40. package/esm/core/index.js +1 -1
  41. package/esm/core/index.js.map +1 -1
  42. package/esm/core/vchart.js +1 -6
  43. package/esm/core/vchart.js.map +1 -1
  44. package/esm/event/events/dimension/dimension-hover.js +3 -0
  45. package/esm/event/events/dimension/dimension-hover.js.map +1 -1
  46. package/package.json +4 -4
package/build/index.es.js CHANGED
@@ -19700,7 +19700,6 @@ class VChart {
19700
19700
  }
19701
19701
  _reCompile(updateResult, morphConfig) {
19702
19702
  var _a, _b, _c, _d, _e, _f, _g;
19703
- const shouldRestoreUserEvents = updateResult.reMake && !!this._chart;
19704
19703
  if (updateResult.reMake) {
19705
19704
  this._releaseData();
19706
19705
  this._initDataSet();
@@ -19720,9 +19719,6 @@ class VChart {
19720
19719
  if (updateResult.reMake) {
19721
19720
  const cacheGrammarForMorph = this.isAnimationEnable() && (morphConfig === null || morphConfig === void 0 ? void 0 : morphConfig.morph) !== false;
19722
19721
  (_c = this._compiler) === null || _c === void 0 ? void 0 : _c.releaseGrammar(!cacheGrammarForMorph);
19723
- if (shouldRestoreUserEvents) {
19724
- this._userEvents.forEach(e => { var _a; return (_a = this._event) === null || _a === void 0 ? void 0 : _a.on(e.eType, e.query, e.handler); });
19725
- }
19726
19722
  }
19727
19723
  else if (updateResult.reCompile) {
19728
19724
  (_d = this._compiler) === null || _d === void 0 ? void 0 : _d.clear({ chart: this._chart, vChart: this });
@@ -20812,7 +20808,7 @@ const lookup = (data, opt) => {
20812
20808
  });
20813
20809
  };
20814
20810
 
20815
- const version = "2.1.4";
20811
+ const version = "2.1.5";
20816
20812
 
20817
20813
  const addVChartProperty = (data, op) => {
20818
20814
  const context = op.beforeCall();
@@ -23703,6 +23699,10 @@ class DimensionHoverEvent extends DimensionEvent {
23703
23699
  query: null,
23704
23700
  callback: this.onMouseMove
23705
23701
  });
23702
+ this._eventDispatcher.unregister('pointerout', {
23703
+ query: null,
23704
+ callback: this.onMouseOut
23705
+ });
23706
23706
  if (isMobileLikeMode(this._mode)) {
23707
23707
  this._eventDispatcher.unregister('pointerdown', {
23708
23708
  query: null,
@@ -30040,6 +30040,7 @@ class BaseChart extends CompilableBase {
30040
30040
  m.beforeRelease();
30041
30041
  });
30042
30042
  }
30043
+ this._event.release();
30043
30044
  super.release();
30044
30045
  this.clear();
30045
30046
  [...this._components, ...this._regions, ...this._series].forEach(m => {
@@ -55073,7 +55074,9 @@ function getLegendAttributes(spec, rect, layoutOrient) {
55073
55074
  pager = cloneDeep(pager);
55074
55075
  background = cloneDeep(background);
55075
55076
  const attrs = restSpec;
55076
- if (isFunction$1(attrs.maxRow) || isFunction$1(attrs.maxCol)) {
55077
+ const pagerLayout = pager.layout;
55078
+ const pagerPosition = pager.position;
55079
+ if (isFunction$1(attrs.maxRow) || isFunction$1(attrs.maxCol) || isFunction$1(pagerLayout) || isFunction$1(pagerPosition)) {
55077
55080
  const resolvedOrient = isValidOrient(layoutOrient) ? layoutOrient : isValidOrient(orient) ? orient : 'left';
55078
55081
  if (isFunction$1(attrs.maxRow)) {
55079
55082
  attrs.maxRow = attrs.maxRow({ rect, orient: resolvedOrient, id });
@@ -55081,6 +55084,20 @@ function getLegendAttributes(spec, rect, layoutOrient) {
55081
55084
  if (isFunction$1(attrs.maxCol)) {
55082
55085
  attrs.maxCol = attrs.maxCol({ rect, orient: resolvedOrient, id });
55083
55086
  }
55087
+ const isArrowPager = pager.type !== 'scrollbar';
55088
+ const pagerContext = {
55089
+ rect,
55090
+ orient: resolvedOrient,
55091
+ id,
55092
+ maxRow: attrs.maxRow,
55093
+ maxCol: attrs.maxCol
55094
+ };
55095
+ if (isArrowPager && isFunction$1(pagerLayout)) {
55096
+ pager.layout = pagerLayout(pagerContext);
55097
+ }
55098
+ if (isArrowPager && isFunction$1(pagerPosition)) {
55099
+ pager.position = pagerPosition(pagerContext);
55100
+ }
55084
55101
  }
55085
55102
  if (title.visible) {
55086
55103
  attrs.title = transformLegendTitleAttributes(title);
@@ -63767,6 +63784,50 @@ class BaseMarkPoint extends BaseMarker {
63767
63784
  super(...arguments);
63768
63785
  this.specKey = 'markPoint';
63769
63786
  this.layoutZIndex = LayoutZIndex.MarkPoint;
63787
+ this._handleDimensionHover = (params) => {
63788
+ var _a, _b;
63789
+ const targetSymbol = this._getTargetSymbolGraphic();
63790
+ if (!targetSymbol) {
63791
+ return;
63792
+ }
63793
+ switch (params.action) {
63794
+ case 'enter': {
63795
+ targetSymbol.removeState(STATE_VALUE_ENUM.STATE_DIMENSION_HOVER);
63796
+ targetSymbol.removeState(STATE_VALUE_ENUM.STATE_DIMENSION_HOVER_REVERSE);
63797
+ if (this._isDimensionHoverTarget(params)) {
63798
+ targetSymbol.addState(STATE_VALUE_ENUM.STATE_DIMENSION_HOVER, true);
63799
+ }
63800
+ else if ((_b = (_a = this._spec.targetSymbol) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.dimension_hover_reverse) {
63801
+ targetSymbol.addState(STATE_VALUE_ENUM.STATE_DIMENSION_HOVER_REVERSE, true);
63802
+ }
63803
+ break;
63804
+ }
63805
+ case 'leave':
63806
+ targetSymbol.removeState(STATE_VALUE_ENUM.STATE_DIMENSION_HOVER);
63807
+ targetSymbol.removeState(STATE_VALUE_ENUM.STATE_DIMENSION_HOVER_REVERSE);
63808
+ break;
63809
+ }
63810
+ };
63811
+ }
63812
+ initEvent() {
63813
+ var _a;
63814
+ super.initEvent();
63815
+ const targetSymbolState = (_a = this._spec.targetSymbol) === null || _a === void 0 ? void 0 : _a.state;
63816
+ if (this.coordinateType === 'cartesian' &&
63817
+ ((targetSymbolState === null || targetSymbolState === void 0 ? void 0 : targetSymbolState.dimension_hover) || (targetSymbolState === null || targetSymbolState === void 0 ? void 0 : targetSymbolState.dimension_hover_reverse))) {
63818
+ this.event.on(DimensionEventEnum.dimensionHover, this._handleDimensionHover);
63819
+ }
63820
+ }
63821
+ _getTargetSymbolGraphic() {
63822
+ var _a;
63823
+ return (_a = this._markerComponent) === null || _a === void 0 ? void 0 : _a.find(node => node.name === 'mark-point-targetItem', true);
63824
+ }
63825
+ _isDimensionHoverTarget(params) {
63826
+ var _a, _b, _c, _d;
63827
+ const latestData = (_a = this._markerData) === null || _a === void 0 ? void 0 : _a.latestData;
63828
+ const markerData = (_c = (_b = latestData === null || latestData === void 0 ? void 0 : latestData[0]) === null || _b === void 0 ? void 0 : _b.latestData) !== null && _c !== void 0 ? _c : latestData;
63829
+ const markerXValues = array((_d = markerData === null || markerData === void 0 ? void 0 : markerData[0]) === null || _d === void 0 ? void 0 : _d.x).filter(isValid$1);
63830
+ return markerXValues.some(value => params.dimensionInfo.some(dimension => dimension.value === value));
63770
63831
  }
63771
63832
  static _getMarkerCoordinateType(markerSpec) {
63772
63833
  const { doPolarProcess, doGeoProcess } = getMarkPointProcessInfo(markerSpec);
package/build/index.js CHANGED
@@ -33415,7 +33415,7 @@
33415
33415
  runtimePluginInstallers: {},
33416
33416
  formatter: undefined
33417
33417
  });
33418
- const factoryRegistryVersion = "2.1.4";
33418
+ const factoryRegistryVersion = "2.1.5";
33419
33419
  const factoryRegistryKey = Symbol.for(`@visactor/vchart/factory-registry@${factoryRegistryVersion}`);
33420
33420
  const globalFactoryRegistry = globalThis;
33421
33421
  const factoryRegistry = (_a = globalFactoryRegistry[factoryRegistryKey]) !== null && _a !== void 0 ? _a : (globalFactoryRegistry[factoryRegistryKey] = createFactoryRegistry());
@@ -48090,7 +48090,6 @@
48090
48090
  }
48091
48091
  _reCompile(updateResult, morphConfig) {
48092
48092
  var _a, _b, _c, _d, _e, _f, _g;
48093
- const shouldRestoreUserEvents = updateResult.reMake && !!this._chart;
48094
48093
  if (updateResult.reMake) {
48095
48094
  this._releaseData();
48096
48095
  this._initDataSet();
@@ -48110,9 +48109,6 @@
48110
48109
  if (updateResult.reMake) {
48111
48110
  const cacheGrammarForMorph = this.isAnimationEnable() && (morphConfig === null || morphConfig === void 0 ? void 0 : morphConfig.morph) !== false;
48112
48111
  (_c = this._compiler) === null || _c === void 0 ? void 0 : _c.releaseGrammar(!cacheGrammarForMorph);
48113
- if (shouldRestoreUserEvents) {
48114
- this._userEvents.forEach(e => { var _a; return (_a = this._event) === null || _a === void 0 ? void 0 : _a.on(e.eType, e.query, e.handler); });
48115
- }
48116
48112
  }
48117
48113
  else if (updateResult.reCompile) {
48118
48114
  (_d = this._compiler) === null || _d === void 0 ? void 0 : _d.clear({ chart: this._chart, vChart: this });
@@ -49428,7 +49424,7 @@
49428
49424
  });
49429
49425
  };
49430
49426
 
49431
- const version = "2.1.4";
49427
+ const version = "2.1.5";
49432
49428
 
49433
49429
  const addVChartProperty = (data, op) => {
49434
49430
  const context = op.beforeCall();
@@ -52319,6 +52315,10 @@
52319
52315
  query: null,
52320
52316
  callback: this.onMouseMove
52321
52317
  });
52318
+ this._eventDispatcher.unregister('pointerout', {
52319
+ query: null,
52320
+ callback: this.onMouseOut
52321
+ });
52322
52322
  if (isMobileLikeMode(this._mode)) {
52323
52323
  this._eventDispatcher.unregister('pointerdown', {
52324
52324
  query: null,
@@ -62823,6 +62823,7 @@
62823
62823
  m.beforeRelease();
62824
62824
  });
62825
62825
  }
62826
+ this._event.release();
62826
62827
  super.release();
62827
62828
  this.clear();
62828
62829
  [...this._components, ...this._regions, ...this._series].forEach(m => {
@@ -96922,7 +96923,9 @@
96922
96923
  pager = cloneDeep(pager);
96923
96924
  background = cloneDeep(background);
96924
96925
  const attrs = restSpec;
96925
- if (isFunction$1(attrs.maxRow) || isFunction$1(attrs.maxCol)) {
96926
+ const pagerLayout = pager.layout;
96927
+ const pagerPosition = pager.position;
96928
+ if (isFunction$1(attrs.maxRow) || isFunction$1(attrs.maxCol) || isFunction$1(pagerLayout) || isFunction$1(pagerPosition)) {
96926
96929
  const resolvedOrient = isValidOrient(layoutOrient) ? layoutOrient : isValidOrient(orient) ? orient : 'left';
96927
96930
  if (isFunction$1(attrs.maxRow)) {
96928
96931
  attrs.maxRow = attrs.maxRow({ rect, orient: resolvedOrient, id });
@@ -96930,6 +96933,20 @@
96930
96933
  if (isFunction$1(attrs.maxCol)) {
96931
96934
  attrs.maxCol = attrs.maxCol({ rect, orient: resolvedOrient, id });
96932
96935
  }
96936
+ const isArrowPager = pager.type !== 'scrollbar';
96937
+ const pagerContext = {
96938
+ rect,
96939
+ orient: resolvedOrient,
96940
+ id,
96941
+ maxRow: attrs.maxRow,
96942
+ maxCol: attrs.maxCol
96943
+ };
96944
+ if (isArrowPager && isFunction$1(pagerLayout)) {
96945
+ pager.layout = pagerLayout(pagerContext);
96946
+ }
96947
+ if (isArrowPager && isFunction$1(pagerPosition)) {
96948
+ pager.position = pagerPosition(pagerContext);
96949
+ }
96933
96950
  }
96934
96951
  if (title.visible) {
96935
96952
  attrs.title = transformLegendTitleAttributes(title);
@@ -105616,6 +105633,50 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
105616
105633
  super(...arguments);
105617
105634
  this.specKey = 'markPoint';
105618
105635
  this.layoutZIndex = exports.LayoutZIndex.MarkPoint;
105636
+ this._handleDimensionHover = (params) => {
105637
+ var _a, _b;
105638
+ const targetSymbol = this._getTargetSymbolGraphic();
105639
+ if (!targetSymbol) {
105640
+ return;
105641
+ }
105642
+ switch (params.action) {
105643
+ case 'enter': {
105644
+ targetSymbol.removeState(exports.STATE_VALUE_ENUM.STATE_DIMENSION_HOVER);
105645
+ targetSymbol.removeState(exports.STATE_VALUE_ENUM.STATE_DIMENSION_HOVER_REVERSE);
105646
+ if (this._isDimensionHoverTarget(params)) {
105647
+ targetSymbol.addState(exports.STATE_VALUE_ENUM.STATE_DIMENSION_HOVER, true);
105648
+ }
105649
+ else if ((_b = (_a = this._spec.targetSymbol) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.dimension_hover_reverse) {
105650
+ targetSymbol.addState(exports.STATE_VALUE_ENUM.STATE_DIMENSION_HOVER_REVERSE, true);
105651
+ }
105652
+ break;
105653
+ }
105654
+ case 'leave':
105655
+ targetSymbol.removeState(exports.STATE_VALUE_ENUM.STATE_DIMENSION_HOVER);
105656
+ targetSymbol.removeState(exports.STATE_VALUE_ENUM.STATE_DIMENSION_HOVER_REVERSE);
105657
+ break;
105658
+ }
105659
+ };
105660
+ }
105661
+ initEvent() {
105662
+ var _a;
105663
+ super.initEvent();
105664
+ const targetSymbolState = (_a = this._spec.targetSymbol) === null || _a === void 0 ? void 0 : _a.state;
105665
+ if (this.coordinateType === 'cartesian' &&
105666
+ ((targetSymbolState === null || targetSymbolState === void 0 ? void 0 : targetSymbolState.dimension_hover) || (targetSymbolState === null || targetSymbolState === void 0 ? void 0 : targetSymbolState.dimension_hover_reverse))) {
105667
+ this.event.on(exports.DimensionEventEnum.dimensionHover, this._handleDimensionHover);
105668
+ }
105669
+ }
105670
+ _getTargetSymbolGraphic() {
105671
+ var _a;
105672
+ return (_a = this._markerComponent) === null || _a === void 0 ? void 0 : _a.find(node => node.name === 'mark-point-targetItem', true);
105673
+ }
105674
+ _isDimensionHoverTarget(params) {
105675
+ var _a, _b, _c, _d;
105676
+ const latestData = (_a = this._markerData) === null || _a === void 0 ? void 0 : _a.latestData;
105677
+ const markerData = (_c = (_b = latestData === null || latestData === void 0 ? void 0 : latestData[0]) === null || _b === void 0 ? void 0 : _b.latestData) !== null && _c !== void 0 ? _c : latestData;
105678
+ const markerXValues = array((_d = markerData === null || markerData === void 0 ? void 0 : markerData[0]) === null || _d === void 0 ? void 0 : _d.x).filter(isValid$1);
105679
+ return markerXValues.some(value => params.dimensionInfo.some(dimension => dimension.value === value));
105619
105680
  }
105620
105681
  static _getMarkerCoordinateType(markerSpec) {
105621
105682
  const { doPolarProcess, doGeoProcess } = getMarkPointProcessInfo(markerSpec);