@visactor/vchart-extension 2.0.22-alpha.4 → 2.0.23-alpha.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 (155) hide show
  1. package/build/index.js +107 -0
  2. package/build/index.min.js +1 -1
  3. package/cjs/charts/axis-3d/index.js +1 -2
  4. package/cjs/charts/bar-3d/chart-spec-transformer.js +1 -1
  5. package/cjs/charts/bar-3d/chart.js +1 -1
  6. package/cjs/charts/bar-3d/constant.js +2 -1
  7. package/cjs/charts/bar-3d/index.js +1 -1
  8. package/cjs/charts/bar-3d/interface.js +1 -1
  9. package/cjs/charts/bar-3d/series-spec-transformer.js +1 -1
  10. package/cjs/charts/bar-3d/series.js +1 -1
  11. package/cjs/charts/bar-3d/theme.js +1 -1
  12. package/cjs/charts/candlestick/candlestick-transformer.js +1 -1
  13. package/cjs/charts/candlestick/candlestick.js +2 -1
  14. package/cjs/charts/candlestick/index.js +1 -1
  15. package/cjs/charts/candlestick/interface.js +1 -1
  16. package/cjs/charts/candlestick/util.js +1 -1
  17. package/cjs/charts/combination-candlestick/combination-candlestick-transformer.js +1 -1
  18. package/cjs/charts/combination-candlestick/combination-candlestick.js +1 -1
  19. package/cjs/charts/combination-candlestick/constant.js +1 -1
  20. package/cjs/charts/combination-candlestick/index.js +1 -1
  21. package/cjs/charts/combination-candlestick/interface.js +1 -1
  22. package/cjs/charts/conversion-funnel/arrow-data-transform.js +1 -1
  23. package/cjs/charts/conversion-funnel/constants.js +1 -1
  24. package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js +1 -1
  25. package/cjs/charts/conversion-funnel/conversion-funnel.js +1 -1
  26. package/cjs/charts/conversion-funnel/index.js +1 -1
  27. package/cjs/charts/conversion-funnel/interface.js +1 -1
  28. package/cjs/charts/conversion-funnel/util.js +1 -1
  29. package/cjs/charts/funnel-3d/chart.js +2 -1
  30. package/cjs/charts/funnel-3d/constant.js +1 -1
  31. package/cjs/charts/funnel-3d/index.js +1 -1
  32. package/cjs/charts/funnel-3d/interface.js +1 -1
  33. package/cjs/charts/funnel-3d/series-spec-transformer.js +1 -1
  34. package/cjs/charts/funnel-3d/series.js +1 -1
  35. package/cjs/charts/funnel-3d/theme.js +1 -1
  36. package/cjs/charts/histogram-3d/chart.js +1 -1
  37. package/cjs/components/bar-link/bar-link.js +1 -1
  38. package/cjs/components/bar-link/constant.js +1 -1
  39. package/cjs/components/bar-link/index.js +1 -1
  40. package/cjs/components/bar-link/type.js +1 -1
  41. package/cjs/components/bar-link/util.js +1 -1
  42. package/cjs/components/bar-regression-line/index.js +1 -1
  43. package/cjs/components/bar-regression-line/type.js +1 -1
  44. package/cjs/components/extension-mark-sync-state/extension-mark-sync-state.d.ts +16 -0
  45. package/cjs/components/extension-mark-sync-state/extension-mark-sync-state.js +81 -0
  46. package/cjs/components/extension-mark-sync-state/extension-mark-sync-state.js.map +1 -0
  47. package/cjs/components/extension-mark-sync-state/index.d.ts +2 -0
  48. package/cjs/components/extension-mark-sync-state/index.js +35 -0
  49. package/cjs/components/extension-mark-sync-state/index.js.map +1 -0
  50. package/cjs/components/extension-mark-sync-state/type.d.ts +11 -0
  51. package/cjs/components/extension-mark-sync-state/type.js +5 -0
  52. package/cjs/components/extension-mark-sync-state/type.js.map +1 -0
  53. package/cjs/components/histogram-regression-line/index.js +1 -1
  54. package/cjs/components/histogram-regression-line/type.js +1 -1
  55. package/cjs/components/map-label/index.js +1 -1
  56. package/cjs/components/map-label/layout.js +1 -1
  57. package/cjs/components/map-label/map-label-transformer.js +1 -1
  58. package/cjs/components/map-label/map-label.js +1 -1
  59. package/cjs/components/map-label/theme.js +1 -1
  60. package/cjs/components/map-label/type.js +1 -1
  61. package/cjs/components/regression-line/index.js +1 -1
  62. package/cjs/components/regression-line/regression-line.js +1 -1
  63. package/cjs/components/regression-line/type.js +1 -1
  64. package/cjs/components/scatter-regression-line/index.js +1 -1
  65. package/cjs/components/scatter-regression-line/type.js +1 -1
  66. package/cjs/components/series-break/constant.js +1 -1
  67. package/cjs/components/series-break/index.js +1 -1
  68. package/cjs/components/series-break/series-break.js +1 -1
  69. package/cjs/components/series-break/type.js +1 -1
  70. package/cjs/components/series-break/util.js +1 -2
  71. package/cjs/components/series-label/constant.js +1 -1
  72. package/cjs/components/series-label/index.js +1 -1
  73. package/cjs/components/series-label/series-label.js +1 -1
  74. package/cjs/components/series-label/type.js +1 -1
  75. package/cjs/components/series-label/util.js +1 -1
  76. package/cjs/index.d.ts +1 -0
  77. package/cjs/index.js +2 -1
  78. package/cjs/index.js.map +1 -1
  79. package/esm/charts/axis-3d/index.js +1 -2
  80. package/esm/charts/bar-3d/chart-spec-transformer.js +1 -1
  81. package/esm/charts/bar-3d/chart.js +1 -1
  82. package/esm/charts/bar-3d/constant.js +2 -1
  83. package/esm/charts/bar-3d/index.js +1 -1
  84. package/esm/charts/bar-3d/interface.js +1 -1
  85. package/esm/charts/bar-3d/series-spec-transformer.js +1 -1
  86. package/esm/charts/bar-3d/series.js +1 -1
  87. package/esm/charts/bar-3d/theme.js +1 -1
  88. package/esm/charts/candlestick/candlestick-transformer.js +1 -1
  89. package/esm/charts/candlestick/candlestick.js +2 -1
  90. package/esm/charts/candlestick/index.js +1 -1
  91. package/esm/charts/candlestick/interface.js +1 -1
  92. package/esm/charts/candlestick/util.js +1 -1
  93. package/esm/charts/combination-candlestick/combination-candlestick-transformer.js +1 -1
  94. package/esm/charts/combination-candlestick/combination-candlestick.js +1 -1
  95. package/esm/charts/combination-candlestick/constant.js +1 -1
  96. package/esm/charts/combination-candlestick/index.js +1 -1
  97. package/esm/charts/combination-candlestick/interface.js +1 -1
  98. package/esm/charts/conversion-funnel/arrow-data-transform.js +1 -1
  99. package/esm/charts/conversion-funnel/constants.js +1 -1
  100. package/esm/charts/conversion-funnel/conversion-funnel-transformer.js +1 -1
  101. package/esm/charts/conversion-funnel/conversion-funnel.js +1 -1
  102. package/esm/charts/conversion-funnel/index.js +1 -1
  103. package/esm/charts/conversion-funnel/interface.js +1 -1
  104. package/esm/charts/conversion-funnel/util.js +1 -1
  105. package/esm/charts/funnel-3d/chart.js +2 -1
  106. package/esm/charts/funnel-3d/constant.js +1 -1
  107. package/esm/charts/funnel-3d/index.js +1 -1
  108. package/esm/charts/funnel-3d/interface.js +1 -1
  109. package/esm/charts/funnel-3d/series-spec-transformer.js +1 -1
  110. package/esm/charts/funnel-3d/series.js +1 -1
  111. package/esm/charts/funnel-3d/theme.js +1 -1
  112. package/esm/charts/histogram-3d/chart.js +1 -1
  113. package/esm/components/bar-link/bar-link.js +1 -1
  114. package/esm/components/bar-link/constant.js +1 -1
  115. package/esm/components/bar-link/index.js +1 -1
  116. package/esm/components/bar-link/type.js +1 -1
  117. package/esm/components/bar-link/util.js +1 -1
  118. package/esm/components/bar-regression-line/index.js +1 -1
  119. package/esm/components/bar-regression-line/type.js +1 -1
  120. package/esm/components/extension-mark-sync-state/extension-mark-sync-state.d.ts +16 -0
  121. package/esm/components/extension-mark-sync-state/extension-mark-sync-state.js +73 -0
  122. package/esm/components/extension-mark-sync-state/extension-mark-sync-state.js.map +1 -0
  123. package/esm/components/extension-mark-sync-state/index.d.ts +2 -0
  124. package/esm/components/extension-mark-sync-state/index.js +4 -0
  125. package/esm/components/extension-mark-sync-state/index.js.map +1 -0
  126. package/esm/components/extension-mark-sync-state/type.d.ts +11 -0
  127. package/esm/components/extension-mark-sync-state/type.js +1 -0
  128. package/esm/components/extension-mark-sync-state/type.js.map +1 -0
  129. package/esm/components/histogram-regression-line/index.js +1 -1
  130. package/esm/components/histogram-regression-line/type.js +1 -1
  131. package/esm/components/map-label/index.js +1 -1
  132. package/esm/components/map-label/layout.js +1 -1
  133. package/esm/components/map-label/map-label-transformer.js +1 -1
  134. package/esm/components/map-label/map-label.js +1 -1
  135. package/esm/components/map-label/theme.js +1 -1
  136. package/esm/components/map-label/type.js +1 -1
  137. package/esm/components/regression-line/index.js +1 -1
  138. package/esm/components/regression-line/regression-line.js +1 -1
  139. package/esm/components/regression-line/type.js +1 -1
  140. package/esm/components/scatter-regression-line/index.js +1 -1
  141. package/esm/components/scatter-regression-line/type.js +1 -1
  142. package/esm/components/series-break/constant.js +1 -1
  143. package/esm/components/series-break/index.js +1 -1
  144. package/esm/components/series-break/series-break.js +1 -1
  145. package/esm/components/series-break/type.js +1 -1
  146. package/esm/components/series-break/util.js +1 -2
  147. package/esm/components/series-label/constant.js +1 -1
  148. package/esm/components/series-label/index.js +1 -1
  149. package/esm/components/series-label/series-label.js +1 -1
  150. package/esm/components/series-label/type.js +1 -1
  151. package/esm/components/series-label/util.js +1 -1
  152. package/esm/index.d.ts +1 -0
  153. package/esm/index.js +3 -1
  154. package/esm/index.js.map +1 -1
  155. package/package.json +8 -8
