@visactor/vchart 2.1.0-alpha.0 → 2.1.0-alpha.2
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/es5/index.js +3 -3
- package/build/index.es.js +2290 -473
- package/build/index.js +2290 -473
- package/build/index.min.js +2 -2
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/chart/base/base-chart-transformer.d.ts +3 -0
- package/cjs/chart/base/base-chart-transformer.js +21 -1
- package/cjs/chart/base/base-chart-transformer.js.map +1 -1
- package/cjs/chart/base/base-chart.d.ts +15 -9
- package/cjs/chart/base/base-chart.js +115 -24
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +1 -0
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/pie/base/pie-transformer.js +2 -2
- package/cjs/chart/pie/base/pie-transformer.js.map +1 -1
- package/cjs/chart/progress/circular/circular-progress-transformer.js +2 -2
- package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
- package/cjs/chart/util.d.ts +4 -1
- package/cjs/chart/util.js +40 -4
- package/cjs/chart/util.js.map +1 -1
- package/cjs/chart/waterfall/waterfall-transformer.js +2 -1
- package/cjs/chart/waterfall/waterfall-transformer.js.map +1 -1
- package/cjs/compile/compiler.js +2 -2
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/data/compilable-data.d.ts +1 -1
- package/cjs/compile/data/compilable-data.js +1 -1
- package/cjs/compile/data/compilable-data.js.map +1 -1
- package/cjs/compile/grammar-item.d.ts +1 -1
- package/cjs/compile/grammar-item.js.map +1 -1
- package/cjs/compile/interface/compilable-item.d.ts +1 -1
- package/cjs/compile/interface/compilable-item.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +2 -7
- package/cjs/component/axis/base-axis.js +25 -3
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.d.ts +1 -7
- package/cjs/component/base/base-component.d.ts +7 -7
- package/cjs/component/base/base-component.js +41 -6
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/base/release-vrender-component.d.ts +10 -0
- package/cjs/component/base/release-vrender-component.js +37 -0
- package/cjs/component/base/release-vrender-component.js.map +1 -0
- package/cjs/component/brush/brush.d.ts +2 -7
- package/cjs/component/brush/brush.js +3 -0
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +1 -7
- package/cjs/component/custom-mark/custom-mark.d.ts +1 -7
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -7
- package/cjs/component/geo/geo-coordinate.d.ts +1 -7
- package/cjs/component/index.js +1 -2
- package/cjs/component/label/base-label.d.ts +1 -7
- package/cjs/component/label/label.js +1 -1
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +2 -7
- package/cjs/component/legend/base-legend.js +20 -3
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +7 -7
- package/cjs/component/marker/base-marker.js +23 -6
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/mark-line/base-mark-line.js +2 -4
- package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
- package/cjs/component/title/title.d.ts +1 -7
- package/cjs/component/title/title.js +6 -2
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/constant/attribute.js +2 -1
- package/cjs/constant/scatter.js +1 -2
- package/cjs/constant/waterfall.js +2 -1
- package/cjs/core/factory.js +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/vchart.d.ts +5 -1
- package/cjs/core/vchart.js +28 -12
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/data-view-utils.d.ts +5 -0
- package/cjs/data/data-view-utils.js +58 -0
- package/cjs/data/data-view-utils.js.map +1 -0
- package/cjs/env/env.js +1 -1
- package/cjs/env/index.js +1 -1
- package/cjs/mark/base/base-mark.d.ts +12 -2
- package/cjs/mark/base/base-mark.js +85 -21
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/component.d.ts +9 -0
- package/cjs/mark/component.js +51 -3
- package/cjs/mark/component.js.map +1 -1
- package/cjs/mark/group.js +1 -1
- package/cjs/mark/group.js.map +1 -1
- package/cjs/mark/interface/mark.d.ts +2 -0
- package/cjs/mark/interface/mark.js.map +1 -1
- package/cjs/model/base-model.d.ts +3 -15
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +13 -0
- package/cjs/model/interface.js.map +1 -1
- package/cjs/region/region.d.ts +1 -7
- package/cjs/series/area/area.d.ts +2 -0
- package/cjs/series/area/area.js +6 -0
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +3 -0
- package/cjs/series/bar/bar.js +30 -4
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +8 -7
- package/cjs/series/base/base-series.js +54 -13
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/constant.d.ts +3 -0
- package/cjs/series/base/constant.js +9 -1
- package/cjs/series/base/constant.js.map +1 -1
- package/cjs/series/box-plot/box-plot.d.ts +2 -0
- package/cjs/series/box-plot/box-plot.js +14 -2
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/heatmap/heatmap.d.ts +2 -0
- package/cjs/series/heatmap/heatmap.js +10 -0
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/line/line.d.ts +2 -0
- package/cjs/series/line/line.js +6 -0
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +1 -0
- package/cjs/series/mixin/line-mixin.js +6 -1
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +3 -7
- package/cjs/series/pie/pie.js +16 -1
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/progress/circular/circular.d.ts +2 -0
- package/cjs/series/progress/circular/circular.js +9 -1
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/linear/linear.d.ts +2 -0
- package/cjs/series/progress/linear/linear.js +17 -1
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/scatter/scatter.d.ts +2 -0
- package/cjs/series/scatter/scatter.js +9 -1
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/waterfall/waterfall.d.ts +2 -0
- package/cjs/series/waterfall/waterfall.js +10 -0
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/util/graphic-state.d.ts +1 -0
- package/cjs/util/graphic-state.js +19 -4
- package/cjs/util/graphic-state.js.map +1 -1
- package/esm/chart/base/base-chart-transformer.d.ts +3 -0
- package/esm/chart/base/base-chart-transformer.js +22 -0
- package/esm/chart/base/base-chart-transformer.js.map +1 -1
- package/esm/chart/base/base-chart.d.ts +15 -9
- package/esm/chart/base/base-chart.js +111 -23
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +1 -0
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/pie/base/pie-transformer.js +2 -2
- package/esm/chart/pie/base/pie-transformer.js.map +1 -1
- package/esm/chart/progress/circular/circular-progress-transformer.js +2 -2
- package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
- package/esm/chart/util.d.ts +4 -1
- package/esm/chart/util.js +34 -1
- package/esm/chart/util.js.map +1 -1
- package/esm/chart/waterfall/waterfall-transformer.js +2 -1
- package/esm/chart/waterfall/waterfall-transformer.js.map +1 -1
- package/esm/compile/compiler.js +2 -2
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/data/compilable-data.d.ts +1 -1
- package/esm/compile/data/compilable-data.js +1 -1
- package/esm/compile/data/compilable-data.js.map +1 -1
- package/esm/compile/grammar-item.d.ts +1 -1
- package/esm/compile/grammar-item.js.map +1 -1
- package/esm/compile/interface/compilable-item.d.ts +1 -1
- package/esm/compile/interface/compilable-item.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +2 -7
- package/esm/component/axis/base-axis.js +25 -2
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.d.ts +1 -7
- package/esm/component/base/base-component.d.ts +7 -7
- package/esm/component/base/base-component.js +41 -5
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/base/release-vrender-component.d.ts +10 -0
- package/esm/component/base/release-vrender-component.js +24 -0
- package/esm/component/base/release-vrender-component.js.map +1 -0
- package/esm/component/brush/brush.d.ts +2 -7
- package/esm/component/brush/brush.js +3 -0
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +1 -7
- package/esm/component/custom-mark/custom-mark.d.ts +1 -7
- package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -7
- package/esm/component/geo/geo-coordinate.d.ts +1 -7
- package/esm/component/index.js +1 -2
- package/esm/component/label/base-label.d.ts +1 -7
- package/esm/component/label/label.js +1 -1
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +2 -7
- package/esm/component/legend/base-legend.js +20 -2
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +7 -7
- package/esm/component/marker/base-marker.js +24 -5
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/mark-line/base-mark-line.js +2 -4
- package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
- package/esm/component/title/title.d.ts +1 -7
- package/esm/component/title/title.js +6 -2
- package/esm/component/title/title.js.map +1 -1
- package/esm/constant/attribute.js +2 -1
- package/esm/constant/scatter.js +1 -2
- package/esm/constant/waterfall.js +2 -1
- package/esm/core/factory.js +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/vchart.d.ts +5 -1
- package/esm/core/vchart.js +29 -12
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/data-view-utils.d.ts +5 -0
- package/esm/data/data-view-utils.js +46 -0
- package/esm/data/data-view-utils.js.map +1 -0
- package/esm/env/env.js +1 -1
- package/esm/env/index.js +1 -1
- package/esm/mark/base/base-mark.d.ts +12 -2
- package/esm/mark/base/base-mark.js +85 -20
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/component.d.ts +9 -0
- package/esm/mark/component.js +51 -2
- package/esm/mark/component.js.map +1 -1
- package/esm/mark/group.js +1 -1
- package/esm/mark/group.js.map +1 -1
- package/esm/mark/interface/mark.d.ts +2 -0
- package/esm/mark/interface/mark.js.map +1 -1
- package/esm/model/base-model.d.ts +3 -15
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +13 -0
- package/esm/model/interface.js.map +1 -1
- package/esm/region/region.d.ts +1 -7
- package/esm/series/area/area.d.ts +2 -0
- package/esm/series/area/area.js +7 -1
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/bar/bar.d.ts +3 -0
- package/esm/series/bar/bar.js +30 -4
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series.d.ts +8 -7
- package/esm/series/base/base-series.js +50 -11
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/constant.d.ts +3 -0
- package/esm/series/base/constant.js +10 -0
- package/esm/series/base/constant.js.map +1 -1
- package/esm/series/box-plot/box-plot.d.ts +2 -0
- package/esm/series/box-plot/box-plot.js +13 -2
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/heatmap/heatmap.d.ts +2 -0
- package/esm/series/heatmap/heatmap.js +10 -0
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/line/line.d.ts +2 -0
- package/esm/series/line/line.js +7 -1
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +1 -0
- package/esm/series/mixin/line-mixin.js +5 -0
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/pie.d.ts +3 -7
- package/esm/series/pie/pie.js +17 -0
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/progress/circular/circular.d.ts +2 -0
- package/esm/series/progress/circular/circular.js +10 -0
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/linear/linear.d.ts +2 -0
- package/esm/series/progress/linear/linear.js +18 -0
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/scatter/scatter.d.ts +2 -0
- package/esm/series/scatter/scatter.js +10 -0
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/waterfall/waterfall.d.ts +2 -0
- package/esm/series/waterfall/waterfall.js +10 -0
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/util/graphic-state.d.ts +1 -0
- package/esm/util/graphic-state.js +16 -3
- package/esm/util/graphic-state.js.map +1 -1
- package/package.json +11 -10
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.releaseDataViewWithDependencies = exports.releaseDataView = exports.releaseDataViews = exports.detachDataViewDependencies = void 0;
|
|
6
|
+
|
|
7
|
+
const getDataViewsInDataSet = dataView => {
|
|
8
|
+
var _a;
|
|
9
|
+
const dataViewMap = null === (_a = null == dataView ? void 0 : dataView.dataSet) || void 0 === _a ? void 0 : _a.dataViewMap;
|
|
10
|
+
return dataViewMap ? Object.values(dataViewMap).filter(Boolean) : [];
|
|
11
|
+
}, detachDataViewListener = (source, target) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
null === (_a = null == source ? void 0 : source.target) || void 0 === _a || _a.removeListener("change", target.reRunAllTransform),
|
|
14
|
+
null === (_b = null == source ? void 0 : source.target) || void 0 === _b || _b.removeListener("markRunning", target.markRunning);
|
|
15
|
+
}, detachDataViewDependencies = dataView => {
|
|
16
|
+
if (!dataView) return;
|
|
17
|
+
getDataViewsInDataSet(dataView).forEach((source => {
|
|
18
|
+
detachDataViewListener(source, dataView);
|
|
19
|
+
}));
|
|
20
|
+
const dependencies = null == dataView ? void 0 : dataView.rawData;
|
|
21
|
+
Array.isArray(dependencies) && dependencies.forEach((dependency => {
|
|
22
|
+
detachDataViewListener(dependency, dataView);
|
|
23
|
+
}));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.detachDataViewDependencies = detachDataViewDependencies;
|
|
27
|
+
|
|
28
|
+
const releaseDataViews = dataViews => {
|
|
29
|
+
const releaseDataViews = Array.from(new Set(dataViews.filter(Boolean)));
|
|
30
|
+
releaseDataViews.length && (releaseDataViews.forEach(exports.detachDataViewDependencies),
|
|
31
|
+
releaseDataViews.forEach((dataView => {
|
|
32
|
+
var _a;
|
|
33
|
+
null === (_a = dataView.destroy) || void 0 === _a || _a.call(dataView);
|
|
34
|
+
})));
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.releaseDataViews = releaseDataViews;
|
|
38
|
+
|
|
39
|
+
const releaseDataView = dataView => {
|
|
40
|
+
(0, exports.releaseDataViews)([ dataView ]);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
exports.releaseDataView = releaseDataView;
|
|
44
|
+
|
|
45
|
+
const releaseDataViewWithDependencies = (dataView, shouldReleaseDependency) => {
|
|
46
|
+
if (!dataView) return;
|
|
47
|
+
const dataViewsInDataSet = new Set(getDataViewsInDataSet(dataView)), releaseDependencies = [], collectReleaseDependencies = currentDataView => {
|
|
48
|
+
const dependencies = null == currentDataView ? void 0 : currentDataView.rawData;
|
|
49
|
+
Array.isArray(dependencies) && dependencies.forEach((dependency => {
|
|
50
|
+
dataViewsInDataSet.has(dependency) && shouldReleaseDependency(dependency) && !releaseDependencies.includes(dependency) && (releaseDependencies.push(dependency),
|
|
51
|
+
collectReleaseDependencies(dependency));
|
|
52
|
+
}));
|
|
53
|
+
};
|
|
54
|
+
collectReleaseDependencies(dataView), (0, exports.releaseDataViews)([ dataView, ...releaseDependencies ]);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
exports.releaseDataViewWithDependencies = releaseDataViewWithDependencies;
|
|
58
|
+
//# sourceMappingURL=data-view-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/data/data-view-utils.ts"],"names":[],"mappings":";;;AAEA,MAAM,qBAAqB,GAAG,CAAC,QAA0B,EAAE,EAAE;;IAC3D,MAAM,WAAW,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,0CAAE,WAAW,CAAC;IAEnD,OAAO,WAAW,CAAC,CAAC,CAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;AACvF,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,MAAgB,EAAE,MAAgB,EAAE,EAAE;;IACpE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACnE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;AACpE,CAAC,CAAC;AAEK,MAAM,0BAA0B,GAAG,CAAC,QAA0B,EAAE,EAAE;IACvE,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO;KACR;IAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAElD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACzB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAI,QAAgD,aAAhD,QAAQ,uBAAR,QAAQ,CAA0C,OAAO,CAAC;IAEhF,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAC/B,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAChC,sBAAsB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;KACJ;AACH,CAAC,CAAC;AAlBW,QAAA,0BAA0B,8BAkBrC;AAEK,MAAM,gBAAgB,GAAG,CAAC,SAA6C,EAAE,EAAE;IAChF,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAe,CAAC,CAAC,CAAC;IAEtF,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;QAC5B,OAAO;KACR;IAED,gBAAgB,CAAC,OAAO,CAAC,kCAA0B,CAAC,CAAC;IACrD,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;;QAClC,MAAA,QAAQ,CAAC,OAAO,wDAAI,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,gBAAgB,oBAW3B;AAEK,MAAM,eAAe,GAAG,CAAC,QAA0B,EAAE,EAAE;IAC5D,IAAA,wBAAgB,EAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEK,MAAM,+BAA+B,GAAG,CAC7C,QAAqC,EACrC,uBAAwD,EACxD,EAAE;IACF,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO;KACR;IAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,MAAM,mBAAmB,GAAe,EAAE,CAAC;IAC3C,MAAM,0BAA0B,GAAG,CAAC,eAAyB,EAAE,EAAE;QAC/D,MAAM,YAAY,GAAI,eAAuD,aAAvD,eAAe,uBAAf,eAAe,CAA0C,OAAO,CAAC;QAEvF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAChC,OAAO;SACR;QAED,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAChC,IACE,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;gBAClC,uBAAuB,CAAC,UAAU,CAAC;gBACnC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,EACzC;gBACA,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACrC,0BAA0B,CAAC,UAAU,CAAC,CAAC;aACxC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAA,wBAAgB,EAAC,CAAC,QAAQ,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC;AA/BW,QAAA,+BAA+B,mCA+B1C","file":"data-view-utils.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\n\nconst getDataViewsInDataSet = (dataView?: DataView | null) => {\n const dataViewMap = dataView?.dataSet?.dataViewMap;\n\n return dataViewMap ? (Object.values(dataViewMap).filter(Boolean) as DataView[]) : [];\n};\n\nconst detachDataViewListener = (source: DataView, target: DataView) => {\n source?.target?.removeListener('change', target.reRunAllTransform);\n source?.target?.removeListener('markRunning', target.markRunning);\n};\n\nexport const detachDataViewDependencies = (dataView?: DataView | null) => {\n if (!dataView) {\n return;\n }\n\n const dataViews = getDataViewsInDataSet(dataView);\n\n dataViews.forEach(source => {\n detachDataViewListener(source, dataView);\n });\n\n const dependencies = (dataView as unknown as { rawData?: DataView[] })?.rawData;\n\n if (Array.isArray(dependencies)) {\n dependencies.forEach(dependency => {\n detachDataViewListener(dependency, dataView);\n });\n }\n};\n\nexport const releaseDataViews = (dataViews: Array<DataView | null | undefined>) => {\n const releaseDataViews = Array.from(new Set(dataViews.filter(Boolean) as DataView[]));\n\n if (!releaseDataViews.length) {\n return;\n }\n\n releaseDataViews.forEach(detachDataViewDependencies);\n releaseDataViews.forEach(dataView => {\n dataView.destroy?.();\n });\n};\n\nexport const releaseDataView = (dataView?: DataView | null) => {\n releaseDataViews([dataView]);\n};\n\nexport const releaseDataViewWithDependencies = (\n dataView: DataView | null | undefined,\n shouldReleaseDependency: (dataView: DataView) => boolean\n) => {\n if (!dataView) {\n return;\n }\n\n const dataViewsInDataSet = new Set(getDataViewsInDataSet(dataView));\n const releaseDependencies: DataView[] = [];\n const collectReleaseDependencies = (currentDataView: DataView) => {\n const dependencies = (currentDataView as unknown as { rawData?: DataView[] })?.rawData;\n\n if (!Array.isArray(dependencies)) {\n return;\n }\n\n dependencies.forEach(dependency => {\n if (\n dataViewsInDataSet.has(dependency) &&\n shouldReleaseDependency(dependency) &&\n !releaseDependencies.includes(dependency)\n ) {\n releaseDependencies.push(dependency);\n collectReleaseDependencies(dependency);\n }\n });\n };\n\n collectReleaseDependencies(dataView);\n releaseDataViews([dataView, ...releaseDependencies]);\n};\n"]}
|
package/cjs/env/env.js
CHANGED
package/cjs/env/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { MarkTypeEnum } from '../interface';
|
|
|
5
5
|
import type { IMarkRaw, IMarkStateStyle, IMarkStyle, IMark, IMarkOption, StyleConvert, MarkInputStyle, GroupedData, IAttrs, IMarkGraphic, ProgressiveContext, IProgressiveTransformResult, MarkType, AnimationStateValues } from '../interface';
|
|
6
6
|
import type { ICompilableMark, IMarkCompileOption, IMarkConfig, IMarkStateManager, StateValueType } from '../../compile/mark/interface';
|
|
7
7
|
import type { ICompilableInitOption } from '../../compile/interface';
|
|
8
|
-
import type { IGroupGraphicAttribute, IGroup, IGraphic } from '@visactor/vrender-core';
|
|
8
|
+
import type { IGroupGraphicAttribute, IGroup, IGraphic, StateDefinitionsInput } from '@visactor/vrender-core';
|
|
9
9
|
import { GrammarItem } from '../../compile/grammar-item';
|
|
10
10
|
import type { IModel } from '../../model/interface';
|
|
11
11
|
import type { ICompilableData } from '../../compile/data/interface';
|
|
@@ -74,7 +74,7 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
|
|
|
74
74
|
stopAnimationByState(state?: string): void;
|
|
75
75
|
pauseAnimationByState(state?: string): void;
|
|
76
76
|
resumeAnimationByState(state?: string): void;
|
|
77
|
-
removeProduct(): void;
|
|
77
|
+
removeProduct(releaseDetach?: boolean): void;
|
|
78
78
|
release(): void;
|
|
79
79
|
protected _simpleStyle: T;
|
|
80
80
|
setSimpleStyle(s: T): void;
|
|
@@ -82,6 +82,11 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
|
|
|
82
82
|
protected _option: IMarkOption;
|
|
83
83
|
protected _attributeContext: IModelMarkAttributeContext;
|
|
84
84
|
protected _encoderOfState: Record<string, Record<string, (datum: Datum) => any>>;
|
|
85
|
+
protected _sharedStateDefinitionsCacheKey?: string;
|
|
86
|
+
protected _sharedStateDefinitionsCache?: StateDefinitionsInput<Record<string, unknown>>;
|
|
87
|
+
protected _sharedStateDefinitionRefIds: WeakMap<object, number>;
|
|
88
|
+
protected _sharedStateDefinitionRefId: number;
|
|
89
|
+
protected _dynamicSharedStateNames: Set<string>;
|
|
85
90
|
_extensionChannel: {
|
|
86
91
|
[key: string | number | symbol]: string[];
|
|
87
92
|
};
|
|
@@ -155,9 +160,14 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
|
|
|
155
160
|
protected _getEncoderOfStyle: (stateName: string, style: Partial<IAttrs<T>>) => Record<string, (datum: Datum) => any>;
|
|
156
161
|
protected _setGraphicFromMarkConfig: (g: IMarkGraphic) => void;
|
|
157
162
|
protected _setStateOfGraphic: (g: IMarkGraphic, hasAnimation?: boolean) => void;
|
|
163
|
+
protected _getSharedStateDefinitionRefId(value: unknown): string;
|
|
164
|
+
protected _getSharedStateDefinitionValueKey(value: unknown): string;
|
|
165
|
+
protected _isStaticSharedStateAttribute(stateName: string, key: string): boolean;
|
|
158
166
|
protected _applySharedStateDefinitions(): void;
|
|
159
167
|
protected _addProgressiveGraphic(parent: IGroup, g: IMarkGraphic): void;
|
|
160
168
|
protected _runEncoder(graphics: IMarkGraphic[], noGroupEncode?: boolean): void;
|
|
169
|
+
protected _excludeStateControlledDiffAttrs(g: IMarkGraphic, diffAttrs: Record<string, any>): Record<string, any>;
|
|
170
|
+
protected _hasDiffAttrs(g: IMarkGraphic): boolean;
|
|
161
171
|
protected _runApplyGraphic(graphics: IMarkGraphic[]): void;
|
|
162
172
|
protected _updateEncoderByState(): void;
|
|
163
173
|
protected _runState(graphics: IMarkGraphic[]): void;
|
|
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
14
14
|
value: !0
|
|
15
15
|
}), exports.BaseMark = void 0;
|
|
16
16
|
|
|
17
|
-
const enum_1 = require("../interface/enum"), interface_1 = require("../../compile/mark/interface"), vutils_extension_1 = require("@visactor/vutils-extension"), color_1 = require("../../util/color"), scale_1 = require("../../util/scale"), gradient_1 = require("../../constant/gradient"), attribute_1 = require("../../constant/attribute"), vscale_1 = require("@visactor/vscale"), util_1 = require("../../theme/color-scheme/util"), mark_1 = require("../../compile/mark"), vutils_1 = require("@visactor/vutils"), common_1 = require("../utils/common"), interface_2 = require("../../compile/interface"), vrender_core_1 = require("@visactor/vrender-core"), util_2 = require("../../compile/mark/util"), factory_1 = require("../../core/factory"), data_1 = require("../../constant/data"), grammar_item_1 = require("../../compile/grammar-item"), layout_1 = require("../../constant/layout"), interface_3 = require("../../animation/interface"), compilable_data_1 = require("../../compile/data/compilable-data"), mark_2 = require("../../util/mark"), debug_1 = require("../../util/debug"), morph_1 = require("../../compile/morph"), graphic_state_1 = require("../../util/graphic-state");
|
|
17
|
+
const enum_1 = require("../interface/enum"), interface_1 = require("../../compile/mark/interface"), vutils_extension_1 = require("@visactor/vutils-extension"), color_1 = require("../../util/color"), scale_1 = require("../../util/scale"), gradient_1 = require("../../constant/gradient"), attribute_1 = require("../../constant/attribute"), vscale_1 = require("@visactor/vscale"), util_1 = require("../../theme/color-scheme/util"), mark_1 = require("../../compile/mark"), vutils_1 = require("@visactor/vutils"), common_1 = require("../utils/common"), interface_2 = require("../../compile/interface"), vrender_core_1 = require("@visactor/vrender-core"), util_2 = require("../../compile/mark/util"), factory_1 = require("../../core/factory"), data_1 = require("../../constant/data"), grammar_item_1 = require("../../compile/grammar-item"), layout_1 = require("../../constant/layout"), interface_3 = require("../../animation/interface"), compilable_data_1 = require("../../compile/data/compilable-data"), mark_2 = require("../../util/mark"), debug_1 = require("../../util/debug"), morph_1 = require("../../compile/morph"), graphic_state_1 = require("../../util/graphic-state"), statesClearedBeforeReInitKey = Symbol("statesClearedBeforeReInit");
|
|
18
18
|
|
|
19
19
|
class BaseMark extends grammar_item_1.GrammarItem {
|
|
20
20
|
commit(render, recursion) {
|
|
@@ -170,8 +170,8 @@ class BaseMark extends grammar_item_1.GrammarItem {
|
|
|
170
170
|
stopAnimationByState(state) {}
|
|
171
171
|
pauseAnimationByState(state) {}
|
|
172
172
|
resumeAnimationByState(state) {}
|
|
173
|
-
removeProduct() {
|
|
174
|
-
this._product && this._product.parent && this._product.parent.removeChild(this._product),
|
|
173
|
+
removeProduct(releaseDetach) {
|
|
174
|
+
this._product && this._product.parent && this._product.parent.removeChild(this._product, releaseDetach),
|
|
175
175
|
this._product = null, this._compiledProductId = null;
|
|
176
176
|
}
|
|
177
177
|
release() {
|
|
@@ -189,8 +189,9 @@ class BaseMark extends grammar_item_1.GrammarItem {
|
|
|
189
189
|
zIndex: layout_1.LayoutZIndex.Mark,
|
|
190
190
|
morph: !1
|
|
191
191
|
}, this._visible = !0, this.stateStyle = {}, this._unCompileChannel = {}, this._disabledAnimationStates = [],
|
|
192
|
-
this._skipBeforeLayouted = !1, this.
|
|
193
|
-
this.
|
|
192
|
+
this._skipBeforeLayouted = !1, this._sharedStateDefinitionRefIds = new WeakMap,
|
|
193
|
+
this._sharedStateDefinitionRefId = 0, this._dynamicSharedStateNames = new Set, this._extensionChannel = {},
|
|
194
|
+
this._computeExChannel = {}, this._graphicMap = new Map, this._graphics = [], this._getEncoderOfStyle = (stateName, style) => {
|
|
194
195
|
if (style && stateName) {
|
|
195
196
|
const validEncoder = {};
|
|
196
197
|
return Object.keys(style).forEach((key => {
|
|
@@ -203,7 +204,11 @@ class BaseMark extends grammar_item_1.GrammarItem {
|
|
|
203
204
|
setCustomizedShape && (g.pathProxy = attrs => setCustomizedShape(g.context.data, attrs, new vrender_core_1.CustomPath2D)),
|
|
204
205
|
graphicName && ((0, vutils_1.isFunction)(graphicName) ? g.name = graphicName(g) : g.name = graphicName);
|
|
205
206
|
}, this._setStateOfGraphic = (g, hasAnimation) => {
|
|
206
|
-
|
|
207
|
+
var _a, _b, _c;
|
|
208
|
+
g.stateProxy = null;
|
|
209
|
+
const targetStates = g.context.diffState === enum_1.DiffState.enter || g.context.diffState === enum_1.DiffState.update ? g.context.states : void 0, hasCurrentState = !!((null === (_a = g.currentStates) || void 0 === _a ? void 0 : _a.length) || (null === (_b = g.effectiveStates) || void 0 === _b ? void 0 : _b.length) || g.resolvedStatePatch || (null === (_c = g.registeredActiveScopes) || void 0 === _c ? void 0 : _c.size));
|
|
210
|
+
((null == targetStates ? void 0 : targetStates.length) || hasCurrentState) && (0,
|
|
211
|
+
graphic_state_1.setGraphicStates)(g, targetStates, hasAnimation);
|
|
207
212
|
}, this.name = name, this.model = option.model, this.key = option.key, this.state = new mark_1.MarkStateManager(option, this),
|
|
208
213
|
this._attributeContext = option.attributeContext, null === (_a = option.map) || void 0 === _a || _a.set(this.id, this);
|
|
209
214
|
}
|
|
@@ -541,6 +546,7 @@ class BaseMark extends grammar_item_1.GrammarItem {
|
|
|
541
546
|
if (graphics.forEach((g => {
|
|
542
547
|
const state = g.context.animationState;
|
|
543
548
|
if ("appear" === state) return;
|
|
549
|
+
if ("update" === state && !this._hasDiffAttrs(g)) return;
|
|
544
550
|
const config = animationConfig[state];
|
|
545
551
|
if (config && config.length > 0) {
|
|
546
552
|
const configList = config.map(((item, index) => ({
|
|
@@ -640,25 +646,60 @@ class BaseMark extends grammar_item_1.GrammarItem {
|
|
|
640
646
|
groupStyles: groupStyles
|
|
641
647
|
};
|
|
642
648
|
}
|
|
649
|
+
_getSharedStateDefinitionRefId(value) {
|
|
650
|
+
if ("object" != typeof value && "function" != typeof value || null === value) return `${value}`;
|
|
651
|
+
const objectValue = value;
|
|
652
|
+
let id = this._sharedStateDefinitionRefIds.get(objectValue);
|
|
653
|
+
return id || (id = ++this._sharedStateDefinitionRefId, this._sharedStateDefinitionRefIds.set(objectValue, id)),
|
|
654
|
+
`ref:${id}`;
|
|
655
|
+
}
|
|
656
|
+
_getSharedStateDefinitionValueKey(value) {
|
|
657
|
+
try {
|
|
658
|
+
const jsonValue = JSON.stringify(value);
|
|
659
|
+
return null != jsonValue ? jsonValue : `${value}`;
|
|
660
|
+
} catch (_error) {
|
|
661
|
+
return this._getSharedStateDefinitionRefId(value);
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
_isStaticSharedStateAttribute(stateName, key) {
|
|
665
|
+
var _a, _b;
|
|
666
|
+
const stateStyle = null === (_a = this.stateStyle[stateName]) || void 0 === _a ? void 0 : _a[key];
|
|
667
|
+
if (!stateStyle || stateStyle.referer || (0, vutils_1.isFunction)(stateStyle.postProcess) || key in this._computeExChannel) return !1;
|
|
668
|
+
const style = stateStyle.style;
|
|
669
|
+
return !(0, vutils_1.isFunction)(style) && (!gradient_1.GradientType.includes(null == style ? void 0 : style.gradient) && (![ "outerBorder", "innerBorder" ].includes(key) && !(0,
|
|
670
|
+
vscale_1.isValidScaleType)(null === (_b = null == style ? void 0 : style.scale) || void 0 === _b ? void 0 : _b.type)));
|
|
671
|
+
}
|
|
643
672
|
_applySharedStateDefinitions() {
|
|
644
673
|
var _a;
|
|
645
674
|
if (!this._product) return;
|
|
646
675
|
const stateNames = Object.keys(null !== (_a = this._encoderOfState) && void 0 !== _a ? _a : {}).filter((stateName => "group" !== stateName && "update" !== stateName));
|
|
647
|
-
if (!stateNames.length) return void (this._product.sharedStateDefinitions = void 0);
|
|
676
|
+
if (!stateNames.length) return this._dynamicSharedStateNames.clear(), void (void 0 !== this._product.sharedStateDefinitions && (this._product.sharedStateDefinitions = void 0));
|
|
648
677
|
const sortedStateNames = this._stateSort ? stateNames.slice().sort(this._stateSort) : stateNames, statePriority = new Map;
|
|
649
678
|
sortedStateNames.forEach(((stateName, index) => {
|
|
650
679
|
statePriority.set(stateName, index);
|
|
651
680
|
}));
|
|
652
|
-
const sharedStateDefinitions = {};
|
|
653
|
-
stateNames.forEach((stateName => {
|
|
681
|
+
const sharedStateDefinitions = {}, cacheKeys = [], dynamicSharedStateNames = new Set;
|
|
682
|
+
if (stateNames.forEach((stateName => {
|
|
654
683
|
var _a;
|
|
655
|
-
const encoder = this._encoderOfState[stateName];
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
684
|
+
const encoder = this._encoderOfState[stateName], patch = {}, dynamicEncoder = {}, patchKeys = [], dynamicKeys = [];
|
|
685
|
+
if (Object.keys(null != encoder ? encoder : {}).forEach((key => {
|
|
686
|
+
this._isStaticSharedStateAttribute(stateName, key) ? (patch[key] = this._computeAttribute(key, stateName)(void 0),
|
|
687
|
+
patchKeys.push(key)) : (dynamicEncoder[key] = encoder[key], dynamicKeys.push(key));
|
|
688
|
+
})), !patchKeys.length && !dynamicKeys.length) return;
|
|
689
|
+
const definition = {
|
|
690
|
+
priority: null !== (_a = statePriority.get(stateName)) && void 0 !== _a ? _a : 0
|
|
660
691
|
};
|
|
661
|
-
|
|
692
|
+
patchKeys.length && (definition.patch = patch), dynamicKeys.length && (dynamicSharedStateNames.add(stateName),
|
|
693
|
+
definition.declaredAffectedKeys = dynamicKeys, definition.resolver = ({graphic: graphic}) => this._runEncoderOfGraphic(dynamicEncoder, graphic)),
|
|
694
|
+
sharedStateDefinitions[stateName] = definition, cacheKeys.push([ stateName, definition.priority, patchKeys.sort().map((key => `${key}:${this._getSharedStateDefinitionValueKey(patch[key])}`)), dynamicKeys.sort().map((key => {
|
|
695
|
+
var _a;
|
|
696
|
+
const stateStyle = null === (_a = this.stateStyle[stateName]) || void 0 === _a ? void 0 : _a[key];
|
|
697
|
+
return `${key}:${this._getSharedStateDefinitionRefId(null == stateStyle ? void 0 : stateStyle.style)}:${this._getSharedStateDefinitionRefId(null == stateStyle ? void 0 : stateStyle.postProcess)}:${this._getSharedStateDefinitionRefId(null == stateStyle ? void 0 : stateStyle.referer)}`;
|
|
698
|
+
})) ].join("|"));
|
|
699
|
+
})), !cacheKeys.length) return this._dynamicSharedStateNames.clear(), void (void 0 !== this._product.sharedStateDefinitions && (this._product.sharedStateDefinitions = void 0));
|
|
700
|
+
const cacheKey = cacheKeys.sort().join("||");
|
|
701
|
+
this._dynamicSharedStateNames = dynamicSharedStateNames, cacheKey === this._sharedStateDefinitionsCacheKey && this._sharedStateDefinitionsCache ? this._product.sharedStateDefinitions !== this._sharedStateDefinitionsCache && (this._product.sharedStateDefinitions = this._sharedStateDefinitionsCache) : (this._sharedStateDefinitionsCacheKey = cacheKey,
|
|
702
|
+
this._sharedStateDefinitionsCache = sharedStateDefinitions, this._product.sharedStateDefinitions = sharedStateDefinitions);
|
|
662
703
|
}
|
|
663
704
|
_addProgressiveGraphic(parent, g) {
|
|
664
705
|
parent.incrementalAppendChild(g);
|
|
@@ -674,15 +715,33 @@ class BaseMark extends grammar_item_1.GrammarItem {
|
|
|
674
715
|
g.context.finalAttrs = finalAttrs;
|
|
675
716
|
}));
|
|
676
717
|
}
|
|
718
|
+
_excludeStateControlledDiffAttrs(g, diffAttrs) {
|
|
719
|
+
var _a;
|
|
720
|
+
if (!diffAttrs || !Object.keys(diffAttrs).length) return diffAttrs;
|
|
721
|
+
let nextDiffAttrs;
|
|
722
|
+
const excludeKey = key => {
|
|
723
|
+
key in diffAttrs && (nextDiffAttrs || (nextDiffAttrs = Object.assign({}, diffAttrs)),
|
|
724
|
+
delete nextDiffAttrs[key]);
|
|
725
|
+
};
|
|
726
|
+
return g.resolvedStatePatch && Object.keys(g.resolvedStatePatch).forEach(excludeKey),
|
|
727
|
+
null === (_a = g.context.states) || void 0 === _a || _a.forEach((stateName => {
|
|
728
|
+
var _a;
|
|
729
|
+
const encoder = null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a[stateName];
|
|
730
|
+
encoder && Object.keys(encoder).forEach(excludeKey);
|
|
731
|
+
})), null != nextDiffAttrs ? nextDiffAttrs : diffAttrs;
|
|
732
|
+
}
|
|
733
|
+
_hasDiffAttrs(g) {
|
|
734
|
+
return !!g.context.diffAttrs && Object.keys(g.context.diffAttrs).length > 0;
|
|
735
|
+
}
|
|
677
736
|
_runApplyGraphic(graphics) {
|
|
678
737
|
const hasAnimation = this.hasAnimation();
|
|
679
738
|
graphics.forEach(((g, index) => {
|
|
680
739
|
var _a, _b, _c;
|
|
681
740
|
const finalAttrs = g.context.finalAttrs, hasStateAnimation = this.hasAnimationByState(g.context.animationState);
|
|
682
741
|
if (g.setAttributes) {
|
|
683
|
-
const diffAttrs = (0, mark_2.getDiffAttributesOfGraphic)(g, finalAttrs);
|
|
742
|
+
const diffAttrs = this._excludeStateControlledDiffAttrs(g, (0, mark_2.getDiffAttributesOfGraphic)(g, finalAttrs));
|
|
684
743
|
g.context.diffAttrs = diffAttrs, g.context.reusing ? (g.context.lastAttrs = g.attribute,
|
|
685
|
-
g.initAttributes(
|
|
744
|
+
g.initAttributes(finalAttrs), g.context.reusing = !1) : hasStateAnimation || (hasAnimation ? g.setAttributesAndPreventAnimate(diffAttrs) : g.setAttributes(diffAttrs)),
|
|
686
745
|
!(null === (_c = this.renderContext) || void 0 === _c ? void 0 : _c.progressive) && this._product && g.parent !== this._product && this._product.appendChild(g),
|
|
687
746
|
hasAnimation && g.setFinalAttributes(finalAttrs);
|
|
688
747
|
} else {
|
|
@@ -779,8 +838,12 @@ class BaseMark extends grammar_item_1.GrammarItem {
|
|
|
779
838
|
if (!this._product) return;
|
|
780
839
|
const stateInfo = this.state.getStateInfo(key);
|
|
781
840
|
this._graphics.forEach((g => {
|
|
782
|
-
|
|
783
|
-
graphic_state_1.
|
|
841
|
+
const reinitStateGraphic = g, statesClearedBeforeReInit = reinitStateGraphic[statesClearedBeforeReInitKey], wasStateClearedBeforeReInit = null == statesClearedBeforeReInit ? void 0 : statesClearedBeforeReInit.includes(key), hasStateAnimation = !wasStateClearedBeforeReInit && this.hasAnimationByState("state");
|
|
842
|
+
if ("in" === this.state.checkOneState(g, g.context.data, stateInfo) ? (0, graphic_state_1.addGraphicState)(g, key, !0, hasStateAnimation) : (0,
|
|
843
|
+
graphic_state_1.removeGraphicState)(g, key, hasStateAnimation), wasStateClearedBeforeReInit) {
|
|
844
|
+
const nextStates = statesClearedBeforeReInit.filter((stateName => stateName !== key));
|
|
845
|
+
nextStates.length ? reinitStateGraphic[statesClearedBeforeReInitKey] = nextStates : delete reinitStateGraphic[statesClearedBeforeReInitKey];
|
|
846
|
+
}
|
|
784
847
|
}));
|
|
785
848
|
}
|
|
786
849
|
clearExitGraphics() {
|
|
@@ -800,7 +863,7 @@ class BaseMark extends grammar_item_1.GrammarItem {
|
|
|
800
863
|
})
|
|
801
864
|
})));
|
|
802
865
|
g.applyAnimationState([ "exit" ], [ 1 === exitConfigList.length ? exitConfigList[0] : exitConfigList ], (() => {
|
|
803
|
-
doRemove(g, key);
|
|
866
|
+
g.context.diffState === enum_1.DiffState.exit && g.isExiting && this._graphicMap.get(key) === g && doRemove(g, key);
|
|
804
867
|
}));
|
|
805
868
|
}
|
|
806
869
|
} else doRemove(g, key);
|
|
@@ -911,7 +974,8 @@ class BaseMark extends grammar_item_1.GrammarItem {
|
|
|
911
974
|
}
|
|
912
975
|
clearBeforeReInit() {
|
|
913
976
|
this.state.clearAllStateInfo(), this.uncommit(), this.stateStyle = {}, this.getGraphics().forEach((g => {
|
|
914
|
-
|
|
977
|
+
var _a;
|
|
978
|
+
(null === (_a = g.currentStates) || void 0 === _a ? void 0 : _a.length) && (g[statesClearedBeforeReInitKey] = g.currentStates.slice());
|
|
915
979
|
}));
|
|
916
980
|
}
|
|
917
981
|
}
|