@visactor/vchart-extension 2.0.22-alpha.4 → 2.0.22
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/build/index.js +107 -0
- package/build/index.min.js +1 -1
- package/cjs/charts/axis-3d/index.js +1 -2
- package/cjs/charts/bar-3d/chart-spec-transformer.js +1 -1
- package/cjs/charts/bar-3d/chart.js +1 -1
- package/cjs/charts/bar-3d/constant.js +2 -1
- package/cjs/charts/bar-3d/index.js +1 -1
- package/cjs/charts/bar-3d/interface.js +1 -1
- package/cjs/charts/bar-3d/series-spec-transformer.js +1 -1
- package/cjs/charts/bar-3d/series.js +1 -1
- package/cjs/charts/bar-3d/theme.js +1 -1
- package/cjs/charts/candlestick/candlestick-transformer.js +1 -1
- package/cjs/charts/candlestick/candlestick.js +2 -1
- package/cjs/charts/candlestick/index.js +1 -1
- package/cjs/charts/candlestick/interface.js +1 -1
- package/cjs/charts/candlestick/util.js +1 -1
- package/cjs/charts/combination-candlestick/combination-candlestick-transformer.js +1 -1
- package/cjs/charts/combination-candlestick/combination-candlestick.js +1 -1
- package/cjs/charts/combination-candlestick/constant.js +1 -1
- package/cjs/charts/combination-candlestick/index.js +1 -1
- package/cjs/charts/combination-candlestick/interface.js +1 -1
- package/cjs/charts/conversion-funnel/arrow-data-transform.js +1 -1
- package/cjs/charts/conversion-funnel/constants.js +1 -1
- package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js +1 -1
- package/cjs/charts/conversion-funnel/conversion-funnel.js +1 -1
- package/cjs/charts/conversion-funnel/index.js +1 -1
- package/cjs/charts/conversion-funnel/interface.js +1 -1
- package/cjs/charts/conversion-funnel/util.js +1 -1
- package/cjs/charts/funnel-3d/chart.js +2 -1
- package/cjs/charts/funnel-3d/constant.js +1 -1
- package/cjs/charts/funnel-3d/index.js +1 -1
- package/cjs/charts/funnel-3d/interface.js +1 -1
- package/cjs/charts/funnel-3d/series-spec-transformer.js +1 -1
- package/cjs/charts/funnel-3d/series.js +1 -1
- package/cjs/charts/funnel-3d/theme.js +1 -1
- package/cjs/charts/histogram-3d/chart.js +1 -1
- package/cjs/components/bar-link/bar-link.js +1 -1
- package/cjs/components/bar-link/constant.js +1 -1
- package/cjs/components/bar-link/index.js +1 -1
- package/cjs/components/bar-link/type.js +1 -1
- package/cjs/components/bar-link/util.js +1 -1
- package/cjs/components/bar-regression-line/index.js +1 -1
- package/cjs/components/bar-regression-line/type.js +1 -1
- package/cjs/components/extension-mark-sync-state/extension-mark-sync-state.d.ts +16 -0
- package/cjs/components/extension-mark-sync-state/extension-mark-sync-state.js +81 -0
- package/cjs/components/extension-mark-sync-state/extension-mark-sync-state.js.map +1 -0
- package/cjs/components/extension-mark-sync-state/index.d.ts +2 -0
- package/cjs/components/extension-mark-sync-state/index.js +35 -0
- package/cjs/components/extension-mark-sync-state/index.js.map +1 -0
- package/cjs/components/extension-mark-sync-state/type.d.ts +11 -0
- package/cjs/components/extension-mark-sync-state/type.js +6 -0
- package/cjs/components/extension-mark-sync-state/type.js.map +1 -0
- package/cjs/components/histogram-regression-line/index.js +1 -1
- package/cjs/components/histogram-regression-line/type.js +1 -2
- package/cjs/components/map-label/index.js +1 -1
- package/cjs/components/map-label/layout.js +1 -1
- package/cjs/components/map-label/map-label-transformer.js +1 -1
- package/cjs/components/map-label/map-label.js +1 -1
- package/cjs/components/map-label/theme.js +1 -1
- package/cjs/components/map-label/type.js +1 -1
- package/cjs/components/regression-line/index.js +1 -1
- package/cjs/components/regression-line/regression-line.js +1 -1
- package/cjs/components/regression-line/type.js +1 -1
- package/cjs/components/scatter-regression-line/index.js +1 -1
- package/cjs/components/scatter-regression-line/type.js +1 -1
- package/cjs/components/series-break/constant.js +1 -1
- package/cjs/components/series-break/index.js +1 -1
- package/cjs/components/series-break/series-break.js +1 -1
- package/cjs/components/series-break/type.js +1 -1
- package/cjs/components/series-break/util.js +1 -2
- package/cjs/components/series-label/constant.js +1 -1
- package/cjs/components/series-label/index.js +1 -1
- package/cjs/components/series-label/series-label.js +1 -1
- package/cjs/components/series-label/type.js +1 -1
- package/cjs/components/series-label/util.js +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +2 -1
- package/cjs/index.js.map +1 -1
- package/esm/charts/axis-3d/index.js +1 -2
- package/esm/charts/bar-3d/chart-spec-transformer.js +1 -1
- package/esm/charts/bar-3d/chart.js +1 -1
- package/esm/charts/bar-3d/constant.js +2 -1
- package/esm/charts/bar-3d/index.js +1 -1
- package/esm/charts/bar-3d/interface.js +1 -1
- package/esm/charts/bar-3d/series-spec-transformer.js +1 -1
- package/esm/charts/bar-3d/series.js +1 -1
- package/esm/charts/bar-3d/theme.js +1 -1
- package/esm/charts/candlestick/candlestick-transformer.js +1 -1
- package/esm/charts/candlestick/candlestick.js +2 -1
- package/esm/charts/candlestick/index.js +1 -1
- package/esm/charts/candlestick/interface.js +1 -1
- package/esm/charts/candlestick/util.js +1 -1
- package/esm/charts/combination-candlestick/combination-candlestick-transformer.js +1 -1
- package/esm/charts/combination-candlestick/combination-candlestick.js +1 -1
- package/esm/charts/combination-candlestick/constant.js +1 -1
- package/esm/charts/combination-candlestick/index.js +1 -1
- package/esm/charts/combination-candlestick/interface.js +1 -1
- package/esm/charts/conversion-funnel/arrow-data-transform.js +1 -1
- package/esm/charts/conversion-funnel/constants.js +1 -1
- package/esm/charts/conversion-funnel/conversion-funnel-transformer.js +1 -1
- package/esm/charts/conversion-funnel/conversion-funnel.js +1 -1
- package/esm/charts/conversion-funnel/index.js +1 -1
- package/esm/charts/conversion-funnel/interface.js +1 -1
- package/esm/charts/conversion-funnel/util.js +1 -1
- package/esm/charts/funnel-3d/chart.js +2 -1
- package/esm/charts/funnel-3d/constant.js +1 -1
- package/esm/charts/funnel-3d/index.js +1 -1
- package/esm/charts/funnel-3d/interface.js +1 -1
- package/esm/charts/funnel-3d/series-spec-transformer.js +1 -1
- package/esm/charts/funnel-3d/series.js +1 -1
- package/esm/charts/funnel-3d/theme.js +1 -1
- package/esm/charts/histogram-3d/chart.js +1 -1
- package/esm/components/bar-link/bar-link.js +1 -1
- package/esm/components/bar-link/constant.js +1 -1
- package/esm/components/bar-link/index.js +1 -1
- package/esm/components/bar-link/type.js +1 -1
- package/esm/components/bar-link/util.js +1 -1
- package/esm/components/bar-regression-line/index.js +1 -1
- package/esm/components/bar-regression-line/type.js +1 -1
- package/esm/components/extension-mark-sync-state/extension-mark-sync-state.d.ts +16 -0
- package/esm/components/extension-mark-sync-state/extension-mark-sync-state.js +73 -0
- package/esm/components/extension-mark-sync-state/extension-mark-sync-state.js.map +1 -0
- package/esm/components/extension-mark-sync-state/index.d.ts +2 -0
- package/esm/components/extension-mark-sync-state/index.js +4 -0
- package/esm/components/extension-mark-sync-state/index.js.map +1 -0
- package/esm/components/extension-mark-sync-state/type.d.ts +11 -0
- package/esm/components/extension-mark-sync-state/type.js +2 -0
- package/esm/components/extension-mark-sync-state/type.js.map +1 -0
- package/esm/components/histogram-regression-line/index.js +1 -1
- package/esm/components/histogram-regression-line/type.js +1 -2
- package/esm/components/map-label/index.js +1 -1
- package/esm/components/map-label/layout.js +1 -1
- package/esm/components/map-label/map-label-transformer.js +1 -1
- package/esm/components/map-label/map-label.js +1 -1
- package/esm/components/map-label/theme.js +1 -1
- package/esm/components/map-label/type.js +1 -1
- package/esm/components/regression-line/index.js +1 -1
- package/esm/components/regression-line/regression-line.js +1 -1
- package/esm/components/regression-line/type.js +1 -1
- package/esm/components/scatter-regression-line/index.js +1 -1
- package/esm/components/scatter-regression-line/type.js +1 -1
- package/esm/components/series-break/constant.js +1 -1
- package/esm/components/series-break/index.js +1 -1
- package/esm/components/series-break/series-break.js +1 -1
- package/esm/components/series-break/type.js +1 -1
- package/esm/components/series-break/util.js +1 -2
- package/esm/components/series-label/constant.js +1 -1
- package/esm/components/series-label/index.js +1 -1
- package/esm/components/series-label/series-label.js +1 -1
- package/esm/components/series-label/type.js +1 -1
- package/esm/components/series-label/util.js +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +3 -1
- package/esm/index.js.map +1 -1
- package/package.json +2 -2
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;
|