package/build/index.js CHANGED
@@ -7813,6 +7813,111 @@
7813
7813
  });
7814
7814
  }
7815
7815
 
7816
+ const EXTENSION_MARK_SYNC_STATE_PLUGIN_TYPE = 'ExtensionMarkSyncStatePlugin';
7817
+ class ExtensionMarkSyncStatePlugin extends vchart.BasePlugin {
7818
+ constructor() {
7819
+ super(EXTENSION_MARK_SYNC_STATE_PLUGIN_TYPE);
7820
+ this.type = EXTENSION_MARK_SYNC_STATE_PLUGIN_TYPE;
7821
+ }
7822
+ onAfterInitChart(service, chartSpec) {
7823
+ var _a;
7824
+ if (!this._detectSyncState(chartSpec)) {
7825
+ return;
7826
+ }
7827
+ const chart = service.globalInstance.getChart();
7828
+ if (!chart) {
7829
+ return;
7830
+ }
7831
+ const event = chart.getEvent();
7832
+ if (this._subscribedEvent === event) {
7833
+ return;
7834
+ }
7835
+ (_a = this._unsubscribeAfterRender) === null || _a === void 0 ? void 0 : _a.call(this);
7836
+ const handler = () => this._syncStates();
7837
+ event.on(vchart.ChartEvent.afterRender, handler);
7838
+ this._subscribedEvent = event;
7839
+ this._unsubscribeAfterRender = () => {
7840
+ event.off(vchart.ChartEvent.afterRender, handler);
7841
+ this._subscribedEvent = undefined;
7842
+ };
7843
+ }
7844
+ release() {
7845
+ var _a;
7846
+ (_a = this._unsubscribeAfterRender) === null || _a === void 0 ? void 0 : _a.call(this);
7847
+ super.release();
7848
+ }
7849
+ _detectSyncState(chartSpec) {
7850
+ const seriesSpecs = chartSpec === null || chartSpec === void 0 ? void 0 : chartSpec.series;
7851
+ if (seriesSpecs === null || seriesSpecs === void 0 ? void 0 : seriesSpecs.some((s) => this._hasExtensionMarkWithSyncState(s.extensionMark))) {
7852
+ return true;
7853
+ }
7854
+ return this._hasExtensionMarkWithSyncState(chartSpec === null || chartSpec === void 0 ? void 0 : chartSpec.extensionMark);
7855
+ }
7856
+ _hasExtensionMarkWithSyncState(extensionMarks) {
7857
+ return !!(extensionMarks === null || extensionMarks === void 0 ? void 0 : extensionMarks.some(m => m.type !== 'group' && m.syncState));
7858
+ }
7859
+ _syncStates() {
7860
+ var _a;
7861
+ const chart = (_a = this.service) === null || _a === void 0 ? void 0 : _a.globalInstance.getChart();
7862
+ if (!chart) {
7863
+ return;
7864
+ }
7865
+ chart.getAllSeries().forEach(series => {
7866
+ var _a, _b;
7867
+ const syncSpecs = (_b = (_a = series.getSpec()) === null || _a === void 0 ? void 0 : _a.extensionMark) === null || _b === void 0 ? void 0 : _b.filter(m => m.type !== 'group' && m.syncState);
7868
+ if (syncSpecs === null || syncSpecs === void 0 ? void 0 : syncSpecs.length) {
7869
+ this._syncSeriesStates(series, syncSpecs);
7870
+ }
7871
+ });
7872
+ }
7873
+ _syncSeriesStates(series, extensionMarkSpecs) {
7874
+ const mainGraphicByKey = new Map();
7875
+ series.getActiveMarks().forEach((mark) => {
7876
+ mark.getGraphics().forEach(g => {
7877
+ var _a;
7878
+ const key = (_a = g.context) === null || _a === void 0 ? void 0 : _a.key;
7879
+ if (vchart.isValid(key)) {
7880
+ mainGraphicByKey.set(String(key), g);
7881
+ }
7882
+ });
7883
+ });
7884
+ if (mainGraphicByKey.size === 0) {
7885
+ return;
7886
+ }
7887
+ const namePrefix = `${series.type}_${series.id}_extensionMark`;
7888
+ extensionMarkSpecs.forEach((spec, i) => {
7889
+ const markName = vchart.isValid(spec.name) ? `${spec.name}` : `${namePrefix}_${i}`;
7890
+ const extMark = series.getMarkInName(markName);
7891
+ if (!extMark) {
7892
+ return;
7893
+ }
7894
+ extMark.getGraphics().forEach(extGraphic => {
7895
+ var _a;
7896
+ const key = (_a = extGraphic.context) === null || _a === void 0 ? void 0 : _a.key;
7897
+ if (!vchart.isValid(key)) {
7898
+ return;
7899
+ }
7900
+ const mainGraphic = mainGraphicByKey.get(String(key));
7901
+ if (!mainGraphic) {
7902
+ return;
7903
+ }
7904
+ const currentStates = mainGraphic.currentStates;
7905
+ if (currentStates === null || currentStates === void 0 ? void 0 : currentStates.length) {
7906
+ extGraphic.useStates(currentStates);
7907
+ }
7908
+ else {
7909
+ extGraphic.clearStates();
7910
+ }
7911
+ });
7912
+ });
7913
+ }
7914
+ }
7915
+ ExtensionMarkSyncStatePlugin.pluginType = 'chart';
7916
+ ExtensionMarkSyncStatePlugin.type = EXTENSION_MARK_SYNC_STATE_PLUGIN_TYPE;
7917
+ const registerExtensionMarkSyncStatePlugin = () => {
7918
+ vchart.registerChartPlugin(ExtensionMarkSyncStatePlugin);
7919
+ };
7920
+
7816
7921
  exports.BAR_LINK = BAR_LINK;
7817
7922
  exports.Bar3dChart = Bar3dChart;
7818
7923
  exports.Bar3dChartSpecTransformer = Bar3dChartSpecTransformer;
@@ -7828,6 +7933,7 @@
7828
7933
  exports.ConversionFunnelSeries = ConversionFunnelSeries;
7829
7934
  exports.DEFAULT_STROKE_COLOR = DEFAULT_STROKE_COLOR;
7830
7935
  exports.DefaultBandWidth = DefaultBandWidth;
7936
+ exports.ExtensionMarkSyncStatePlugin = ExtensionMarkSyncStatePlugin;
7831
7937
  exports.Funnel3dChart = Funnel3dChart;
7832
7938
  exports.Funnel3dSeries = Funnel3dSeries;
7833
7939
  exports.Funnel3dSeriesSpecTransformer = Funnel3dSeriesSpecTransformer;
@@ -7883,6 +7989,7 @@
7883
7989
  exports.registerCombinationCandlestickChart = registerCombinationCandlestickChart;
7884
7990
  exports.registerConversionFunnelChart = registerConversionFunnelChart;
7885
7991
  exports.registerEventSeries = registerEventSeries;
7992
+ exports.registerExtensionMarkSyncStatePlugin = registerExtensionMarkSyncStatePlugin;
7886
7993
  exports.registerFunnel3dChart = registerFunnel3dChart;
7887
7994
  exports.registerFunnel3dSeries = registerFunnel3dSeries;
7888
7995
  exports.registerHistogram3dChart = registerHistogram3dChart;