@visactor/vchart 2.1.0-alpha.1 → 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 +2232 -487
- package/build/index.js +2232 -487
- 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/index.js +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/stack.js +1 -1
- package/cjs/chart/util.d.ts +4 -1
- package/cjs/chart/util.js +41 -5
- 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/component/util.js +1 -1
- package/cjs/constant/box-plot.js +2 -1
- package/cjs/constant/scatter.js +1 -2
- package/cjs/core/expression-function.js +2 -1
- package/cjs/core/instance-manager.js +1 -1
- package/cjs/core/interface.js +1 -1
- package/cjs/core/util.js +1 -1
- package/cjs/core/vchart.d.ts +5 -1
- package/cjs/core/vchart.js +29 -13
- 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/data/initialize.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/index.js +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/stack.js +1 -1
- package/esm/chart/util.d.ts +4 -1
- package/esm/chart/util.js +35 -2
- 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/component/util.js +1 -1
- package/esm/constant/box-plot.js +2 -1
- package/esm/constant/scatter.js +1 -2
- package/esm/core/expression-function.js +2 -1
- package/esm/core/instance-manager.js +1 -1
- package/esm/core/interface.js +1 -1
- package/esm/core/util.js +1 -1
- package/esm/core/vchart.d.ts +5 -1
- package/esm/core/vchart.js +30 -13
- 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/data/initialize.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 +9 -8
package/build/index.js
CHANGED
|
@@ -14967,6 +14967,12 @@
|
|
|
14967
14967
|
function getStageStatePerfMonitor(stage) {
|
|
14968
14968
|
if (stage) return stage[STAGE_PERF_MONITOR];
|
|
14969
14969
|
}
|
|
14970
|
+
function getActiveStageStatePerfMonitor(stage) {
|
|
14971
|
+
var _a;
|
|
14972
|
+
if (!stage) return;
|
|
14973
|
+
const current = getStageStatePerfMonitor(stage);
|
|
14974
|
+
return current || (!0 === (null === (_a = stage.statePerfConfig) || void 0 === _a ? void 0 : _a.enabled) ? ensureStageStatePerfMonitor(stage) : void 0);
|
|
14975
|
+
}
|
|
14970
14976
|
|
|
14971
14977
|
function isPlainObject$1(value) {
|
|
14972
14978
|
return null != value && "object" == typeof value && !Array.isArray(value);
|
|
@@ -15062,7 +15068,7 @@
|
|
|
15062
15068
|
}
|
|
15063
15069
|
invalidateResolverCache() {
|
|
15064
15070
|
var _a, _b;
|
|
15065
|
-
this.resolverPatchCache.clear(), this.resolverCacheKey = "", this.resolverCacheValid = !1, null === (_b =
|
|
15071
|
+
this.resolverPatchCache.clear(), this.resolverCacheKey = "", this.resolverCacheValid = !1, null === (_b = getActiveStageStatePerfMonitor(null === (_a = this.graphic) || void 0 === _a ? void 0 : _a.stage)) || void 0 === _b || _b.recordResolver("invalidations");
|
|
15066
15072
|
}
|
|
15067
15073
|
hasState(stateName) {
|
|
15068
15074
|
return !!this._activeStates.length && (null == stateName || this._activeStates.includes(stateName));
|
|
@@ -15109,7 +15115,7 @@
|
|
|
15109
15115
|
}
|
|
15110
15116
|
recomputePatch(effectiveStates) {
|
|
15111
15117
|
var _a;
|
|
15112
|
-
const perfMonitor =
|
|
15118
|
+
const perfMonitor = getActiveStageStatePerfMonitor(null === (_a = this.graphic) || void 0 === _a ? void 0 : _a.stage),
|
|
15113
15119
|
patchStart = perfMonitor ? performance.now() : 0;
|
|
15114
15120
|
let resolverCost = 0;
|
|
15115
15121
|
const cacheKey = effectiveStates.join(","),
|
|
@@ -15357,32 +15363,6 @@
|
|
|
15357
15363
|
}
|
|
15358
15364
|
}), resolvedAttrs;
|
|
15359
15365
|
}
|
|
15360
|
-
resolveWithCompiled(normalAttrs, compiledDefinitions, stateProxy, effectiveStates, resolvedPatch) {
|
|
15361
|
-
var _a, _b;
|
|
15362
|
-
const mergeMode = null !== (_a = this.options.mergeMode) && void 0 !== _a ? _a : "shallow",
|
|
15363
|
-
resolvedAttrs = null !== (_b = cloneValue(resolvedPatch)) && void 0 !== _b ? _b : {};
|
|
15364
|
-
return effectiveStates.forEach(stateName => {
|
|
15365
|
-
const proxyPatch = null == stateProxy ? void 0 : stateProxy(stateName, effectiveStates);
|
|
15366
|
-
null != proxyPatch && Object.keys(proxyPatch).forEach(key => {
|
|
15367
|
-
const nextValue = proxyPatch[key],
|
|
15368
|
-
hasCompiledDefinition = compiledDefinitions.has(stateName);
|
|
15369
|
-
if ("deep" === mergeMode && isPlainObject(nextValue) && (isPlainObject(resolvedAttrs[key]) || !hasCompiledDefinition && isPlainObject(normalAttrs[key]))) {
|
|
15370
|
-
const baseValue = isPlainObject(resolvedAttrs[key]) ? resolvedAttrs[key] : isPlainObject(normalAttrs[key]) ? normalAttrs[key] : {};
|
|
15371
|
-
resolvedAttrs[key] = deepMerge(baseValue, nextValue);
|
|
15372
|
-
} else resolvedAttrs[key] = cloneValue(nextValue);
|
|
15373
|
-
});
|
|
15374
|
-
}), resolvedAttrs;
|
|
15375
|
-
}
|
|
15376
|
-
computeNormalAttrsBackup(normalAttrs, targetAttrs, finalAttribute) {
|
|
15377
|
-
const nextNormalAttrs = {},
|
|
15378
|
-
nextTargetAttrs = Object.assign({}, targetAttrs);
|
|
15379
|
-
for (const key in targetAttrs) Object.prototype.hasOwnProperty.call(targetAttrs, key) && (nextNormalAttrs[key] = cloneValue(normalAttrs && key in normalAttrs ? normalAttrs[key] : finalAttribute[key]));
|
|
15380
|
-
if (normalAttrs) for (const key in normalAttrs) Object.prototype.hasOwnProperty.call(normalAttrs, key) && !(key in targetAttrs) && (nextTargetAttrs[key] = cloneValue(normalAttrs[key]));
|
|
15381
|
-
return {
|
|
15382
|
-
attrs: nextTargetAttrs,
|
|
15383
|
-
normalAttrs: nextNormalAttrs
|
|
15384
|
-
};
|
|
15385
|
-
}
|
|
15386
15366
|
}
|
|
15387
15367
|
|
|
15388
15368
|
function hasOwnKeys(value) {
|
|
@@ -15517,7 +15497,7 @@
|
|
|
15517
15497
|
}
|
|
15518
15498
|
function ensureSharedStateScopeFresh(scope) {
|
|
15519
15499
|
var _a;
|
|
15520
|
-
if (scope) return null === (_a =
|
|
15500
|
+
if (scope) return null === (_a = getActiveStageStatePerfMonitor(scope.ownerStage)) || void 0 === _a || _a.recordRefresh("ensureFreshCalls"), scope.parentScope && ensureSharedStateScopeFresh(scope.parentScope), (scope.dirty || scope.parentScope && scope.parentRevisionAtBuild !== scope.parentScope.revision) && rebuildSharedStateScope(scope), scope;
|
|
15521
15501
|
}
|
|
15522
15502
|
function collectSharedStateScopeChain(scope) {
|
|
15523
15503
|
const chain = [];
|
|
@@ -15528,7 +15508,7 @@
|
|
|
15528
15508
|
|
|
15529
15509
|
function scheduleStageSharedStateRefresh(stage) {
|
|
15530
15510
|
var _a;
|
|
15531
|
-
stage && "released" !== stage.releaseStatus && (null === (_a =
|
|
15511
|
+
stage && "released" !== stage.releaseStatus && (null === (_a = getActiveStageStatePerfMonitor(stage)) || void 0 === _a || _a.recordRefresh("renderScheduled"), stage.renderNextFrame());
|
|
15532
15512
|
}
|
|
15533
15513
|
function enqueueGraphicSharedStateRefresh(stage, graphic) {
|
|
15534
15514
|
var _a;
|
|
@@ -15536,7 +15516,7 @@
|
|
|
15536
15516
|
const pending = null !== (_a = stage._pendingSharedStateRefreshGraphics) && void 0 !== _a ? _a : stage._pendingSharedStateRefreshGraphics = new Set();
|
|
15537
15517
|
if (!pending.has(graphic)) {
|
|
15538
15518
|
pending.add(graphic);
|
|
15539
|
-
const perfMonitor =
|
|
15519
|
+
const perfMonitor = getActiveStageStatePerfMonitor(stage);
|
|
15540
15520
|
null == perfMonitor || perfMonitor.recordRefresh("queuedGraphics"), null == perfMonitor || perfMonitor.recordAllocation("refreshQueuePushes");
|
|
15541
15521
|
}
|
|
15542
15522
|
}
|
|
@@ -15551,12 +15531,13 @@
|
|
|
15551
15531
|
function flushStageSharedStateRefresh(stage) {
|
|
15552
15532
|
const pending = stage._pendingSharedStateRefreshGraphics;
|
|
15553
15533
|
if (!pending || !pending.size) return;
|
|
15554
|
-
const perfMonitor =
|
|
15534
|
+
const perfMonitor = getActiveStageStatePerfMonitor(stage),
|
|
15555
15535
|
start = perfMonitor ? performance.now() : 0,
|
|
15556
15536
|
graphics = Array.from(pending.values());
|
|
15557
15537
|
pending.clear(), null == perfMonitor || perfMonitor.recordRefresh("flushedGraphics", graphics.length), graphics.forEach(graphic => {
|
|
15558
15538
|
if ("released" === graphic.releaseStatus) return;
|
|
15559
15539
|
if (graphic.stage !== stage) return;
|
|
15540
|
+
if (!graphic.sharedStateDirty) return;
|
|
15560
15541
|
const refresh = graphic.refreshSharedStateBeforeRender;
|
|
15561
15542
|
"function" == typeof refresh && (refresh.call(graphic), null == perfMonitor || perfMonitor.incrementCounter("sharedRefreshCommits"));
|
|
15562
15543
|
}), perfMonitor && (perfMonitor.recordCost("sharedRefresh", performance.now() - start), perfMonitor.recordEvent("shared-refresh-flush", {
|
|
@@ -15573,9 +15554,12 @@
|
|
|
15573
15554
|
tempConstantScaleXYKey = ["scaleX", "scaleY"],
|
|
15574
15555
|
tempConstantAngleKey = ["angle"],
|
|
15575
15556
|
builtinTextureTypes = new Set(["circle", "diamond", "rect", "vertical-line", "horizontal-line", "bias-lr", "bias-rl", "grid", "wave"]),
|
|
15576
|
-
|
|
15557
|
+
FULL_STATE_DEFINITION_KEYS = new Set(["name", "patch", "priority", "exclude", "suppress", "resolver", "declaredAffectedKeys"]),
|
|
15558
|
+
point = new Point(),
|
|
15559
|
+
EMPTY_STATE_NAMES = [],
|
|
15560
|
+
BROAD_UPDATE_CATEGORY = UpdateCategory.PAINT | UpdateCategory.SHAPE | UpdateCategory.BOUNDS | UpdateCategory.TRANSFORM | UpdateCategory.LAYOUT;
|
|
15577
15561
|
function isPlainObjectValue(value) {
|
|
15578
|
-
return "object" == typeof value && null != value && !isArray
|
|
15562
|
+
return "object" == typeof value && null != value && !Array.isArray(value);
|
|
15579
15563
|
}
|
|
15580
15564
|
function cloneAttributeValue(value) {
|
|
15581
15565
|
if (!isPlainObjectValue(value)) return value;
|
|
@@ -15586,12 +15570,6 @@
|
|
|
15586
15570
|
clone[key] = isPlainObjectValue(nextValue) ? cloneAttributeValue(nextValue) : nextValue;
|
|
15587
15571
|
}), clone;
|
|
15588
15572
|
}
|
|
15589
|
-
function cloneSimpleAttributeRecord(value) {
|
|
15590
|
-
return isPlainObjectValue(value) ? Object.assign({}, value) : value;
|
|
15591
|
-
}
|
|
15592
|
-
function shouldUseSimpleAttributeFastPath(value) {
|
|
15593
|
-
return !!isPlainObjectValue(value) && !Object.keys(value).some(key => isPlainObjectValue(value[key]));
|
|
15594
|
-
}
|
|
15595
15573
|
function cloneAttributeSurface(value) {
|
|
15596
15574
|
if (!isPlainObjectValue(value)) return value;
|
|
15597
15575
|
const source = value,
|
|
@@ -15601,6 +15579,9 @@
|
|
|
15601
15579
|
clone[key] = isPlainObjectValue(nextValue) ? Object.assign({}, nextValue) : nextValue;
|
|
15602
15580
|
}), clone;
|
|
15603
15581
|
}
|
|
15582
|
+
function areAttributeValuesEqual(left, right) {
|
|
15583
|
+
return left === right || !!(isPlainObjectValue(left) || isPlainObjectValue(right) || Array.isArray(left) || Array.isArray(right)) && isEqual(left, right);
|
|
15584
|
+
}
|
|
15604
15585
|
function deepMergeAttributeValue(base, value) {
|
|
15605
15586
|
var _a;
|
|
15606
15587
|
const result = null !== (_a = cloneAttributeValue(base)) && void 0 !== _a ? _a : {};
|
|
@@ -15663,18 +15644,24 @@
|
|
|
15663
15644
|
get globalTransMatrix() {
|
|
15664
15645
|
return this.tryUpdateGlobalTransMatrix(!0);
|
|
15665
15646
|
}
|
|
15647
|
+
get baseAttributes() {
|
|
15648
|
+
var _a;
|
|
15649
|
+
return null !== (_a = this._baseAttributes) && void 0 !== _a ? _a : this.attribute;
|
|
15650
|
+
}
|
|
15651
|
+
set baseAttributes(value) {
|
|
15652
|
+
value !== this.attribute ? this._baseAttributes = value : this._baseAttributes = void 0;
|
|
15653
|
+
}
|
|
15666
15654
|
constructor(params = {}) {
|
|
15667
15655
|
var _a;
|
|
15668
|
-
super(), this.
|
|
15669
|
-
const useSimpleAttributeFastPath = shouldUseSimpleAttributeFastPath(params),
|
|
15670
|
-
initialBaseAttributes = useSimpleAttributeFastPath ? cloneSimpleAttributeRecord(params) : cloneAttributeValue(params);
|
|
15671
|
-
this.baseAttributes = initialBaseAttributes, this.attribute = useSimpleAttributeFastPath ? cloneSimpleAttributeRecord(initialBaseAttributes) : cloneAttributeSurface(initialBaseAttributes), this.valid = this.isValid(), this.updateAABBBoundsStamp = 0, params.background && this.loadImage(null !== (_a = params.background.background) && void 0 !== _a ? _a : params.background, !0), isExternalTexture(params.texture) && this.loadImage(params.texture, !1), params.shadowGraphic && this.setShadowGraphic(params.shadowGraphic);
|
|
15656
|
+
super(), this._AABBBounds = new AABBBounds(), this._updateTag = UpdateTag.INIT, this.attribute = params, this.valid = this.isValid(), this.updateAABBBoundsStamp = 0, params.background && this.loadImage(null !== (_a = params.background.background) && void 0 !== _a ? _a : params.background, !0), params.texture && isExternalTexture(params.texture) && this.loadImage(params.texture, !1), params.shadowGraphic && this.setShadowGraphic(params.shadowGraphic);
|
|
15672
15657
|
}
|
|
15673
15658
|
get normalAttrs() {
|
|
15674
15659
|
return this.baseAttributes;
|
|
15675
15660
|
}
|
|
15676
|
-
set normalAttrs(
|
|
15677
|
-
|
|
15661
|
+
set normalAttrs(_value) {}
|
|
15662
|
+
getBaseAttributesStorage() {
|
|
15663
|
+
var _a;
|
|
15664
|
+
return null !== (_a = this._baseAttributes) && void 0 !== _a ? _a : this.attribute;
|
|
15678
15665
|
}
|
|
15679
15666
|
getGraphicService() {
|
|
15680
15667
|
var _a, _b;
|
|
@@ -15705,10 +15692,18 @@
|
|
|
15705
15692
|
const nextScope = this.resolveBoundSharedStateScope();
|
|
15706
15693
|
return this.boundSharedStateScope === nextScope ? (this.syncSharedStateActiveRegistrations(), !1) : (this.boundSharedStateScope = nextScope, this.boundSharedStateRevision = void 0, this.localFallbackCompiledDefinitions = void 0, this.compiledStateDefinitions = void 0, this.compiledStateDefinitionsCacheKey = void 0, this.stateEngine = void 0, this.stateEngineCompiledDefinitions = void 0, this.stateEngineStateProxyModeKey = void 0, this.syncSharedStateActiveRegistrations(), markDirty && (null === (_a = this.currentStates) || void 0 === _a ? void 0 : _a.length) && this.markSharedStateDirty(), !0);
|
|
15707
15694
|
}
|
|
15708
|
-
|
|
15695
|
+
syncSharedStateScopeBindingOnTreeChange(markDirty = !0) {
|
|
15709
15696
|
var _a, _b;
|
|
15710
|
-
|
|
15711
|
-
|
|
15697
|
+
return !!((null === (_a = this.currentStates) || void 0 === _a ? void 0 : _a.length) || this.boundSharedStateScope || (null === (_b = this.registeredActiveScopes) || void 0 === _b ? void 0 : _b.size) || this.sharedStateDirty) && this.syncSharedStateScopeBindingFromTree(markDirty);
|
|
15698
|
+
}
|
|
15699
|
+
syncSharedStateActiveRegistrations() {
|
|
15700
|
+
var _a;
|
|
15701
|
+
const previousScopes = this.registeredActiveScopes;
|
|
15702
|
+
if (!(null === (_a = this.currentStates) || void 0 === _a ? void 0 : _a.length) || !this.boundSharedStateScope) return (null == previousScopes ? void 0 : previousScopes.size) && (previousScopes.forEach(scope => {
|
|
15703
|
+
scope.subtreeActiveDescendants.delete(this);
|
|
15704
|
+
}), previousScopes.clear()), void (this.registeredActiveScopes = void 0);
|
|
15705
|
+
const nextScopes = new Set(collectSharedStateScopeChain(this.boundSharedStateScope));
|
|
15706
|
+
null == previousScopes || previousScopes.forEach(scope => {
|
|
15712
15707
|
nextScopes.has(scope) || scope.subtreeActiveDescendants.delete(this);
|
|
15713
15708
|
}), nextScopes.forEach(scope => {
|
|
15714
15709
|
scope.subtreeActiveDescendants.add(this);
|
|
@@ -15724,15 +15719,13 @@
|
|
|
15724
15719
|
this.sharedStateDirty = !0, enqueueGraphicSharedStateRefresh(this.stage, this), scheduleStageSharedStateRefresh(this.stage);
|
|
15725
15720
|
}
|
|
15726
15721
|
onParentSharedStateTreeChanged(stage, layer) {
|
|
15727
|
-
this.stage === stage && this.layer === layer ? this.
|
|
15722
|
+
this.stage === stage && this.layer === layer ? this.syncSharedStateScopeBindingOnTreeChange() : this.setStage(stage, layer);
|
|
15728
15723
|
}
|
|
15729
15724
|
refreshSharedStateBeforeRender() {
|
|
15730
15725
|
var _a;
|
|
15731
15726
|
(null === (_a = this.currentStates) || void 0 === _a ? void 0 : _a.length) ? (this.syncSharedStateScopeBindingFromTree(!1), this.boundSharedStateScope && ensureSharedStateScopeFresh(this.boundSharedStateScope), this.recomputeCurrentStatePatch(), this.stopStateAnimates(), this._restoreAttributeFromStaticTruth({
|
|
15732
15727
|
type: AttributeUpdateType.STATE
|
|
15733
|
-
}), this.
|
|
15734
|
-
type: AttributeUpdateType.STATE
|
|
15735
|
-
}), this.sharedStateDirty = !1) : this.sharedStateDirty = !1;
|
|
15728
|
+
}), this.emitStateUpdateEvent(), this.sharedStateDirty = !1) : this.sharedStateDirty = !1;
|
|
15736
15729
|
}
|
|
15737
15730
|
getLocalStatesVersion() {
|
|
15738
15731
|
var _a, _b;
|
|
@@ -15790,7 +15783,7 @@
|
|
|
15790
15783
|
const transition = stateModel.useStates(this.currentStates),
|
|
15791
15784
|
effectiveStates = null !== (_d = transition.effectiveStates) && void 0 !== _d ? _d : transition.states,
|
|
15792
15785
|
resolvedStateAttrs = this.stateEngine && this.compiledStateDefinitions ? Object.assign({}, this.stateEngine.resolvedPatch) : this.getStateStyleResolver(this.stateMergeMode).resolve(stateResolveBaseAttrs, this.states, this.stateProxy, transition.states, this.stateSort);
|
|
15793
|
-
this.currentStates = transition.states, this.effectiveStates = [...effectiveStates], this.resolvedStatePatch =
|
|
15786
|
+
this.currentStates = transition.states, this.effectiveStates = [...effectiveStates], this.resolvedStatePatch = resolvedStateAttrs, this.syncSharedStateActiveRegistrations();
|
|
15794
15787
|
}
|
|
15795
15788
|
buildStaticAttributeSnapshot() {
|
|
15796
15789
|
var _a;
|
|
@@ -15829,16 +15822,17 @@
|
|
|
15829
15822
|
next: void 0
|
|
15830
15823
|
}), delete target[key]));
|
|
15831
15824
|
const nextValue = snapshot[key];
|
|
15832
|
-
|
|
15825
|
+
areAttributeValuesEqual(previousValue, nextValue) || (delta.set(key, {
|
|
15833
15826
|
prev: previousValue,
|
|
15834
15827
|
next: nextValue
|
|
15835
15828
|
}), target[key] = cloneAttributeValue(nextValue));
|
|
15836
15829
|
}), delta;
|
|
15837
15830
|
}
|
|
15838
15831
|
_syncAttribute() {
|
|
15832
|
+
this.attribute === this.baseAttributes && this.resolvedStatePatch && this.detachAttributeFromBaseAttributes();
|
|
15839
15833
|
const snapshot = this.buildStaticAttributeSnapshot(),
|
|
15840
15834
|
delta = this.syncObjectToSnapshot(this.attribute, snapshot);
|
|
15841
|
-
return this.valid = this.isValid(), delta;
|
|
15835
|
+
return this.valid = this.isValid(), this.attributeMayContainTransientAttrs = !1, delta;
|
|
15842
15836
|
}
|
|
15843
15837
|
_syncFinalAttributeFromStaticTruth() {
|
|
15844
15838
|
const target = this.finalAttribute;
|
|
@@ -15846,47 +15840,146 @@
|
|
|
15846
15840
|
const snapshot = this.buildStaticAttributeSnapshot();
|
|
15847
15841
|
this.syncObjectToSnapshot(target, snapshot);
|
|
15848
15842
|
}
|
|
15849
|
-
|
|
15843
|
+
mergeAttributeDeltaCategory(category, key, prev, next) {
|
|
15844
|
+
var _a;
|
|
15845
|
+
let nextCategory = "stroke" === key || "shadowBlur" === key ? classifyAttributeDelta(key, prev, next) : null !== (_a = ATTRIBUTE_CATEGORY[key]) && void 0 !== _a ? _a : UpdateCategory.PAINT;
|
|
15846
|
+
return nextCategory & UpdateCategory.PICK && (nextCategory |= UpdateCategory.BOUNDS), nextCategory === UpdateCategory.PAINT && this.needUpdateTag(key) && (nextCategory = UpdateCategory.SHAPE | UpdateCategory.BOUNDS), category | nextCategory;
|
|
15847
|
+
}
|
|
15848
|
+
submitUpdateByCategory(category, forceUpdateTag = !1) {
|
|
15850
15849
|
var _a;
|
|
15851
15850
|
if (forceUpdateTag) return this.addUpdateShapeAndBoundsTag(), this.addUpdatePositionTag(), void this.addUpdateLayoutTag();
|
|
15851
|
+
if (category !== UpdateCategory.NONE) {
|
|
15852
|
+
const stage = this.stage;
|
|
15853
|
+
stage && (null === (_a = getActiveStageStatePerfMonitor(stage)) || void 0 === _a || _a.recordCategory(category));
|
|
15854
|
+
}
|
|
15855
|
+
(category & BROAD_UPDATE_CATEGORY) !== BROAD_UPDATE_CATEGORY ? (category & UpdateCategory.SHAPE ? this.addUpdateShapeAndBoundsTag() : category & UpdateCategory.BOUNDS && this.addUpdateBoundTag(), category & UpdateCategory.PAINT && this.addUpdatePaintTag(), category & UpdateCategory.TRANSFORM && this.addUpdatePositionTag(), category & UpdateCategory.LAYOUT && this.addUpdateLayoutTag()) : this.addBroadUpdateTag();
|
|
15856
|
+
}
|
|
15857
|
+
submitUpdateByDelta(delta, forceUpdateTag = !1) {
|
|
15852
15858
|
let category = UpdateCategory.NONE;
|
|
15853
15859
|
delta.forEach((entry, key) => {
|
|
15854
|
-
|
|
15855
|
-
|
|
15856
|
-
|
|
15860
|
+
category = this.mergeAttributeDeltaCategory(category, key, entry.prev, entry.next);
|
|
15861
|
+
}), this.submitUpdateByCategory(category, forceUpdateTag);
|
|
15862
|
+
}
|
|
15863
|
+
submitTouchedKeyUpdate(keys, forceUpdateTag = !1) {
|
|
15864
|
+
this.submitTouchedUpdate(forceUpdateTag || this.needUpdateTags(keys));
|
|
15865
|
+
}
|
|
15866
|
+
submitTouchedUpdate(needsShapeAndBounds) {
|
|
15867
|
+
!this.updateShapeAndBoundsTagSetted() && needsShapeAndBounds ? this.addUpdateShapeAndBoundsTag() : this.addUpdateBoundTag(), this.addUpdatePositionTag(), this.addUpdateLayoutTag();
|
|
15857
15868
|
}
|
|
15858
15869
|
commitBaseAttributeMutation(forceUpdateTag = !1, context) {
|
|
15859
|
-
var _a, _b;
|
|
15860
|
-
(null === (_a = this.currentStates) || void 0 === _a ? void 0 : _a.length) && (this.resolverEpoch
|
|
15870
|
+
var _a, _b, _c;
|
|
15871
|
+
(null === (_a = this.currentStates) || void 0 === _a ? void 0 : _a.length) && (this.resolverEpoch = (null !== (_b = this.resolverEpoch) && void 0 !== _b ? _b : 0) + 1, null === (_c = this.stateEngine) || void 0 === _c || _c.invalidateResolverCache(), this.recomputeCurrentStatePatch());
|
|
15861
15872
|
const delta = this._syncAttribute();
|
|
15862
15873
|
this.submitUpdateByDelta(delta, forceUpdateTag), this.onAttributeUpdate(context);
|
|
15863
15874
|
}
|
|
15875
|
+
canCommitBaseAttributesByTouchedKeys() {
|
|
15876
|
+
var _a, _b;
|
|
15877
|
+
return !((null === (_a = this.currentStates) || void 0 === _a ? void 0 : _a.length) || this.resolvedStatePatch || this.attributeMayContainTransientAttrs) && (!(null === (_b = this.animates) || void 0 === _b ? void 0 : _b.size) && !this._animationStateManager || !this.hasAnyTrackedAnimate());
|
|
15878
|
+
}
|
|
15879
|
+
detachAttributeFromBaseAttributes() {
|
|
15880
|
+
this.attribute === this.baseAttributes && (this._baseAttributes = this.attribute, this.attribute = cloneAttributeSurface(this.attribute));
|
|
15881
|
+
}
|
|
15882
|
+
commitInternalBaseAttributes(params, context) {
|
|
15883
|
+
params && Object.keys(params).length && (this.canCommitBaseAttributesByTouchedKeys() ? this.commitBaseAttributesByTouchedKeys(params, !1, context) : (this.detachAttributeFromBaseAttributes(), this.applyBaseAttributes(params), this.commitBaseAttributeMutation(!1, context)));
|
|
15884
|
+
}
|
|
15885
|
+
commitBaseAttributesByTouchedKeys(params, forceUpdateTag = !1, context) {
|
|
15886
|
+
const source = params,
|
|
15887
|
+
baseAttributes = this.getBaseAttributesStorage();
|
|
15888
|
+
let hasKeys = !1,
|
|
15889
|
+
needsShapeAndBounds = forceUpdateTag;
|
|
15890
|
+
for (const key in source) Object.prototype.hasOwnProperty.call(source, key) && (hasKeys = !0, baseAttributes[key] = source[key], !needsShapeAndBounds && this.needUpdateTag(key) && (needsShapeAndBounds = !0));
|
|
15891
|
+
hasKeys && (this.attribute = baseAttributes, this._baseAttributes = void 0, this.valid = this.isValid(), this.attributeMayContainTransientAttrs = !1, this.submitTouchedUpdate(needsShapeAndBounds), this.onAttributeUpdate(context));
|
|
15892
|
+
}
|
|
15893
|
+
commitBaseAttributeBySingleKey(key, value, forceUpdateTag = !1, context) {
|
|
15894
|
+
this.getBaseAttributesStorage()[key] = value, this.attribute = this.getBaseAttributesStorage(), this._baseAttributes = void 0, this.valid = this.isValid(), this.attributeMayContainTransientAttrs = !1, this.submitTouchedUpdate(forceUpdateTag || this.needUpdateTag(key)), this.onAttributeUpdate(context);
|
|
15895
|
+
}
|
|
15864
15896
|
applyBaseAttributes(params) {
|
|
15865
15897
|
const keys = Object.keys(params);
|
|
15866
15898
|
for (let i = 0; i < keys.length; i++) {
|
|
15867
15899
|
const key = keys[i];
|
|
15868
|
-
this.
|
|
15900
|
+
this.getBaseAttributesStorage()[key] = params[key];
|
|
15869
15901
|
}
|
|
15870
15902
|
}
|
|
15903
|
+
applyAnimationTransientAttributes(params, forceUpdateTag = !1, context) {
|
|
15904
|
+
const source = params;
|
|
15905
|
+
let target,
|
|
15906
|
+
needsShapeAndBounds = forceUpdateTag;
|
|
15907
|
+
for (const key in source) Object.prototype.hasOwnProperty.call(source, key) && (target || (this.detachAttributeFromBaseAttributes(), target = this.attribute), target[key] = source[key], !needsShapeAndBounds && this.needUpdateTag(key) && (needsShapeAndBounds = !0));
|
|
15908
|
+
target && (this.attributeMayContainTransientAttrs = !0, this.valid = this.isValid(), this.submitTouchedUpdate(needsShapeAndBounds), this.onAttributeUpdate(context));
|
|
15909
|
+
}
|
|
15871
15910
|
applyTransientAttributes(params, forceUpdateTag = !1, context) {
|
|
15911
|
+
this.detachAttributeFromBaseAttributes();
|
|
15872
15912
|
const delta = new Map(),
|
|
15873
15913
|
keys = Object.keys(params);
|
|
15874
15914
|
for (let i = 0; i < keys.length; i++) {
|
|
15875
15915
|
const key = keys[i],
|
|
15876
15916
|
previousValue = this.attribute[key],
|
|
15877
15917
|
nextValue = params[key];
|
|
15878
|
-
|
|
15918
|
+
areAttributeValuesEqual(previousValue, nextValue) || (delta.set(key, {
|
|
15879
15919
|
prev: previousValue,
|
|
15880
15920
|
next: nextValue
|
|
15881
|
-
}), this.attribute[key] =
|
|
15921
|
+
}), this.attribute[key] = nextValue);
|
|
15882
15922
|
}
|
|
15883
|
-
this.valid = this.isValid(), this.submitUpdateByDelta(delta, forceUpdateTag), this.onAttributeUpdate(context);
|
|
15923
|
+
delta.size && (this.attributeMayContainTransientAttrs = !0), this.valid = this.isValid(), this.submitUpdateByDelta(delta, forceUpdateTag), this.onAttributeUpdate(context);
|
|
15884
15924
|
}
|
|
15885
15925
|
_restoreAttributeFromStaticTruth(context) {
|
|
15886
15926
|
this._syncFinalAttributeFromStaticTruth();
|
|
15887
15927
|
const delta = this._syncAttribute();
|
|
15888
15928
|
this.submitUpdateByDelta(delta), this.onAttributeUpdate(context);
|
|
15889
15929
|
}
|
|
15930
|
+
collectStatePatchDeltaKeys(previousPatch, nextPatch) {
|
|
15931
|
+
const keys = previousPatch ? Object.keys(previousPatch) : [];
|
|
15932
|
+
if (!nextPatch) return keys;
|
|
15933
|
+
for (const key in nextPatch) Object.prototype.hasOwnProperty.call(nextPatch, key) && !Object.prototype.hasOwnProperty.call(null != previousPatch ? previousPatch : {}, key) && keys.push(key);
|
|
15934
|
+
return keys;
|
|
15935
|
+
}
|
|
15936
|
+
getStaticTruthValueForStateKey(key, nextPatch) {
|
|
15937
|
+
var _a;
|
|
15938
|
+
const baseAttributes = null !== (_a = this.baseAttributes) && void 0 !== _a ? _a : {},
|
|
15939
|
+
patch = nextPatch;
|
|
15940
|
+
if (patch && Object.prototype.hasOwnProperty.call(patch, key)) {
|
|
15941
|
+
const patchValue = patch[key],
|
|
15942
|
+
baseValue = baseAttributes[key];
|
|
15943
|
+
return "deep" === this.stateMergeMode && isPlainObjectValue(baseValue) && isPlainObjectValue(patchValue) ? {
|
|
15944
|
+
hasValue: !0,
|
|
15945
|
+
value: deepMergeAttributeValue(baseValue, patchValue)
|
|
15946
|
+
} : {
|
|
15947
|
+
hasValue: !0,
|
|
15948
|
+
value: patchValue
|
|
15949
|
+
};
|
|
15950
|
+
}
|
|
15951
|
+
return Object.prototype.hasOwnProperty.call(baseAttributes, key) ? {
|
|
15952
|
+
hasValue: !0,
|
|
15953
|
+
value: baseAttributes[key]
|
|
15954
|
+
} : {
|
|
15955
|
+
hasValue: !1,
|
|
15956
|
+
value: void 0
|
|
15957
|
+
};
|
|
15958
|
+
}
|
|
15959
|
+
syncStatePatchDeltaToTarget(target, keys, nextPatch, collectCategory = !1) {
|
|
15960
|
+
let category = UpdateCategory.NONE;
|
|
15961
|
+
for (let i = 0; i < keys.length; i++) {
|
|
15962
|
+
const key = keys[i],
|
|
15963
|
+
previousValue = target[key],
|
|
15964
|
+
next = this.getStaticTruthValueForStateKey(key, nextPatch);
|
|
15965
|
+
if (!next.hasValue) {
|
|
15966
|
+
Object.prototype.hasOwnProperty.call(target, key) && (delete target[key], collectCategory && (category = this.mergeAttributeDeltaCategory(category, key, previousValue, void 0)));
|
|
15967
|
+
continue;
|
|
15968
|
+
}
|
|
15969
|
+
if (areAttributeValuesEqual(previousValue, next.value)) continue;
|
|
15970
|
+
const nextValue = cloneAttributeValue(next.value);
|
|
15971
|
+
target[key] = nextValue, collectCategory && (category = this.mergeAttributeDeltaCategory(category, key, previousValue, nextValue));
|
|
15972
|
+
}
|
|
15973
|
+
return category;
|
|
15974
|
+
}
|
|
15975
|
+
restoreAttributeFromStatePatchDelta(previousPatch, nextPatch, context) {
|
|
15976
|
+
this.detachAttributeFromBaseAttributes();
|
|
15977
|
+
const keys = this.collectStatePatchDeltaKeys(previousPatch, nextPatch),
|
|
15978
|
+
finalAttribute = this.finalAttribute;
|
|
15979
|
+
finalAttribute && this.syncStatePatchDeltaToTarget(finalAttribute, keys, nextPatch, !1);
|
|
15980
|
+
const category = this.syncStatePatchDeltaToTarget(this.attribute, keys, nextPatch, !0);
|
|
15981
|
+
this.valid = this.isValid(), this.attributeMayContainTransientAttrs = !1, this.submitUpdateByCategory(category), this.onAttributeUpdate(context);
|
|
15982
|
+
}
|
|
15890
15983
|
setMode(mode) {
|
|
15891
15984
|
"3d" === mode ? this.set3dMode() : this.set2dMode();
|
|
15892
15985
|
}
|
|
@@ -15909,7 +16002,7 @@
|
|
|
15909
16002
|
return point;
|
|
15910
16003
|
}
|
|
15911
16004
|
onAnimateBind(animate) {
|
|
15912
|
-
this._emitCustomEvent("animate-bind", animate);
|
|
16005
|
+
this.detachAttributeFromBaseAttributes(), this._emitCustomEvent("animate-bind", animate);
|
|
15913
16006
|
}
|
|
15914
16007
|
visitTrackedAnimates(cb) {
|
|
15915
16008
|
const hook = this.forEachTrackedAnimate;
|
|
@@ -15922,8 +16015,22 @@
|
|
|
15922
16015
|
const getTrackedAnimates = this.getTrackedAnimates;
|
|
15923
16016
|
return "function" == typeof getTrackedAnimates ? getTrackedAnimates.call(this).size > 0 : !!(null === (_a = this.animates) || void 0 === _a ? void 0 : _a.size);
|
|
15924
16017
|
}
|
|
16018
|
+
mayHaveTrackedAnimates() {
|
|
16019
|
+
var _a;
|
|
16020
|
+
return !!(null === (_a = this.animates) || void 0 === _a ? void 0 : _a.size) || !!this._animationStateManager;
|
|
16021
|
+
}
|
|
15925
16022
|
tryUpdateAABBBounds() {
|
|
16023
|
+
if (!(this.shadowRoot || this._updateTag & UpdateTag.UPDATE_BOUNDS)) return this._AABBBounds;
|
|
15926
16024
|
const full = "imprecise" === this.attribute.boundsMode;
|
|
16025
|
+
if (!this.shadowRoot) {
|
|
16026
|
+
const graphicService = this.getGraphicService(),
|
|
16027
|
+
graphicTheme = this.getGraphicTheme();
|
|
16028
|
+
if (!graphicService.validCheck(this.attribute, graphicTheme, this._AABBBounds, this)) return this._AABBBounds;
|
|
16029
|
+
if (!this.valid) return this._AABBBounds.clear(), this._AABBBounds;
|
|
16030
|
+
graphicService.beforeUpdateAABBBounds(this, this.stage, !0, this._AABBBounds);
|
|
16031
|
+
const bounds = this.doUpdateAABBBounds(full, graphicTheme);
|
|
16032
|
+
return graphicService.afterUpdateAABBBounds(this, this.stage, this._AABBBounds, this, !0), "empty" === this.attribute.boundsMode && bounds.clear(), bounds;
|
|
16033
|
+
}
|
|
15927
16034
|
if (!this.shouldUpdateAABBBounds()) return this._AABBBounds;
|
|
15928
16035
|
if (!this.valid) return this._AABBBounds.clear(), this._AABBBounds;
|
|
15929
16036
|
this.getGraphicService().beforeUpdateAABBBounds(this, this.stage, !0, this._AABBBounds);
|
|
@@ -15996,14 +16103,14 @@
|
|
|
15996
16103
|
const _parsedPath = new CustomSymbolClass(symbolType, cache);
|
|
15997
16104
|
return Graphic.userSymbolMap[symbolType] = _parsedPath, _parsedPath;
|
|
15998
16105
|
}
|
|
15999
|
-
doUpdateAABBBounds(full) {
|
|
16106
|
+
doUpdateAABBBounds(full, graphicTheme) {
|
|
16000
16107
|
this.updateAABBBoundsStamp++;
|
|
16001
|
-
const
|
|
16108
|
+
const resolvedGraphicTheme = null != graphicTheme ? graphicTheme : this.getGraphicTheme();
|
|
16002
16109
|
this._AABBBounds.clear();
|
|
16003
16110
|
const attribute = this.attribute,
|
|
16004
|
-
bounds = this.updateAABBBounds(attribute,
|
|
16111
|
+
bounds = this.updateAABBBounds(attribute, resolvedGraphicTheme, this._AABBBounds, full),
|
|
16005
16112
|
{
|
|
16006
|
-
boundsPadding =
|
|
16113
|
+
boundsPadding = resolvedGraphicTheme.boundsPadding
|
|
16007
16114
|
} = attribute,
|
|
16008
16115
|
paddingArray = parsePadding(boundsPadding);
|
|
16009
16116
|
return paddingArray && bounds.expand(paddingArray), this.clearUpdateBoundTag(), bounds;
|
|
@@ -16071,25 +16178,63 @@
|
|
|
16071
16178
|
this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1, this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;
|
|
16072
16179
|
}
|
|
16073
16180
|
setAttributesAndPreventAnimate(params, forceUpdateTag = !1, context, ignorePriority) {
|
|
16074
|
-
|
|
16075
|
-
|
|
16076
|
-
|
|
16077
|
-
|
|
16181
|
+
if (!params) return;
|
|
16182
|
+
const keys = Object.keys(params);
|
|
16183
|
+
this.captureTransientFromAttrsBeforePreventAnimate(params, keys, context), this.visitTrackedAnimates(animate => {
|
|
16184
|
+
(animate.priority !== 1 / 0 || ignorePriority) && animate.preventAttrs(keys);
|
|
16078
16185
|
}), this.applyTransientAttributes(params, forceUpdateTag, context);
|
|
16079
16186
|
}
|
|
16187
|
+
captureTransientFromAttrsBeforePreventAnimate(params, keys, context) {
|
|
16188
|
+
var _a, _b;
|
|
16189
|
+
const graphicContext = this.context,
|
|
16190
|
+
diffAttrs = null !== (_a = null == graphicContext ? void 0 : graphicContext.diffAttrs) && void 0 !== _a ? _a : params,
|
|
16191
|
+
updateType = null == context ? void 0 : context.type;
|
|
16192
|
+
if (!keys.length || !diffAttrs || updateType === AttributeUpdateType.STATE || null != updateType && updateType >= AttributeUpdateType.ANIMATE_BIND && updateType <= AttributeUpdateType.ANIMATE_END) return;
|
|
16193
|
+
const sameDiffAttrs = this.transientFromAttrsBeforePreventAnimateDiffAttrs === diffAttrs;
|
|
16194
|
+
let fromAttrs = sameDiffAttrs && null !== (_b = this.transientFromAttrsBeforePreventAnimate) && void 0 !== _b ? _b : null;
|
|
16195
|
+
sameDiffAttrs || (this.transientFromAttrsBeforePreventAnimate = null, this.transientFromAttrsBeforePreventAnimateDiffAttrs = null);
|
|
16196
|
+
let captured = !1;
|
|
16197
|
+
for (let i = 0; i < keys.length; i++) {
|
|
16198
|
+
const key = keys[i];
|
|
16199
|
+
if (!Object.prototype.hasOwnProperty.call(diffAttrs, key)) continue;
|
|
16200
|
+
const previousValue = this.attribute[key],
|
|
16201
|
+
nextValue = params[key];
|
|
16202
|
+
isEqual(previousValue, nextValue) || (null != fromAttrs || (fromAttrs = {}), fromAttrs[key] = cloneAttributeValue(previousValue), captured = !0);
|
|
16203
|
+
}
|
|
16204
|
+
captured && (this.transientFromAttrsBeforePreventAnimate = fromAttrs, this.transientFromAttrsBeforePreventAnimateDiffAttrs = diffAttrs);
|
|
16205
|
+
}
|
|
16206
|
+
consumeTransientFromAttrsBeforePreventAnimate(diffAttrs) {
|
|
16207
|
+
const transientFromAttrs = this.transientFromAttrsBeforePreventAnimate,
|
|
16208
|
+
sourceDiffAttrs = this.transientFromAttrsBeforePreventAnimateDiffAttrs;
|
|
16209
|
+
if (!transientFromAttrs || !sourceDiffAttrs) return null;
|
|
16210
|
+
for (const key in diffAttrs) if (Object.prototype.hasOwnProperty.call(diffAttrs, key) && (!Object.prototype.hasOwnProperty.call(sourceDiffAttrs, key) || !isEqual(sourceDiffAttrs[key], diffAttrs[key]))) return null;
|
|
16211
|
+
let fromAttrs = null,
|
|
16212
|
+
remaining = !1;
|
|
16213
|
+
for (const key in transientFromAttrs) Object.prototype.hasOwnProperty.call(transientFromAttrs, key) && (Object.prototype.hasOwnProperty.call(diffAttrs, key) ? (null != fromAttrs || (fromAttrs = {}), fromAttrs[key] = transientFromAttrs[key]) : remaining = !0);
|
|
16214
|
+
if (remaining) {
|
|
16215
|
+
const nextTransientFromAttrs = {};
|
|
16216
|
+
for (const key in transientFromAttrs) Object.prototype.hasOwnProperty.call(transientFromAttrs, key) && !Object.prototype.hasOwnProperty.call(diffAttrs, key) && (nextTransientFromAttrs[key] = transientFromAttrs[key]);
|
|
16217
|
+
this.transientFromAttrsBeforePreventAnimate = nextTransientFromAttrs;
|
|
16218
|
+
} else this.transientFromAttrsBeforePreventAnimate = null, this.transientFromAttrsBeforePreventAnimateDiffAttrs = null;
|
|
16219
|
+
return fromAttrs;
|
|
16220
|
+
}
|
|
16080
16221
|
setAttributes(params, forceUpdateTag = !1, context) {
|
|
16081
|
-
params && ((params = this.onBeforeAttributeUpdate && this.onBeforeAttributeUpdate(params, this.attribute, null, context) || params).background && this.loadImage(params.background, !0), isExternalTexture(params.texture) && this.loadImage(params.texture, !1), params.shadowGraphic && this.setShadowGraphic(params.shadowGraphic), this._setAttributes(params, forceUpdateTag, context));
|
|
16222
|
+
params && ((params = this.onBeforeAttributeUpdate && this.onBeforeAttributeUpdate(params, this.attribute, null, context) || params).background && this.loadImage(params.background, !0), params.texture && isExternalTexture(params.texture) && this.loadImage(params.texture, !1), params.shadowGraphic && this.setShadowGraphic(params.shadowGraphic), this._setAttributes(params, forceUpdateTag, context));
|
|
16082
16223
|
}
|
|
16083
16224
|
_setAttributes(params, forceUpdateTag = !1, context) {
|
|
16084
|
-
this.applyBaseAttributes(params), this.commitBaseAttributeMutation(forceUpdateTag, context);
|
|
16225
|
+
this.canCommitBaseAttributesByTouchedKeys() ? this.commitBaseAttributesByTouchedKeys(params, forceUpdateTag, context) : (this.detachAttributeFromBaseAttributes(), this.applyBaseAttributes(params), this.commitBaseAttributeMutation(forceUpdateTag, context));
|
|
16085
16226
|
}
|
|
16086
16227
|
setAttribute(key, value, forceUpdateTag, context) {
|
|
16087
16228
|
const params = this.onBeforeAttributeUpdate && this.onBeforeAttributeUpdate({
|
|
16088
16229
|
[key]: value
|
|
16089
16230
|
}, this.attribute, key, context);
|
|
16090
|
-
params
|
|
16091
|
-
|
|
16092
|
-
|
|
16231
|
+
if (params) this._setAttributes(params, forceUpdateTag, context);else if (this.canCommitBaseAttributesByTouchedKeys()) this.commitBaseAttributeBySingleKey(key, value, !!forceUpdateTag, context);else {
|
|
16232
|
+
const nextAttrs = {
|
|
16233
|
+
[key]: value
|
|
16234
|
+
};
|
|
16235
|
+
this.applyBaseAttributes(nextAttrs), this.commitBaseAttributeMutation(!!forceUpdateTag, context);
|
|
16236
|
+
}
|
|
16237
|
+
"background" === key ? this.loadImage(value, !0) : "texture" === key && isExternalTexture(value) ? this.loadImage(value, !1) : "shadowGraphic" === key && this.setShadowGraphic(value);
|
|
16093
16238
|
}
|
|
16094
16239
|
needUpdateTags(keys, k = GRAPHIC_UPDATE_TAG_KEY) {
|
|
16095
16240
|
for (let i = 0; i < k.length; i++) {
|
|
@@ -16108,7 +16253,7 @@
|
|
|
16108
16253
|
const context = {
|
|
16109
16254
|
type: AttributeUpdateType.INIT
|
|
16110
16255
|
};
|
|
16111
|
-
params = this.onBeforeAttributeUpdate && this.onBeforeAttributeUpdate(params, this.attribute, null, context) || params, this.
|
|
16256
|
+
params = this.onBeforeAttributeUpdate && this.onBeforeAttributeUpdate(params, this.attribute, null, context) || params, this.attribute = params, this._baseAttributes = void 0, this.resolvedStatePatch = void 0, this.attributeMayContainTransientAttrs = !1, this.valid = this.isValid(), params.background && this.loadImage(params.background, !0), params.texture && isExternalTexture(params.texture) && this.loadImage(params.texture, !1), params.shadowGraphic && this.setShadowGraphic(params.shadowGraphic), this._updateTag = UpdateTag.INIT, this.valid = this.isValid(), this.onAttributeUpdate(context);
|
|
16112
16257
|
}
|
|
16113
16258
|
translate(x, y) {
|
|
16114
16259
|
var _a, _b;
|
|
@@ -16120,10 +16265,15 @@
|
|
|
16120
16265
|
x: x,
|
|
16121
16266
|
y: y
|
|
16122
16267
|
}, this.attribute, tempConstantXYKey, context);
|
|
16123
|
-
params && (x = params.x, y = params.y, delete params.x, delete params.y
|
|
16268
|
+
params && (x = params.x, y = params.y, delete params.x, delete params.y);
|
|
16124
16269
|
const attribute = this.baseAttributes,
|
|
16125
|
-
postMatrix = attribute.postMatrix
|
|
16126
|
-
|
|
16270
|
+
postMatrix = attribute.postMatrix,
|
|
16271
|
+
nextAttrs = params || {};
|
|
16272
|
+
if (postMatrix) {
|
|
16273
|
+
const nextPostMatrix = postMatrix.clone();
|
|
16274
|
+
application.transformUtil.fromMatrix(nextPostMatrix, nextPostMatrix).translate(x, y), nextAttrs.postMatrix = nextPostMatrix;
|
|
16275
|
+
} else nextAttrs.x = (null !== (_a = attribute.x) && void 0 !== _a ? _a : DefaultTransform.x) + x, nextAttrs.y = (null !== (_b = attribute.y) && void 0 !== _b ? _b : DefaultTransform.y) + y;
|
|
16276
|
+
return this.commitInternalBaseAttributes(nextAttrs, context), this;
|
|
16127
16277
|
}
|
|
16128
16278
|
translateTo(x, y) {
|
|
16129
16279
|
const attribute = this.baseAttributes;
|
|
@@ -16135,7 +16285,10 @@
|
|
|
16135
16285
|
x: x,
|
|
16136
16286
|
y: y
|
|
16137
16287
|
}, this.attribute, tempConstantXYKey, context);
|
|
16138
|
-
return params ? (this.
|
|
16288
|
+
return params ? (this.commitInternalBaseAttributes(params, context), this) : (this.commitInternalBaseAttributes({
|
|
16289
|
+
x: x,
|
|
16290
|
+
y: y
|
|
16291
|
+
}, context), this);
|
|
16139
16292
|
}
|
|
16140
16293
|
scale(scaleX, scaleY, scaleCenter) {
|
|
16141
16294
|
var _a, _b;
|
|
@@ -16148,15 +16301,16 @@
|
|
|
16148
16301
|
scaleY: scaleY,
|
|
16149
16302
|
scaleCenter: scaleCenter
|
|
16150
16303
|
}, this.attribute, tempConstantScaleXYKey, context);
|
|
16151
|
-
params && (scaleX = params.scaleX, scaleY = params.scaleY, delete params.scaleX, delete params.scaleY
|
|
16152
|
-
const attribute = this.baseAttributes
|
|
16304
|
+
params && (scaleX = params.scaleX, scaleY = params.scaleY, delete params.scaleX, delete params.scaleY);
|
|
16305
|
+
const attribute = this.baseAttributes,
|
|
16306
|
+
nextAttrs = params || {};
|
|
16153
16307
|
if (scaleCenter) {
|
|
16154
16308
|
let {
|
|
16155
16309
|
postMatrix: postMatrix
|
|
16156
|
-
} = this.
|
|
16157
|
-
postMatrix
|
|
16158
|
-
} else
|
|
16159
|
-
return this.
|
|
16310
|
+
} = this.baseAttributes;
|
|
16311
|
+
postMatrix = postMatrix ? postMatrix.clone() : new Matrix(), application.transformUtil.fromMatrix(postMatrix, postMatrix).scale(scaleX, scaleY, scaleCenter), nextAttrs.postMatrix = postMatrix;
|
|
16312
|
+
} else nextAttrs.scaleX = (null !== (_a = attribute.scaleX) && void 0 !== _a ? _a : DefaultTransform.scaleX) * scaleX, nextAttrs.scaleY = (null !== (_b = attribute.scaleY) && void 0 !== _b ? _b : DefaultTransform.scaleY) * scaleY;
|
|
16313
|
+
return this.commitInternalBaseAttributes(nextAttrs, context), this;
|
|
16160
16314
|
}
|
|
16161
16315
|
scaleTo(scaleX, scaleY) {
|
|
16162
16316
|
const attribute = this.baseAttributes;
|
|
@@ -16168,7 +16322,10 @@
|
|
|
16168
16322
|
scaleX: scaleX,
|
|
16169
16323
|
scaleY: scaleY
|
|
16170
16324
|
}, this.attribute, tempConstantScaleXYKey, context);
|
|
16171
|
-
return params ? (this.
|
|
16325
|
+
return params ? (this.commitInternalBaseAttributes(params, context), this) : (this.commitInternalBaseAttributes({
|
|
16326
|
+
scaleX: scaleX,
|
|
16327
|
+
scaleY: scaleY
|
|
16328
|
+
}, context), this);
|
|
16172
16329
|
}
|
|
16173
16330
|
rotate(angle, rotateCenter) {
|
|
16174
16331
|
var _a;
|
|
@@ -16180,24 +16337,26 @@
|
|
|
16180
16337
|
angle: angle,
|
|
16181
16338
|
rotateCenter: rotateCenter
|
|
16182
16339
|
}, this.attribute, tempConstantAngleKey, context);
|
|
16183
|
-
params &&
|
|
16184
|
-
const attribute = this.baseAttributes
|
|
16340
|
+
params && delete params.angle;
|
|
16341
|
+
const attribute = this.baseAttributes,
|
|
16342
|
+
nextAttrs = params || {};
|
|
16185
16343
|
if (rotateCenter) {
|
|
16186
16344
|
let {
|
|
16187
16345
|
postMatrix: postMatrix
|
|
16188
16346
|
} = this.baseAttributes;
|
|
16189
|
-
postMatrix
|
|
16190
|
-
} else
|
|
16191
|
-
return this.
|
|
16347
|
+
postMatrix = postMatrix ? postMatrix.clone() : new Matrix(), application.transformUtil.fromMatrix(postMatrix, postMatrix).rotate(angle, rotateCenter), nextAttrs.postMatrix = postMatrix;
|
|
16348
|
+
} else nextAttrs.angle = (null !== (_a = attribute.angle) && void 0 !== _a ? _a : DefaultTransform.angle) + angle;
|
|
16349
|
+
return this.commitInternalBaseAttributes(nextAttrs, context), this;
|
|
16192
16350
|
}
|
|
16193
16351
|
rotateTo(angle) {
|
|
16194
|
-
|
|
16195
|
-
if (attribute.angle === angle) return this;
|
|
16352
|
+
if (this.baseAttributes.angle === angle) return this;
|
|
16196
16353
|
const context = {
|
|
16197
16354
|
type: AttributeUpdateType.ROTATE_TO
|
|
16198
16355
|
},
|
|
16199
16356
|
params = this.onBeforeAttributeUpdate && this.onBeforeAttributeUpdate(angle, this.attribute, tempConstantAngleKey, context);
|
|
16200
|
-
return params ? (this.
|
|
16357
|
+
return params ? (this.commitInternalBaseAttributes(params, context), this) : (this.commitInternalBaseAttributes({
|
|
16358
|
+
angle: angle
|
|
16359
|
+
}, context), this);
|
|
16201
16360
|
}
|
|
16202
16361
|
skewTo(b, c) {
|
|
16203
16362
|
return this;
|
|
@@ -16236,6 +16395,131 @@
|
|
|
16236
16395
|
stateEngine: this.stateEngine
|
|
16237
16396
|
});
|
|
16238
16397
|
}
|
|
16398
|
+
resolveSimpleLocalStateTransition(states, previousStates) {
|
|
16399
|
+
var _a;
|
|
16400
|
+
if (!this.states || this.stateProxy || this.stateSort || "deep" === this.stateMergeMode || this.parent || (null === (_a = this.stage) || void 0 === _a ? void 0 : _a.rootSharedStateScope) || this.boundSharedStateScope) return null;
|
|
16401
|
+
if (1 === states.length) {
|
|
16402
|
+
const stateName = states[0],
|
|
16403
|
+
hasDefinition = Object.prototype.hasOwnProperty.call(this.states, stateName),
|
|
16404
|
+
nextStates = [stateName],
|
|
16405
|
+
changed = !this.sameStateNames(previousStates, nextStates),
|
|
16406
|
+
resolvedStateAttrs = {};
|
|
16407
|
+
if (hasDefinition) {
|
|
16408
|
+
const attrs = this.states[stateName];
|
|
16409
|
+
if (null != attrs) {
|
|
16410
|
+
if (!isPlainObjectValue(attrs)) return null;
|
|
16411
|
+
const keys = Object.keys(attrs);
|
|
16412
|
+
for (let keyIndex = 0; keyIndex < keys.length; keyIndex++) {
|
|
16413
|
+
const key = keys[keyIndex];
|
|
16414
|
+
if (FULL_STATE_DEFINITION_KEYS.has(key)) return null;
|
|
16415
|
+
const attrValue = attrs[key];
|
|
16416
|
+
resolvedStateAttrs[key] = isPlainObjectValue(attrValue) ? cloneAttributeValue(attrValue) : attrValue;
|
|
16417
|
+
}
|
|
16418
|
+
}
|
|
16419
|
+
}
|
|
16420
|
+
return {
|
|
16421
|
+
changed: changed,
|
|
16422
|
+
states: nextStates,
|
|
16423
|
+
effectiveStates: nextStates,
|
|
16424
|
+
resolvedStateAttrs: resolvedStateAttrs
|
|
16425
|
+
};
|
|
16426
|
+
}
|
|
16427
|
+
const uniqueStates = Array.from(new Set(states)),
|
|
16428
|
+
withDefinition = [],
|
|
16429
|
+
withoutDefinition = [];
|
|
16430
|
+
for (let i = 0; i < uniqueStates.length; i++) {
|
|
16431
|
+
const stateName = uniqueStates[i];
|
|
16432
|
+
Object.prototype.hasOwnProperty.call(this.states, stateName) ? withDefinition.push(stateName) : withoutDefinition.push(stateName);
|
|
16433
|
+
}
|
|
16434
|
+
withDefinition.sort((left, right) => left.localeCompare(right));
|
|
16435
|
+
const nextStates = withDefinition.concat(withoutDefinition),
|
|
16436
|
+
changed = !this.sameStateNames(previousStates, nextStates),
|
|
16437
|
+
resolvedStateAttrs = {};
|
|
16438
|
+
for (let i = 0; i < nextStates.length; i++) {
|
|
16439
|
+
const stateName = nextStates[i];
|
|
16440
|
+
if (!Object.prototype.hasOwnProperty.call(this.states, stateName)) continue;
|
|
16441
|
+
const attrs = this.states[stateName];
|
|
16442
|
+
if (null == attrs) continue;
|
|
16443
|
+
if (!isPlainObjectValue(attrs)) return null;
|
|
16444
|
+
const keys = Object.keys(attrs);
|
|
16445
|
+
for (let keyIndex = 0; keyIndex < keys.length; keyIndex++) {
|
|
16446
|
+
const key = keys[keyIndex];
|
|
16447
|
+
if (FULL_STATE_DEFINITION_KEYS.has(key)) return null;
|
|
16448
|
+
const attrValue = attrs[key];
|
|
16449
|
+
resolvedStateAttrs[key] = isPlainObjectValue(attrValue) ? cloneAttributeValue(attrValue) : attrValue;
|
|
16450
|
+
}
|
|
16451
|
+
}
|
|
16452
|
+
return {
|
|
16453
|
+
changed: changed,
|
|
16454
|
+
states: nextStates,
|
|
16455
|
+
effectiveStates: nextStates,
|
|
16456
|
+
resolvedStateAttrs: resolvedStateAttrs
|
|
16457
|
+
};
|
|
16458
|
+
}
|
|
16459
|
+
resolveGraphicStateTransition(states, previousStates, forceResolverRefresh = !1) {
|
|
16460
|
+
var _a, _b, _c, _d;
|
|
16461
|
+
let transition = this.resolveSimpleLocalStateTransition(states, previousStates);
|
|
16462
|
+
const isSimpleLocalTransition = !!transition;
|
|
16463
|
+
let resolvedStateAttrs;
|
|
16464
|
+
if (transition) resolvedStateAttrs = transition.resolvedStateAttrs;else {
|
|
16465
|
+
const stateResolveBaseAttrs = null !== (_a = this.baseAttributes) && void 0 !== _a ? _a : this.attribute,
|
|
16466
|
+
stateModel = this.createStateModel();
|
|
16467
|
+
null === (_b = this.stateEngine) || void 0 === _b || _b.setResolveContext(this, stateResolveBaseAttrs), forceResolverRefresh && (null === (_c = this.stateEngine) || void 0 === _c || _c.invalidateResolverCache()), transition = stateModel.useStates(states), resolvedStateAttrs = this.stateEngine && this.compiledStateDefinitions ? Object.assign({}, this.stateEngine.resolvedPatch) : this.getStateStyleResolver(this.stateMergeMode).resolve(stateResolveBaseAttrs, this.states, this.stateProxy, transition.states, this.stateSort);
|
|
16468
|
+
}
|
|
16469
|
+
return {
|
|
16470
|
+
transition: transition,
|
|
16471
|
+
effectiveStates: null !== (_d = transition.effectiveStates) && void 0 !== _d ? _d : transition.states,
|
|
16472
|
+
resolvedStateAttrs: resolvedStateAttrs,
|
|
16473
|
+
isSimpleLocalTransition: isSimpleLocalTransition
|
|
16474
|
+
};
|
|
16475
|
+
}
|
|
16476
|
+
normalizeSetStatesOptions(options) {
|
|
16477
|
+
return options && "object" == typeof options ? {
|
|
16478
|
+
hasAnimation: options.animate,
|
|
16479
|
+
animateSameStatePatchChange: !0 === options.animateSameStatePatchChange,
|
|
16480
|
+
shouldRefreshSameStatePatch: !0
|
|
16481
|
+
} : {
|
|
16482
|
+
hasAnimation: "boolean" == typeof options ? options : void 0,
|
|
16483
|
+
animateSameStatePatchChange: !1,
|
|
16484
|
+
shouldRefreshSameStatePatch: !1
|
|
16485
|
+
};
|
|
16486
|
+
}
|
|
16487
|
+
sameStatePatches(left, right) {
|
|
16488
|
+
const leftRecord = null != left ? left : {},
|
|
16489
|
+
rightRecord = null != right ? right : {},
|
|
16490
|
+
keys = new Set([...Object.keys(leftRecord), ...Object.keys(rightRecord)]);
|
|
16491
|
+
for (const key of keys) {
|
|
16492
|
+
if (Object.prototype.hasOwnProperty.call(leftRecord, key) !== Object.prototype.hasOwnProperty.call(rightRecord, key)) return !1;
|
|
16493
|
+
if (!areAttributeValuesEqual(leftRecord[key], rightRecord[key])) return !1;
|
|
16494
|
+
}
|
|
16495
|
+
return !0;
|
|
16496
|
+
}
|
|
16497
|
+
commitSameStatePatchRefresh(states, hasAnimation, animateSameStatePatchChange = !1) {
|
|
16498
|
+
var _a;
|
|
16499
|
+
const previousStates = null !== (_a = this.currentStates) && void 0 !== _a ? _a : EMPTY_STATE_NAMES,
|
|
16500
|
+
previousResolvedStatePatch = this.resolvedStatePatch,
|
|
16501
|
+
{
|
|
16502
|
+
transition: transition,
|
|
16503
|
+
effectiveStates: effectiveStates,
|
|
16504
|
+
resolvedStateAttrs: resolvedStateAttrs,
|
|
16505
|
+
isSimpleLocalTransition: isSimpleLocalTransition
|
|
16506
|
+
} = this.resolveGraphicStateTransition(states, previousStates, !0),
|
|
16507
|
+
patchChanged = !this.sameStatePatches(previousResolvedStatePatch, resolvedStateAttrs);
|
|
16508
|
+
if ((!patchChanged || this.beforeStateUpdate(resolvedStateAttrs, previousStates, transition.states, hasAnimation, !1)) && (this.currentStates = transition.states, this.effectiveStates = isSimpleLocalTransition ? effectiveStates : [...effectiveStates], this.resolvedStatePatch = resolvedStateAttrs, this.sharedStateDirty = !1, this.syncSharedStateActiveRegistrations(), patchChanged)) {
|
|
16509
|
+
if (this.stage) {
|
|
16510
|
+
const perfMonitor = getActiveStageStatePerfMonitor(this.stage);
|
|
16511
|
+
null == perfMonitor || perfMonitor.incrementCounter("stateCommits"), null == perfMonitor || perfMonitor.recordEvent("state-commit", {
|
|
16512
|
+
graphicId: this._uid,
|
|
16513
|
+
targetStates: [...transition.states]
|
|
16514
|
+
});
|
|
16515
|
+
}
|
|
16516
|
+
hasAnimation && animateSameStatePatchChange ? (this._syncFinalAttributeFromStaticTruth(), this.applyStateAttrs(resolvedStateAttrs, transition.states, hasAnimation, !1, void 0, this.buildRemovedStateAnimationAttrs(resolvedStateAttrs, previousResolvedStatePatch))) : (this.stopStateAnimates(), this.attributeMayContainTransientAttrs ? this._restoreAttributeFromStaticTruth({
|
|
16517
|
+
type: AttributeUpdateType.STATE
|
|
16518
|
+
}) : this.restoreAttributeFromStatePatchDelta(previousResolvedStatePatch, this.resolvedStatePatch, {
|
|
16519
|
+
type: AttributeUpdateType.STATE
|
|
16520
|
+
}), this.emitStateUpdateEvent());
|
|
16521
|
+
}
|
|
16522
|
+
}
|
|
16239
16523
|
resolveStateAnimateConfig(animateConfig) {
|
|
16240
16524
|
var _a, _b, _c;
|
|
16241
16525
|
return null !== (_c = null !== (_a = null != animateConfig ? animateConfig : this.stateAnimateConfig) && void 0 !== _a ? _a : null === (_b = this.context) || void 0 === _b ? void 0 : _b.stateAnimateConfig) && void 0 !== _c ? _c : DefaultStateAnimateConfig;
|
|
@@ -16256,9 +16540,7 @@
|
|
|
16256
16540
|
});
|
|
16257
16541
|
this.getStateTransitionOrchestrator().applyTransition(this, plan, hasAnimation, transitionOptions);
|
|
16258
16542
|
}
|
|
16259
|
-
updateNormalAttrs(
|
|
16260
|
-
this._deprecatedNormalAttrsView = cloneAttributeValue(this.baseAttributes);
|
|
16261
|
-
}
|
|
16543
|
+
updateNormalAttrs(_stateAttrs) {}
|
|
16262
16544
|
getStateTransitionDefaultAttribute(key, targetAttrs) {
|
|
16263
16545
|
return this.getDefaultAttribute(key);
|
|
16264
16546
|
}
|
|
@@ -16268,6 +16550,7 @@
|
|
|
16268
16550
|
stopStateAnimates(type = "end") {
|
|
16269
16551
|
const stopAnimationState = this.stopAnimationState;
|
|
16270
16552
|
if ("function" == typeof stopAnimationState) return void stopAnimationState.call(this, "state", type);
|
|
16553
|
+
if (!this.mayHaveTrackedAnimates()) return;
|
|
16271
16554
|
const stateAnimates = [];
|
|
16272
16555
|
this.visitTrackedAnimates(animate => {
|
|
16273
16556
|
animate.stateNames && stateAnimates.push(animate);
|
|
@@ -16280,19 +16563,25 @@
|
|
|
16280
16563
|
}
|
|
16281
16564
|
clearStates(hasAnimation) {
|
|
16282
16565
|
var _a, _b, _c;
|
|
16283
|
-
const previousStates =
|
|
16284
|
-
previousResolvedStatePatch = this.resolvedStatePatch
|
|
16566
|
+
const previousStates = null !== (_a = this.currentStates) && void 0 !== _a ? _a : EMPTY_STATE_NAMES,
|
|
16567
|
+
previousResolvedStatePatch = this.resolvedStatePatch,
|
|
16285
16568
|
transition = this.createStateModel().clearStates();
|
|
16286
16569
|
if (!transition.changed && 0 === previousStates.length) return this.currentStates = [], this.effectiveStates = [], this.resolvedStatePatch = void 0, this.sharedStateDirty = !1, void this.clearSharedStateActiveRegistrations();
|
|
16287
|
-
const resolvedStateAttrs = cloneAttributeValue(null !== (
|
|
16288
|
-
transition.changed
|
|
16289
|
-
|
|
16290
|
-
|
|
16291
|
-
|
|
16292
|
-
|
|
16293
|
-
|
|
16294
|
-
|
|
16295
|
-
|
|
16570
|
+
const resolvedStateAttrs = hasAnimation || this.hasCustomEvent("beforeStateUpdate") ? cloneAttributeValue(null !== (_b = this.baseAttributes) && void 0 !== _b ? _b : {}) : null !== (_c = this.baseAttributes) && void 0 !== _c ? _c : {};
|
|
16571
|
+
if (!transition.changed || this.beforeStateUpdate(resolvedStateAttrs, previousStates, transition.states, hasAnimation, !0)) {
|
|
16572
|
+
if (this.currentStates = transition.states, this.effectiveStates = [], this.resolvedStatePatch = void 0, this.sharedStateDirty = !1, this.clearSharedStateActiveRegistrations(), this.stage) {
|
|
16573
|
+
const perfMonitor = getActiveStageStatePerfMonitor(this.stage);
|
|
16574
|
+
null == perfMonitor || perfMonitor.incrementCounter("stateCommits"), null == perfMonitor || perfMonitor.recordEvent("state-commit", {
|
|
16575
|
+
graphicId: this._uid,
|
|
16576
|
+
targetStates: []
|
|
16577
|
+
});
|
|
16578
|
+
}
|
|
16579
|
+
hasAnimation ? (this._syncFinalAttributeFromStaticTruth(), this.applyStateAttrs(resolvedStateAttrs, transition.states, hasAnimation, !0, void 0, this.buildRemovedStateAnimationAttrs(resolvedStateAttrs, previousResolvedStatePatch))) : (this.stopStateAnimates(), this.attributeMayContainTransientAttrs ? this._restoreAttributeFromStaticTruth({
|
|
16580
|
+
type: AttributeUpdateType.STATE
|
|
16581
|
+
}) : this.restoreAttributeFromStatePatchDelta(previousResolvedStatePatch, void 0, {
|
|
16582
|
+
type: AttributeUpdateType.STATE
|
|
16583
|
+
}), this.emitStateUpdateEvent());
|
|
16584
|
+
}
|
|
16296
16585
|
}
|
|
16297
16586
|
removeState(stateName, hasAnimation) {
|
|
16298
16587
|
const transition = this.createStateModel().removeState(stateName);
|
|
@@ -16306,39 +16595,59 @@
|
|
|
16306
16595
|
const transition = this.createStateModel().addState(stateName, keepCurrentStates);
|
|
16307
16596
|
transition.changed && this.useStates(transition.states, hasAnimation);
|
|
16308
16597
|
}
|
|
16598
|
+
setStates(states, options) {
|
|
16599
|
+
var _a, _b, _c;
|
|
16600
|
+
const {
|
|
16601
|
+
hasAnimation: hasAnimation,
|
|
16602
|
+
animateSameStatePatchChange: animateSameStatePatchChange,
|
|
16603
|
+
shouldRefreshSameStatePatch: shouldRefreshSameStatePatch
|
|
16604
|
+
} = this.normalizeSetStatesOptions(options),
|
|
16605
|
+
nextStates = (null == states ? void 0 : states.length) ? states : EMPTY_STATE_NAMES,
|
|
16606
|
+
hasCurrentState = !!((null === (_a = this.currentStates) || void 0 === _a ? void 0 : _a.length) || (null === (_b = this.effectiveStates) || void 0 === _b ? void 0 : _b.length) || this.resolvedStatePatch || (null === (_c = this.registeredActiveScopes) || void 0 === _c ? void 0 : _c.size));
|
|
16607
|
+
if (nextStates.length) {
|
|
16608
|
+
if (this.sameStateNames(this.currentStates, nextStates)) return shouldRefreshSameStatePatch ? void this.commitSameStatePatchRefresh(nextStates, hasAnimation, animateSameStatePatchChange) : void (this.sharedStateDirty && this.refreshSharedStateBeforeRender());
|
|
16609
|
+
this.useStates(nextStates, hasAnimation);
|
|
16610
|
+
} else {
|
|
16611
|
+
if (!hasCurrentState && !this.sharedStateDirty) return;
|
|
16612
|
+
this.clearStates(hasAnimation);
|
|
16613
|
+
}
|
|
16614
|
+
}
|
|
16309
16615
|
useStates(states, hasAnimation) {
|
|
16310
|
-
var _a
|
|
16616
|
+
var _a;
|
|
16311
16617
|
if (!states.length) return void this.clearStates(hasAnimation);
|
|
16312
|
-
const previousStates =
|
|
16313
|
-
previousResolvedStatePatch = this.resolvedStatePatch
|
|
16314
|
-
|
|
16315
|
-
|
|
16316
|
-
|
|
16317
|
-
|
|
16318
|
-
|
|
16319
|
-
|
|
16320
|
-
|
|
16321
|
-
|
|
16322
|
-
|
|
16323
|
-
|
|
16324
|
-
|
|
16325
|
-
|
|
16326
|
-
|
|
16327
|
-
|
|
16328
|
-
|
|
16618
|
+
const previousStates = null !== (_a = this.currentStates) && void 0 !== _a ? _a : EMPTY_STATE_NAMES,
|
|
16619
|
+
previousResolvedStatePatch = this.resolvedStatePatch,
|
|
16620
|
+
{
|
|
16621
|
+
transition: transition,
|
|
16622
|
+
effectiveStates: effectiveStates,
|
|
16623
|
+
resolvedStateAttrs: resolvedStateAttrs,
|
|
16624
|
+
isSimpleLocalTransition: isSimpleLocalTransition
|
|
16625
|
+
} = this.resolveGraphicStateTransition(states, previousStates);
|
|
16626
|
+
if ((transition.changed || !this.sameStateNames(previousStates, transition.states)) && this.beforeStateUpdate(resolvedStateAttrs, previousStates, transition.states, hasAnimation, !1)) {
|
|
16627
|
+
if (this.currentStates = transition.states, this.effectiveStates = isSimpleLocalTransition ? effectiveStates : [...effectiveStates], this.resolvedStatePatch = resolvedStateAttrs, this.sharedStateDirty = !1, this.syncSharedStateActiveRegistrations(), this.stage) {
|
|
16628
|
+
const perfMonitor = getActiveStageStatePerfMonitor(this.stage);
|
|
16629
|
+
null == perfMonitor || perfMonitor.incrementCounter("stateCommits"), null == perfMonitor || perfMonitor.recordEvent("state-commit", {
|
|
16630
|
+
graphicId: this._uid,
|
|
16631
|
+
targetStates: [...transition.states]
|
|
16632
|
+
});
|
|
16633
|
+
}
|
|
16634
|
+
hasAnimation ? (this._syncFinalAttributeFromStaticTruth(), this.applyStateAttrs(resolvedStateAttrs, transition.states, hasAnimation, !1, void 0, this.buildRemovedStateAnimationAttrs(resolvedStateAttrs, previousResolvedStatePatch))) : (this.stopStateAnimates(), this.attributeMayContainTransientAttrs ? this._restoreAttributeFromStaticTruth({
|
|
16635
|
+
type: AttributeUpdateType.STATE
|
|
16636
|
+
}) : this.restoreAttributeFromStatePatchDelta(previousResolvedStatePatch, this.resolvedStatePatch, {
|
|
16637
|
+
type: AttributeUpdateType.STATE
|
|
16638
|
+
}), this.emitStateUpdateEvent());
|
|
16639
|
+
}
|
|
16329
16640
|
}
|
|
16330
16641
|
invalidateResolver() {
|
|
16331
|
-
var _a, _b;
|
|
16642
|
+
var _a, _b, _c;
|
|
16332
16643
|
if (!this.stateEngine || !(null === (_a = this.currentStates) || void 0 === _a ? void 0 : _a.length) || !this.compiledStateDefinitions) return;
|
|
16333
16644
|
const stateResolveBaseAttrs = null !== (_b = this.baseAttributes) && void 0 !== _b ? _b : this.attribute;
|
|
16334
|
-
this.stateEngine.setResolveContext(this, stateResolveBaseAttrs), this.resolverEpoch
|
|
16645
|
+
this.stateEngine.setResolveContext(this, stateResolveBaseAttrs), this.resolverEpoch = (null !== (_c = this.resolverEpoch) && void 0 !== _c ? _c : 0) + 1, this.stateEngine.invalidateResolverCache();
|
|
16335
16646
|
const transition = this.stateEngine.applyStates(this.currentStates),
|
|
16336
16647
|
resolvedStateAttrs = Object.assign({}, this.stateEngine.resolvedPatch);
|
|
16337
|
-
this.effectiveStates = [...transition.effectiveStates], this.resolvedStatePatch =
|
|
16338
|
-
type: AttributeUpdateType.STATE
|
|
16339
|
-
}), this._emitCustomEvent("afterStateUpdate", {
|
|
16648
|
+
this.effectiveStates = [...transition.effectiveStates], this.resolvedStatePatch = resolvedStateAttrs, this.sharedStateDirty = !1, this.syncSharedStateActiveRegistrations(), this.stopStateAnimates(), this._restoreAttributeFromStaticTruth({
|
|
16340
16649
|
type: AttributeUpdateType.STATE
|
|
16341
|
-
});
|
|
16650
|
+
}), this.emitStateUpdateEvent();
|
|
16342
16651
|
}
|
|
16343
16652
|
sameStateNames(left, right) {
|
|
16344
16653
|
const normalizedLeft = null != left ? left : [],
|
|
@@ -16359,6 +16668,9 @@
|
|
|
16359
16668
|
addUpdateShapeAndBoundsTag() {
|
|
16360
16669
|
this._updateTag |= UpdateTag.UPDATE_SHAPE_AND_BOUNDS, this.parent && this.parent.addChildUpdateBoundTag(), this.glyphHost && this.glyphHost.addUpdateBoundTag();
|
|
16361
16670
|
}
|
|
16671
|
+
addBroadUpdateTag() {
|
|
16672
|
+
this.shadowRoot && this.shadowRoot.addUpdateGlobalPositionTag(), this._updateTag |= UpdateTag.UPDATE_SHAPE_AND_BOUNDS | UpdateTag.UPDATE_PAINT | UpdateTag.UPDATE_GLOBAL_LOCAL_MATRIX | UpdateTag.UPDATE_LAYOUT, this.parent && this.parent.addChildUpdateBoundTag(), this.glyphHost && this.glyphHost.addUpdateBoundTag();
|
|
16673
|
+
}
|
|
16362
16674
|
updateShapeAndBoundsTagSetted() {
|
|
16363
16675
|
return (this._updateTag & UpdateTag.UPDATE_SHAPE_AND_BOUNDS) === UpdateTag.UPDATE_SHAPE_AND_BOUNDS;
|
|
16364
16676
|
}
|
|
@@ -16446,13 +16758,13 @@
|
|
|
16446
16758
|
}
|
|
16447
16759
|
}
|
|
16448
16760
|
setStage(stage, layer) {
|
|
16449
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
16761
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
16450
16762
|
const graphicService = null !== (_c = null !== (_a = null == stage ? void 0 : stage.graphicService) && void 0 !== _a ? _a : null === (_b = this.stage) || void 0 === _b ? void 0 : _b.graphicService) && void 0 !== _c ? _c : application.graphicService,
|
|
16451
16763
|
previousStage = this.stage;
|
|
16452
16764
|
if (this.stage !== stage || this.layer !== layer) {
|
|
16453
|
-
if (this.stage = stage, this.layer = layer,
|
|
16454
|
-
const previousTimeline = null === (
|
|
16455
|
-
nextTimeline = null === (
|
|
16765
|
+
if (this.stage = stage, this.layer = layer, ((null === (_d = this.currentStates) || void 0 === _d ? void 0 : _d.length) || this.boundSharedStateScope || (null === (_e = this.registeredActiveScopes) || void 0 === _e ? void 0 : _e.size) || this.sharedStateDirty) && this.syncSharedStateScopeBindingOnTreeChange(!0), this.setStageToShadowRoot(stage, layer), this.mayHaveTrackedAnimates() && this.hasAnyTrackedAnimate()) {
|
|
16766
|
+
const previousTimeline = null === (_f = null == previousStage ? void 0 : previousStage.getTimeline) || void 0 === _f ? void 0 : _f.call(previousStage),
|
|
16767
|
+
nextTimeline = null === (_g = null == stage ? void 0 : stage.getTimeline) || void 0 === _g ? void 0 : _g.call(stage),
|
|
16456
16768
|
detachedStageAnimates = [];
|
|
16457
16769
|
this.visitTrackedAnimates(a => {
|
|
16458
16770
|
(!!previousTimeline && a.timeline === previousTimeline || a.timeline.isGlobal) && (nextTimeline ? a.timeline !== nextTimeline && (previousTimeline && a.timeline === previousTimeline && previousTimeline.removeAnimate(a, !1), a.setTimeline(nextTimeline), nextTimeline.addAnimate(a)) : previousTimeline && a.timeline === previousTimeline && (previousTimeline.removeAnimate(a, !1), detachedStageAnimates.push(a)));
|
|
@@ -16465,9 +16777,13 @@
|
|
|
16465
16777
|
type: AttributeUpdateType.ANIMATE_END
|
|
16466
16778
|
}));
|
|
16467
16779
|
}
|
|
16468
|
-
return this._onSetStage && this._onSetStage(this, stage, layer), void (null === (
|
|
16780
|
+
return this._onSetStage && this._onSetStage(this, stage, layer), void (null === (_h = null == graphicService ? void 0 : graphicService.onSetStage) || void 0 === _h || _h.call(graphicService, this, stage));
|
|
16469
16781
|
}
|
|
16470
|
-
|
|
16782
|
+
((null === (_j = this.currentStates) || void 0 === _j ? void 0 : _j.length) || this.boundSharedStateScope || (null === (_k = this.registeredActiveScopes) || void 0 === _k ? void 0 : _k.size) || this.sharedStateDirty) && this.syncSharedStateScopeBindingOnTreeChange(!0);
|
|
16783
|
+
}
|
|
16784
|
+
detachStageForRelease() {
|
|
16785
|
+
var _a, _b, _c;
|
|
16786
|
+
(null === (_a = this.registeredActiveScopes) || void 0 === _a ? void 0 : _a.size) && this.clearSharedStateActiveRegistrations(), (this.mayHaveTrackedAnimates() || this.shadowRoot) && this.stopAnimates(), this.boundSharedStateScope = void 0, this.boundSharedStateRevision = void 0, this.localFallbackCompiledDefinitions = void 0, this.compiledStateDefinitions = void 0, this.compiledStateDefinitionsCacheKey = void 0, this.stateEngine = void 0, this.stateEngineCompiledDefinitions = void 0, this.stateEngineStateProxyModeKey = void 0, this.sharedStateDirty = !1, this.stage = null, this.layer = null, this.shadowRoot && (null === (_c = (_b = this.shadowRoot).detachStageForRelease) || void 0 === _c || _c.call(_b));
|
|
16471
16787
|
}
|
|
16472
16788
|
setStageToShadowRoot(stage, layer) {
|
|
16473
16789
|
this.shadowRoot && this.shadowRoot.setStage(stage, layer);
|
|
@@ -16534,6 +16850,7 @@
|
|
|
16534
16850
|
res && (res.state = "fail", cb && cb());
|
|
16535
16851
|
}
|
|
16536
16852
|
_stopAnimates() {
|
|
16853
|
+
if (!this.mayHaveTrackedAnimates()) return;
|
|
16537
16854
|
const animates = [];
|
|
16538
16855
|
this.visitTrackedAnimates(animate => {
|
|
16539
16856
|
animates.push(animate);
|
|
@@ -16547,14 +16864,17 @@
|
|
|
16547
16864
|
});
|
|
16548
16865
|
}
|
|
16549
16866
|
release() {
|
|
16550
|
-
var _a, _b, _c;
|
|
16551
|
-
this.releaseStatus = "released", this.clearSharedStateActiveRegistrations(), this.stopAnimates();
|
|
16552
|
-
const graphicService = null !== (
|
|
16553
|
-
null === (
|
|
16867
|
+
var _a, _b, _c, _d;
|
|
16868
|
+
this.releaseStatus = "released", (null === (_a = this.registeredActiveScopes) || void 0 === _a ? void 0 : _a.size) && this.clearSharedStateActiveRegistrations(), (this.mayHaveTrackedAnimates() || this.shadowRoot) && this.stopAnimates();
|
|
16869
|
+
const graphicService = null !== (_c = null === (_b = this.stage) || void 0 === _b ? void 0 : _b.graphicService) && void 0 !== _c ? _c : application.graphicService;
|
|
16870
|
+
null === (_d = null == graphicService ? void 0 : graphicService.onRelease) || void 0 === _d || _d.call(graphicService, this), super.release();
|
|
16871
|
+
}
|
|
16872
|
+
hasCustomEvent(type) {
|
|
16873
|
+
return !!this._events && type in this._events;
|
|
16554
16874
|
}
|
|
16555
16875
|
_dispatchCustomEvent(type, context) {
|
|
16556
16876
|
var _a, _b;
|
|
16557
|
-
if (this.
|
|
16877
|
+
if (this.hasCustomEvent(type)) {
|
|
16558
16878
|
const changeEvent = new CustomEvent(type, context);
|
|
16559
16879
|
changeEvent.bubbles = !1;
|
|
16560
16880
|
const manager = null === (_b = null === (_a = this.stage) || void 0 === _a ? void 0 : _a.eventSystem) || void 0 === _b ? void 0 : _b.manager;
|
|
@@ -16563,7 +16883,7 @@
|
|
|
16563
16883
|
return !0;
|
|
16564
16884
|
}
|
|
16565
16885
|
beforeStateUpdate(attrs, prevStates, nextStates, hasAnimation, isClear) {
|
|
16566
|
-
return this._dispatchCustomEvent("beforeStateUpdate", {
|
|
16886
|
+
return !this.hasCustomEvent("beforeStateUpdate") || this._dispatchCustomEvent("beforeStateUpdate", {
|
|
16567
16887
|
type: AttributeUpdateType.STATE,
|
|
16568
16888
|
attrs: Object.assign({}, attrs),
|
|
16569
16889
|
prevStates: prevStates.slice(),
|
|
@@ -16572,6 +16892,11 @@
|
|
|
16572
16892
|
isClear: !!isClear
|
|
16573
16893
|
});
|
|
16574
16894
|
}
|
|
16895
|
+
emitStateUpdateEvent() {
|
|
16896
|
+
this.hasCustomEvent("afterStateUpdate") && this._emitCustomEvent("afterStateUpdate", {
|
|
16897
|
+
type: AttributeUpdateType.STATE
|
|
16898
|
+
});
|
|
16899
|
+
}
|
|
16575
16900
|
_emitCustomEvent(type, context) {
|
|
16576
16901
|
this._dispatchCustomEvent(type, context);
|
|
16577
16902
|
}
|
|
@@ -19578,13 +19903,15 @@
|
|
|
19578
19903
|
}(GroupUpdateAABBBoundsMode || (GroupUpdateAABBBoundsMode = {}));
|
|
19579
19904
|
let Group$1 = class Group extends Graphic {
|
|
19580
19905
|
constructor(params) {
|
|
19581
|
-
super(params), this.type = "group", this.parent = null, this.isContainer = !0, this.numberType = GROUP_NUMBER_TYPE, this._childUpdateTag = UpdateTag.UPDATE_BOUNDS;
|
|
19906
|
+
super(params), this.type = "group", this.parent = null, this.isContainer = !0, this._hasSharedStateDefinitions = !1, this.numberType = GROUP_NUMBER_TYPE, this._childUpdateTag = UpdateTag.UPDATE_BOUNDS;
|
|
19582
19907
|
}
|
|
19583
19908
|
get sharedStateDefinitions() {
|
|
19584
19909
|
return this._sharedStateDefinitions;
|
|
19585
19910
|
}
|
|
19586
19911
|
set sharedStateDefinitions(value) {
|
|
19587
|
-
|
|
19912
|
+
if (this._sharedStateDefinitions === value) return;
|
|
19913
|
+
const previousScope = this.sharedStateScope;
|
|
19914
|
+
this._sharedStateDefinitions = value, this._hasSharedStateDefinitions = !!value && Object.keys(value).length > 0, this.ensureSharedStateScopeBound(), this.sharedStateScope && (setSharedStateScopeLocalDefinitions(this.sharedStateScope, value), markScopeActiveDescendantsDirty(this.sharedStateScope, this.stage)), previousScope !== this.sharedStateScope && this.notifyChildrenSharedStateTreeChanged();
|
|
19588
19915
|
}
|
|
19589
19916
|
setMode(mode) {
|
|
19590
19917
|
"3d" === mode ? this.set3dMode() : this.set2dMode();
|
|
@@ -19709,9 +20036,10 @@
|
|
|
19709
20036
|
insertInto(newNode, idx) {
|
|
19710
20037
|
return this._updateChildToStage(super.insertInto(newNode, idx));
|
|
19711
20038
|
}
|
|
19712
|
-
removeChild(child) {
|
|
20039
|
+
removeChild(child, highPerformance = !1) {
|
|
20040
|
+
var _a;
|
|
19713
20041
|
const data = super.removeChild(child);
|
|
19714
|
-
return this.getGraphicService().onRemove(child), child.setStage(null, null), this.addUpdateBoundTag(), data;
|
|
20042
|
+
return data ? highPerformance ? (null === (_a = child.detachStageForRelease) || void 0 === _a || _a.call(child), data) : (this.getGraphicService().onRemove(child), child.setStage(null, null), this.addUpdateBoundTag(), data) : data;
|
|
19715
20043
|
}
|
|
19716
20044
|
removeAllChild(deep = !1) {
|
|
19717
20045
|
const children = this.children.slice();
|
|
@@ -19723,11 +20051,13 @@
|
|
|
19723
20051
|
}
|
|
19724
20052
|
setStage(stage, layer) {
|
|
19725
20053
|
var _a, _b, _c, _d, _e, _f;
|
|
19726
|
-
const graphicService = null !== (_c = null !== (_a = null == stage ? void 0 : stage.graphicService) && void 0 !== _a ? _a : null === (_b = this.stage) || void 0 === _b ? void 0 : _b.graphicService) && void 0 !== _c ? _c : application.graphicService
|
|
19727
|
-
|
|
20054
|
+
const graphicService = null !== (_c = null !== (_a = null == stage ? void 0 : stage.graphicService) && void 0 !== _a ? _a : null === (_b = this.stage) || void 0 === _b ? void 0 : _b.graphicService) && void 0 !== _c ? _c : application.graphicService,
|
|
20055
|
+
needsSharedStateTreeSync = this._hasSharedStateDefinitions || this.sharedStateScope || (null === (_d = this.currentStates) || void 0 === _d ? void 0 : _d.length) || this.boundSharedStateScope || (null === (_e = this.registeredActiveScopes) || void 0 === _e ? void 0 : _e.size) || this.sharedStateDirty;
|
|
20056
|
+
if (this.stage !== stage) return this.stage = stage, this.layer = layer, needsSharedStateTreeSync && (this.ensureSharedStateScopeBound(), this.syncSharedStateScopeBindingOnTreeChange(!0)), this.setStageToShadowRoot(stage, layer), this._onSetStage && this._onSetStage(this, stage, layer), null === (_f = null == graphicService ? void 0 : graphicService.onSetStage) || void 0 === _f || _f.call(graphicService, this, stage), void this.forEachChildren(item => {
|
|
19728
20057
|
item.setStage(stage, this.layer);
|
|
19729
20058
|
});
|
|
19730
|
-
|
|
20059
|
+
const layerChanged = this.layer !== layer;
|
|
20060
|
+
layerChanged && (this.layer = layer), needsSharedStateTreeSync ? (this.ensureSharedStateScopeBound(), this.syncSharedStateScopeBindingOnTreeChange(!0), this.notifyChildrenSharedStateTreeChanged()) : layerChanged && this.forEachChildren(item => {
|
|
19731
20061
|
item.onParentSharedStateTreeChanged && item.onParentSharedStateTreeChanged(stage, this.layer);
|
|
19732
20062
|
});
|
|
19733
20063
|
}
|
|
@@ -19774,15 +20104,29 @@
|
|
|
19774
20104
|
g.release(all);
|
|
19775
20105
|
}), super.release();
|
|
19776
20106
|
}
|
|
20107
|
+
detachStageForRelease() {
|
|
20108
|
+
super.detachStageForRelease(), this.sharedStateScope = void 0, this.forEachChildren(item => {
|
|
20109
|
+
var _a;
|
|
20110
|
+
null === (_a = item.detachStageForRelease) || void 0 === _a || _a.call(item);
|
|
20111
|
+
});
|
|
20112
|
+
}
|
|
19777
20113
|
ensureSharedStateScopeBound() {
|
|
19778
20114
|
var _a, _b, _c;
|
|
20115
|
+
if (!this.hasSharedStateDefinitions()) return void (this.sharedStateScope = void 0);
|
|
19779
20116
|
const parentScope = null !== (_b = null === (_a = this.parent) || void 0 === _a ? void 0 : _a.sharedStateScope) && void 0 !== _b ? _b : null === (_c = this.stage) || void 0 === _c ? void 0 : _c.rootSharedStateScope;
|
|
19780
20117
|
this.sharedStateScope ? (this.sharedStateScope.ownerGroup = this, this.sharedStateScope.ownerStage = this.stage, setSharedStateScopeParent(this.sharedStateScope, parentScope), this.sharedStateScope.localStateDefinitions !== this._sharedStateDefinitions && setSharedStateScopeLocalDefinitions(this.sharedStateScope, this._sharedStateDefinitions)) : this.sharedStateScope = createGroupSharedStateScope(this, parentScope, this._sharedStateDefinitions);
|
|
19781
20118
|
}
|
|
20119
|
+
hasSharedStateDefinitions() {
|
|
20120
|
+
return this._hasSharedStateDefinitions;
|
|
20121
|
+
}
|
|
20122
|
+
notifyChildrenSharedStateTreeChanged() {
|
|
20123
|
+
this.forEachChildren(item => {
|
|
20124
|
+
item.onParentSharedStateTreeChanged && item.onParentSharedStateTreeChanged(this.stage, this.layer);
|
|
20125
|
+
});
|
|
20126
|
+
}
|
|
19782
20127
|
onParentSharedStateTreeChanged(stage, layer) {
|
|
19783
|
-
|
|
19784
|
-
|
|
19785
|
-
})) : this.setStage(stage, layer);
|
|
20128
|
+
var _a;
|
|
20129
|
+
this.stage === stage && this.layer === layer ? (this.ensureSharedStateScopeBound(), this.syncSharedStateScopeBindingOnTreeChange(!!(null === (_a = this.currentStates) || void 0 === _a ? void 0 : _a.length)), this.notifyChildrenSharedStateTreeChanged()) : this.setStage(stage, layer);
|
|
19786
20130
|
}
|
|
19787
20131
|
};
|
|
19788
20132
|
Group$1.NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;
|
|
@@ -20130,7 +20474,10 @@
|
|
|
20130
20474
|
beforeUpdateAABBBounds: new SyncHook(["graphic", "stage", "willUpdate", "aabbBounds"]),
|
|
20131
20475
|
afterUpdateAABBBounds: new SyncHook(["graphic", "stage", "aabbBounds", "globalAABBBounds", "selfChange"]),
|
|
20132
20476
|
clearAABBBounds: new SyncHook(["graphic", "stage", "aabbBounds"])
|
|
20133
|
-
}, this.tempAABBBounds1 = new AABBBounds(), this.tempAABBBounds2 = new AABBBounds()
|
|
20477
|
+
}, this.tempAABBBounds1 = new AABBBounds(), this.tempAABBBounds2 = new AABBBounds(), this.tempAABBBoundsResult = {
|
|
20478
|
+
tb1: this.tempAABBBounds1,
|
|
20479
|
+
tb2: this.tempAABBBounds2
|
|
20480
|
+
};
|
|
20134
20481
|
}
|
|
20135
20482
|
onAttributeUpdate(graphic) {
|
|
20136
20483
|
this.hooks.onAttributeUpdate.taps.length && this.hooks.onAttributeUpdate.call(graphic);
|
|
@@ -20230,10 +20577,7 @@
|
|
|
20230
20577
|
updateTempAABBBounds(aabbBounds) {
|
|
20231
20578
|
const tb1 = this.tempAABBBounds1,
|
|
20232
20579
|
tb2 = this.tempAABBBounds2;
|
|
20233
|
-
return tb1.setValue(aabbBounds.x1, aabbBounds.y1, aabbBounds.x2, aabbBounds.y2), tb2.setValue(aabbBounds.x1, aabbBounds.y1, aabbBounds.x2, aabbBounds.y2),
|
|
20234
|
-
tb1: tb1,
|
|
20235
|
-
tb2: tb2
|
|
20236
|
-
};
|
|
20580
|
+
return tb1.setValue(aabbBounds.x1, aabbBounds.y1, aabbBounds.x2, aabbBounds.y2), tb2.setValue(aabbBounds.x1, aabbBounds.y1, aabbBounds.x2, aabbBounds.y2), this.tempAABBBoundsResult;
|
|
20237
20581
|
}
|
|
20238
20582
|
}
|
|
20239
20583
|
|
|
@@ -21575,7 +21919,7 @@
|
|
|
21575
21919
|
const globalBounds = new AABBBounds();
|
|
21576
21920
|
class DirtyBoundsPlugin {
|
|
21577
21921
|
constructor() {
|
|
21578
|
-
this.name = "DirtyBoundsPlugin", this.activeEvent = "onRegister", this._uid = Generator.GenAutoIncrementId(), this.key = this.name + this._uid, this.handlePaintOnlyUpdate = graphic => {
|
|
21922
|
+
this.name = "DirtyBoundsPlugin", this.activeEvent = "onRegister", this._uid = Generator.GenAutoIncrementId(), this.key = this.name + this._uid, this.dirtyBoundsHooksRegistered = !1, this.handlePaintOnlyUpdate = graphic => {
|
|
21579
21923
|
var _a, _b, _c, _d;
|
|
21580
21924
|
const stage = this.pluginService.stage;
|
|
21581
21925
|
if (!stage || stage !== graphic.stage || !stage.renderCount) return;
|
|
@@ -21595,12 +21939,13 @@
|
|
|
21595
21939
|
owner._AABBBounds && "function" == typeof owner._AABBBounds.empty && !owner._AABBBounds.empty() || "function" != typeof owner.doUpdateAABBBounds || owner.doUpdateAABBBounds("imprecise" === (null === (_a = owner.attribute) || void 0 === _a ? void 0 : _a.boundsMode));
|
|
21596
21940
|
return owner._globalAABBBounds && "function" == typeof owner._globalAABBBounds.empty && !owner._globalAABBBounds.empty() || "function" != typeof owner.tryUpdateGlobalAABBBounds || owner.tryUpdateGlobalAABBBounds(), null !== (_b = owner._globalAABBBounds) && void 0 !== _b ? _b : owner.globalAABBBounds;
|
|
21597
21941
|
}
|
|
21598
|
-
|
|
21599
|
-
|
|
21600
|
-
|
|
21601
|
-
|
|
21602
|
-
|
|
21603
|
-
|
|
21942
|
+
getRemoveDirtyBounds(graphic) {
|
|
21943
|
+
var _a;
|
|
21944
|
+
const cachedBounds = (null !== (_a = graphic.glyphHost) && void 0 !== _a ? _a : graphic)._globalAABBBounds;
|
|
21945
|
+
if (cachedBounds && "function" == typeof cachedBounds.empty && !cachedBounds.empty()) return cachedBounds;
|
|
21946
|
+
}
|
|
21947
|
+
registerDirtyBoundsHooks(stage) {
|
|
21948
|
+
this.dirtyBoundsHooksRegistered || (stage.graphicService.hooks.onAttributeUpdate.tap(this.key, this.handlePaintOnlyUpdate), stage.graphicService.hooks.beforeUpdateAABBBounds.tap(this.key, (graphic, stage, willUpdate, bounds) => {
|
|
21604
21949
|
graphic.glyphHost && (graphic = graphic.glyphHost), stage && stage === this.pluginService.stage && stage.renderCount && (graphic.isContainer && !graphic.shouldSelfChangeUpdateAABBBounds() || willUpdate && (globalBounds.setValue(bounds.x1, bounds.y1, bounds.x2, bounds.y2), stage.dirty(globalBounds, graphic.parent && graphic.parent.globalTransMatrix)));
|
|
21605
21950
|
}), stage.graphicService.hooks.afterUpdateAABBBounds.tap(this.key, (graphic, stage, bounds, params, selfChange) => {
|
|
21606
21951
|
stage && stage === this.pluginService.stage && stage.renderCount && (graphic.isContainer && !selfChange || stage.dirty(params.globalAABBBounds));
|
|
@@ -21608,12 +21953,21 @@
|
|
|
21608
21953
|
stage && stage === this.pluginService.stage && stage.renderCount && stage && stage.dirty(bounds);
|
|
21609
21954
|
}), stage.graphicService.hooks.onRemove.tap(this.key, graphic => {
|
|
21610
21955
|
const stage = graphic.stage;
|
|
21611
|
-
stage
|
|
21612
|
-
|
|
21956
|
+
if (!stage || stage !== this.pluginService.stage || !stage.renderCount) return;
|
|
21957
|
+
const bounds = this.getRemoveDirtyBounds(graphic);
|
|
21958
|
+
bounds && !bounds.empty() && stage.dirty(bounds);
|
|
21959
|
+
}), this.dirtyBoundsHooksRegistered = !0);
|
|
21960
|
+
}
|
|
21961
|
+
activate(context) {
|
|
21962
|
+
this.pluginService = context, context.stage.hooks.afterRender.tap(this.key, stage => {
|
|
21963
|
+
stage && stage === this.pluginService.stage && (stage.dirtyBounds.clear(), this.registerDirtyBoundsHooks(stage));
|
|
21964
|
+
});
|
|
21965
|
+
const stage = this.pluginService.stage;
|
|
21966
|
+
stage && stage.renderCount && this.registerDirtyBoundsHooks(stage);
|
|
21613
21967
|
}
|
|
21614
21968
|
deactivate(context) {
|
|
21615
21969
|
const stage = this.pluginService.stage;
|
|
21616
|
-
stage && (stage.graphicService.hooks.onAttributeUpdate.taps = stage.graphicService.hooks.onAttributeUpdate.taps.filter(item => item.name !== this.key), stage.graphicService.hooks.beforeUpdateAABBBounds.taps = stage.graphicService.hooks.beforeUpdateAABBBounds.taps.filter(item => item.name !== this.key), stage.graphicService.hooks.afterUpdateAABBBounds.taps = stage.graphicService.hooks.afterUpdateAABBBounds.taps.filter(item => item.name !== this.key), stage.graphicService.hooks.clearAABBBounds.taps = stage.graphicService.hooks.clearAABBBounds.taps.filter(item => item.name !== this.key), stage.hooks.afterRender.taps = stage.hooks.afterRender.taps.filter(item => item.name !== this.key), stage.graphicService.hooks.onRemove.taps = stage.graphicService.hooks.onRemove.taps.filter(item => item.name !== this.key));
|
|
21970
|
+
stage && (stage.graphicService.hooks.onAttributeUpdate.taps = stage.graphicService.hooks.onAttributeUpdate.taps.filter(item => item.name !== this.key), this.dirtyBoundsHooksRegistered = !1, stage.graphicService.hooks.beforeUpdateAABBBounds.taps = stage.graphicService.hooks.beforeUpdateAABBBounds.taps.filter(item => item.name !== this.key), stage.graphicService.hooks.afterUpdateAABBBounds.taps = stage.graphicService.hooks.afterUpdateAABBBounds.taps.filter(item => item.name !== this.key), stage.graphicService.hooks.clearAABBBounds.taps = stage.graphicService.hooks.clearAABBBounds.taps.filter(item => item.name !== this.key), stage.hooks.afterRender.taps = stage.hooks.afterRender.taps.filter(item => item.name !== this.key), stage.graphicService.hooks.onRemove.taps = stage.graphicService.hooks.onRemove.taps.filter(item => item.name !== this.key));
|
|
21617
21971
|
}
|
|
21618
21972
|
}
|
|
21619
21973
|
|
|
@@ -21969,7 +22323,7 @@
|
|
|
21969
22323
|
ticker.bindStage(this), this._ticker && this._ticker.removeListener("tick", this.afterTickCb), ticker.addTimeline(this.timeline), this._ticker = ticker, this._ticker.on("tick", this.afterTickCb);
|
|
21970
22324
|
}
|
|
21971
22325
|
constructor(params = {}, deps = {}) {
|
|
21972
|
-
var _a, _b, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x
|
|
22326
|
+
var _a, _b, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
21973
22327
|
super({}), this.tickedBeforeRender = !0, this._onVisibleChange = visible => {
|
|
21974
22328
|
if (!(this._skipRender < 0)) if (visible) {
|
|
21975
22329
|
if (this.dirtyBounds) {
|
|
@@ -21979,7 +22333,8 @@
|
|
|
21979
22333
|
this._skipRender > 1 && this.renderNextFrame(), this._skipRender = 0;
|
|
21980
22334
|
} else this._skipRender = 1;
|
|
21981
22335
|
}, this.beforeRender = stage => {
|
|
21982
|
-
|
|
22336
|
+
const pendingSharedRefresh = this._pendingSharedStateRefreshGraphics;
|
|
22337
|
+
(null == pendingSharedRefresh ? void 0 : pendingSharedRefresh.size) && flushStageSharedStateRefresh(this), this._beforeRenderList.forEach(cb => cb(stage));
|
|
21983
22338
|
}, this.afterClearScreen = drawParams => {
|
|
21984
22339
|
this._afterClearScreen && this._afterClearScreen(drawParams);
|
|
21985
22340
|
}, this.afterClearRect = drawParams => {
|
|
@@ -22004,14 +22359,17 @@
|
|
|
22004
22359
|
canvas: params.canvas
|
|
22005
22360
|
}), this.state = "normal", this.renderCount = 0, this.tryInitEventSystem(), this._background = null !== (_w = params.background) && void 0 !== _w ? _w : DefaultConfig.BACKGROUND, this.stage = this, this.appendChild(this.layerService.createLayer(this, {
|
|
22006
22361
|
main: !0
|
|
22007
|
-
})), this.nextFrameRenderLayerSet = new Set(), this.willNextFrameRender = !1,
|
|
22362
|
+
})), this.nextFrameRenderLayerSet = new Set(), this.willNextFrameRender = !1, this.theme.onStateDefinitionsChange = () => {
|
|
22008
22363
|
var _a;
|
|
22009
|
-
|
|
22364
|
+
const definitions = null === (_a = this.theme) || void 0 === _a ? void 0 : _a.stateDefinitions;
|
|
22365
|
+
if (!definitions || !Object.keys(definitions).length) return void (this.rootSharedStateScope && (setRootSharedStateScopeThemeDefinitions(this.rootSharedStateScope, definitions), markScopeActiveDescendantsDirty(this.rootSharedStateScope, this)));
|
|
22366
|
+
const rootScope = this.ensureRootSharedStateScope(definitions);
|
|
22367
|
+
setRootSharedStateScopeThemeDefinitions(rootScope, definitions), markScopeActiveDescendantsDirty(rootScope, this);
|
|
22010
22368
|
}, this.renderStyle = params.renderStyle, params.autoRender && this.enableAutoRender(), params.autoRefresh && this.enableAutoRefresh(), !1 === params.disableDirtyBounds && this.enableDirtyBounds(), params.enableHtmlAttribute && this.enableHtmlAttribute(params.enableHtmlAttribute), params.ReactDOM && this.enableReactAttribute(params.ReactDOM), params.enableLayout && this.enableLayout(), this.hooks.beforeRender.tap("constructor", this.beforeRender), this.hooks.afterRender.tap("constructor", this.afterRender), params.beforeRender && this._beforeRenderList.push(params.beforeRender), params.afterRender && this._afterRenderList.push(params.afterRender), this.hooks.afterClearScreen.tap("constructor", this.afterClearScreen), this.hooks.afterClearRect.tap("constructor", this.afterClearRect), this._afterClearScreen = params.afterClearScreen, this._afterClearRect = params.afterClearRect, this.supportInteractiveLayer = !1 !== params.interactiveLayer, params.optimize || (params.optimize = {
|
|
22011
22369
|
tickRenderMode: "effect"
|
|
22012
22370
|
}), this.optmize(params.optimize), params.background && isString$1(this._background) && this._background.includes("/") && this.setAttributes({
|
|
22013
22371
|
background: this._background
|
|
22014
|
-
}), this.initAnimate(params), this.rafId = null !== (
|
|
22372
|
+
}), this.initAnimate(params), this.rafId = null !== (_x = params.rafId) && void 0 !== _x ? _x : Math.floor(6 * Math.random());
|
|
22015
22373
|
}
|
|
22016
22374
|
initAnimate(params) {
|
|
22017
22375
|
var _a;
|
|
@@ -22271,8 +22629,14 @@
|
|
|
22271
22629
|
this._doRenderInThisFrame(), this.willNextFrameRender = !1;
|
|
22272
22630
|
}));
|
|
22273
22631
|
}
|
|
22632
|
+
ensureRootSharedStateScope(themeStateDefinitions) {
|
|
22633
|
+
return this.rootSharedStateScope ? (this.rootSharedStateScope.ownerStage = this, this.rootSharedStateScope) : (this.rootSharedStateScope = createRootSharedStateScope(this, themeStateDefinitions), this.rootSharedStateScope);
|
|
22634
|
+
}
|
|
22635
|
+
getStateBatchScheduler() {
|
|
22636
|
+
return this._stateBatchScheduler || (this._stateBatchScheduler = new StateBatchScheduler(this, ensureStageStatePerfMonitor(this))), this._stateBatchScheduler;
|
|
22637
|
+
}
|
|
22274
22638
|
scheduleStateBatch(graphics, targetStates) {
|
|
22275
|
-
this.
|
|
22639
|
+
this.getStateBatchScheduler().schedule(graphics, targetStates);
|
|
22276
22640
|
}
|
|
22277
22641
|
getStatePerfSnapshot() {
|
|
22278
22642
|
return ensureStageStatePerfMonitor(this).getSnapshot();
|
|
@@ -24773,7 +25137,11 @@
|
|
|
24773
25137
|
};
|
|
24774
25138
|
class BaseRender {
|
|
24775
25139
|
init(contributions) {
|
|
24776
|
-
|
|
25140
|
+
this.builtinContributions || (this.builtinContributions = []), this._renderContribitions = contributions ? contributions.getContributions().slice() : [];
|
|
25141
|
+
const addContribution = item => {
|
|
25142
|
+
this._renderContribitions.includes(item) || this._renderContribitions.push(item);
|
|
25143
|
+
};
|
|
25144
|
+
this.builtinContributions.forEach(addContribution), addContribution(defaultBaseClipRenderBeforeContribution), addContribution(defaultBaseClipRenderAfterContribution), this._renderContribitions.length ? (this._renderContribitions.sort((a, b) => b.order - a.order), this._beforeRenderContribitions = this._renderContribitions.filter(c => c.time === BaseRenderContributionTime.beforeFillStroke), this._afterRenderContribitions = this._renderContribitions.filter(c => c.time === BaseRenderContributionTime.afterFillStroke)) : (this._beforeRenderContribitions = [], this._afterRenderContribitions = []);
|
|
24777
25145
|
}
|
|
24778
25146
|
reInit() {
|
|
24779
25147
|
this.init(this.graphicRenderContributions);
|
|
@@ -29822,8 +30190,8 @@
|
|
|
29822
30190
|
graphic.glyphHost && (graphic = graphic.glyphHost), stage && stage === this.pluginService.stage && graphic.isContainer && !this.skipBoundsTrigger && _tempBounds.copy(bounds);
|
|
29823
30191
|
}), stage.graphicService.hooks.afterUpdateAABBBounds.tap(this.key, (graphic, stage, bounds, params, selfChange) => {
|
|
29824
30192
|
stage && stage === this.pluginService.stage && graphic.isContainer && !this.skipBoundsTrigger && (_tempBounds.equals(bounds) || this.tryLayout(graphic, !1));
|
|
29825
|
-
}), stage.graphicService.hooks.onSetStage.tap(this.key, graphic => {
|
|
29826
|
-
graphic.glyphHost && (graphic = graphic.glyphHost), this.tryLayout(graphic, !1);
|
|
30193
|
+
}), stage.graphicService.hooks.onSetStage.tap(this.key, (graphic, nextStage) => {
|
|
30194
|
+
nextStage && nextStage === this.pluginService.stage && (graphic.glyphHost && (graphic = graphic.glyphHost), this.tryLayout(graphic, !1));
|
|
29827
30195
|
}));
|
|
29828
30196
|
}
|
|
29829
30197
|
deactivate(context) {
|
|
@@ -30386,7 +30754,6 @@
|
|
|
30386
30754
|
segments: segments,
|
|
30387
30755
|
shouldClipImageByLayout: shouldClipImageByLayout,
|
|
30388
30756
|
shouldUseMat4: shouldUseMat4,
|
|
30389
|
-
shouldUseSimpleAttributeFastPath: shouldUseSimpleAttributeFastPath,
|
|
30390
30757
|
snapLength: snapLength,
|
|
30391
30758
|
splitArc: splitArc,
|
|
30392
30759
|
splitArea: splitArea,
|
|
@@ -38068,15 +38435,38 @@
|
|
|
38068
38435
|
if (!graphic || !targetAttrs) return;
|
|
38069
38436
|
const committedTargetAttrs = cloneDeep(targetAttrs),
|
|
38070
38437
|
transientStartAttrs = cloneDeep(null != startAttrs ? startAttrs : graphic.attribute);
|
|
38071
|
-
graphic.setAttributes(committedTargetAttrs)
|
|
38072
|
-
const baseAttributes = graphic.baseAttributes;
|
|
38073
|
-
baseAttributes && "object" == typeof baseAttributes && Object.keys(committedTargetAttrs).forEach(key => {
|
|
38074
|
-
baseAttributes[key] = cloneDeep(committedTargetAttrs[key]);
|
|
38075
|
-
}), null === (_b = (_a = graphic).setFinalAttributes) || void 0 === _b || _b.call(_a, committedTargetAttrs), null === (_d = (_c = graphic).setAttributesAndPreventAnimate) || void 0 === _d || _d.call(_c, transientStartAttrs, !1, {
|
|
38438
|
+
graphic.setAttributes(committedTargetAttrs), null === (_b = (_a = graphic).setFinalAttributes) || void 0 === _b || _b.call(_a, committedTargetAttrs), null === (_d = (_c = graphic).setAttributesAndPreventAnimate) || void 0 === _d || _d.call(_c, transientStartAttrs, !1, {
|
|
38076
38439
|
type: AttributeUpdateType.ANIMATE_BIND
|
|
38077
38440
|
});
|
|
38078
38441
|
}
|
|
38079
38442
|
|
|
38443
|
+
function collectTrackedAnimates(graphic, animates = [], visited = new Set()) {
|
|
38444
|
+
var _a, _b, _c, _d, _e;
|
|
38445
|
+
const trackedAnimates = null !== (_c = null === (_b = (_a = graphic).getTrackedAnimates) || void 0 === _b ? void 0 : _b.call(_a)) && void 0 !== _c ? _c : graphic.animates;
|
|
38446
|
+
return null == trackedAnimates || trackedAnimates.forEach(animate => {
|
|
38447
|
+
animate && !visited.has(animate) && (visited.add(animate), animates.push(animate));
|
|
38448
|
+
}), null === (_e = (_d = graphic).forEachChildren) || void 0 === _e || _e.call(_d, child => {
|
|
38449
|
+
collectTrackedAnimates(child, animates, visited);
|
|
38450
|
+
}), animates;
|
|
38451
|
+
}
|
|
38452
|
+
function appendExitReleaseCallback(state, callback) {
|
|
38453
|
+
callback && (null == state || state.onComplete.push(callback));
|
|
38454
|
+
}
|
|
38455
|
+
function runExitReleaseCallbacks(callbacks) {
|
|
38456
|
+
callbacks.forEach(callback => {
|
|
38457
|
+
callback();
|
|
38458
|
+
});
|
|
38459
|
+
}
|
|
38460
|
+
function bindExitReleaseAnimates(exitAnimates, getState, finalize) {
|
|
38461
|
+
const finish = animate => {
|
|
38462
|
+
const state = getState();
|
|
38463
|
+
state && !state.finalized && state.pendingAnimates.has(animate) && (state.pendingAnimates.delete(animate), state.pendingAnimates.size || finalize());
|
|
38464
|
+
};
|
|
38465
|
+
exitAnimates.forEach(animate => {
|
|
38466
|
+
animate.onEnd(() => finish(animate)), animate.onRemove(() => finish(animate));
|
|
38467
|
+
});
|
|
38468
|
+
}
|
|
38469
|
+
|
|
38080
38470
|
const DefaultAxisAnimation = {
|
|
38081
38471
|
type: "default",
|
|
38082
38472
|
duration: 300,
|
|
@@ -38108,12 +38498,65 @@
|
|
|
38108
38498
|
});
|
|
38109
38499
|
return this.add(offscreenGroup), this._renderInner(offscreenGroup), this.removeChild(offscreenGroup), this.attribute = currentAttribute, offscreenGroup.AABBBounds;
|
|
38110
38500
|
}
|
|
38501
|
+
_finalizeExitRelease() {
|
|
38502
|
+
var _a, _b;
|
|
38503
|
+
const state = this._exitReleaseState;
|
|
38504
|
+
if (null == state ? void 0 : state.finalized) return;
|
|
38505
|
+
state && (state.finalized = !0);
|
|
38506
|
+
const parent = this.parent,
|
|
38507
|
+
removeFromParent = !!(null == state ? void 0 : state.removeFromParent),
|
|
38508
|
+
callbacks = null !== (_a = null == state ? void 0 : state.onComplete) && void 0 !== _a ? _a : [];
|
|
38509
|
+
this._exitReleaseState = void 0, this._prevInnerView = null, this._innerView = null, this.axisLabelsContainer = null, this.axisContainer = null, this.removeAllChild(!0), super.release(!0), removeFromParent && (null === (_b = null != parent ? parent : this.parent) || void 0 === _b || _b.removeChild(this)), runExitReleaseCallbacks(callbacks);
|
|
38510
|
+
}
|
|
38511
|
+
_runExitAnimationBeforeRelease(options = {}) {
|
|
38512
|
+
var _a, _b, _c;
|
|
38513
|
+
if (this._exitReleaseState && !this._exitReleaseState.finalized) return this._exitReleaseState.removeFromParent = this._exitReleaseState.removeFromParent || !!options.removeFromParent, appendExitReleaseCallback(this._exitReleaseState, options.onComplete), !0;
|
|
38514
|
+
if (!this.stage || !1 === this.attribute.animation || !1 === this.attribute.animationExit || !this._innerView) return !1;
|
|
38515
|
+
if (this._prepare(), !(null === (_a = this._animationConfig) || void 0 === _a ? void 0 : _a.exit)) return !1;
|
|
38516
|
+
const exitTargets = new Set();
|
|
38517
|
+
if (traverseGroup(this._innerView, el => {
|
|
38518
|
+
"group" !== el.type && exitTargets.add(el);
|
|
38519
|
+
}), !exitTargets.size) return !1;
|
|
38520
|
+
const existingAnimates = collectTrackedAnimates(this),
|
|
38521
|
+
{
|
|
38522
|
+
delay = 0,
|
|
38523
|
+
duration = DefaultAxisAnimation.duration,
|
|
38524
|
+
easing = DefaultAxisAnimation.easing
|
|
38525
|
+
} = this._animationConfig.exit;
|
|
38526
|
+
exitTargets.forEach(target => {
|
|
38527
|
+
var _a, _b, _c;
|
|
38528
|
+
const startAttrs = {
|
|
38529
|
+
opacity: null !== (_a = target.attribute.opacity) && void 0 !== _a ? _a : 1,
|
|
38530
|
+
fillOpacity: null !== (_b = target.attribute.fillOpacity) && void 0 !== _b ? _b : 1,
|
|
38531
|
+
strokeOpacity: null !== (_c = target.attribute.strokeOpacity) && void 0 !== _c ? _c : 1
|
|
38532
|
+
},
|
|
38533
|
+
endAttrs = {
|
|
38534
|
+
opacity: 0,
|
|
38535
|
+
fillOpacity: 0,
|
|
38536
|
+
strokeOpacity: 0
|
|
38537
|
+
};
|
|
38538
|
+
commitUpdateAnimationTarget(target, endAttrs, startAttrs), target.animate().wait(delay).to(endAttrs, duration, easing);
|
|
38539
|
+
});
|
|
38540
|
+
const exitAnimates = collectTrackedAnimates(this).filter(animate => !existingAnimates.includes(animate));
|
|
38541
|
+
if (!exitAnimates.length) return !1;
|
|
38542
|
+
this.setAttribute("childrenPickable", !1), null === (_c = (_b = this._innerView).removeAllEventListeners) || void 0 === _c || _c.call(_b), this.releaseStatus = "willRelease";
|
|
38543
|
+
const pendingAnimates = new Set(exitAnimates);
|
|
38544
|
+
return this._exitReleaseState = {
|
|
38545
|
+
pendingAnimates: pendingAnimates,
|
|
38546
|
+
finalized: !1,
|
|
38547
|
+
removeFromParent: !!options.removeFromParent,
|
|
38548
|
+
onComplete: options.onComplete ? [options.onComplete] : []
|
|
38549
|
+
}, bindExitReleaseAnimates(exitAnimates, () => this._exitReleaseState, () => this._finalizeExitRelease()), !0;
|
|
38550
|
+
}
|
|
38551
|
+
releaseWithExitAnimation(options = {}) {
|
|
38552
|
+
return "released" !== this.releaseStatus && this._runExitAnimationBeforeRelease(options);
|
|
38553
|
+
}
|
|
38111
38554
|
render() {
|
|
38112
|
-
this._prepare(), this._prevInnerView = this._innerView && getElMap(this._innerView), this.removeAllChild(!0), this._innerView = graphicCreator.group({
|
|
38555
|
+
this._exitReleaseState || (this._prepare(), this._prevInnerView = this._innerView && getElMap(this._innerView), this.removeAllChild(!0), this._innerView = graphicCreator.group({
|
|
38113
38556
|
x: 0,
|
|
38114
38557
|
y: 0,
|
|
38115
38558
|
pickable: !1
|
|
38116
|
-
}), this.add(this._innerView), this._renderInner(this._innerView), this._bindEvent(), this.runAnimation();
|
|
38559
|
+
}), this.add(this._innerView), this._renderInner(this._innerView), this._bindEvent(), this.runAnimation());
|
|
38117
38560
|
}
|
|
38118
38561
|
_prepare() {
|
|
38119
38562
|
this._prepareAnimate(DefaultAxisAnimation);
|
|
@@ -38445,8 +38888,8 @@
|
|
|
38445
38888
|
});
|
|
38446
38889
|
}
|
|
38447
38890
|
}
|
|
38448
|
-
release() {
|
|
38449
|
-
super.release(), this._prevInnerView = null, this._innerView = null;
|
|
38891
|
+
release(all) {
|
|
38892
|
+
this._exitReleaseState ? this._finalizeExitRelease() : (all && this.removeAllChild(!0), super.release(all), all && this.removeAllChild(!0), this._prevInnerView = null, this._innerView = null);
|
|
38450
38893
|
}
|
|
38451
38894
|
}
|
|
38452
38895
|
|
|
@@ -38958,20 +39401,67 @@
|
|
|
38958
39401
|
return !1;
|
|
38959
39402
|
}
|
|
38960
39403
|
|
|
39404
|
+
const animateUpdateContext = {
|
|
39405
|
+
type: AttributeUpdateType.ANIMATE_UPDATE
|
|
39406
|
+
},
|
|
39407
|
+
animateBindContext = {
|
|
39408
|
+
type: AttributeUpdateType.ANIMATE_BIND
|
|
39409
|
+
},
|
|
39410
|
+
animateStartContext = {
|
|
39411
|
+
type: AttributeUpdateType.ANIMATE_START
|
|
39412
|
+
};
|
|
39413
|
+
function getAnimationContext(type) {
|
|
39414
|
+
switch (type) {
|
|
39415
|
+
case AttributeUpdateType.ANIMATE_UPDATE:
|
|
39416
|
+
return animateUpdateContext;
|
|
39417
|
+
case AttributeUpdateType.ANIMATE_BIND:
|
|
39418
|
+
return animateBindContext;
|
|
39419
|
+
case AttributeUpdateType.ANIMATE_START:
|
|
39420
|
+
return animateStartContext;
|
|
39421
|
+
default:
|
|
39422
|
+
return {
|
|
39423
|
+
type: type
|
|
39424
|
+
};
|
|
39425
|
+
}
|
|
39426
|
+
}
|
|
39427
|
+
function prepareAnimationFrameAttribute(target) {
|
|
39428
|
+
const transientTarget = target;
|
|
39429
|
+
return transientTarget.attribute || (transientTarget.attribute = {}), transientTarget.attribute === transientTarget.baseAttributes && "function" == typeof transientTarget.detachAttributeFromBaseAttributes && transientTarget.detachAttributeFromBaseAttributes(), transientTarget.attributeMayContainTransientAttrs = !0, transientTarget.attribute;
|
|
39430
|
+
}
|
|
39431
|
+
function commitAnimationFrameAttribute(target) {
|
|
39432
|
+
var _a, _b;
|
|
39433
|
+
null === (_b = (_a = target).onAttributeUpdate) || void 0 === _b || _b.call(_a, animateUpdateContext);
|
|
39434
|
+
}
|
|
39435
|
+
function applyAnimationFrameAttributes(target, attributes) {
|
|
39436
|
+
if (!attributes) return;
|
|
39437
|
+
const targetAttribute = prepareAnimationFrameAttribute(target);
|
|
39438
|
+
for (const key in attributes) Object.prototype.hasOwnProperty.call(attributes, key) && (targetAttribute[key] = attributes[key]);
|
|
39439
|
+
commitAnimationFrameAttribute(target);
|
|
39440
|
+
}
|
|
39441
|
+
function applyAnimationFrameNumberAttributes(target, keys, from, to, ratio) {
|
|
39442
|
+
const targetAttribute = prepareAnimationFrameAttribute(target);
|
|
39443
|
+
for (let i = 0; i < keys.length; i++) {
|
|
39444
|
+
const key = keys[i];
|
|
39445
|
+
targetAttribute[key] = from[key] + (to[key] - from[key]) * ratio;
|
|
39446
|
+
}
|
|
39447
|
+
commitAnimationFrameAttribute(target);
|
|
39448
|
+
}
|
|
38961
39449
|
function applyAnimationTransientAttributes(target, attributes, type = AttributeUpdateType.ANIMATE_UPDATE) {
|
|
38962
39450
|
var _a;
|
|
38963
39451
|
if (!attributes) return;
|
|
38964
|
-
const context =
|
|
38965
|
-
type: type
|
|
38966
|
-
},
|
|
39452
|
+
const context = getAnimationContext(type),
|
|
38967
39453
|
transientTarget = target;
|
|
38968
|
-
"function" != typeof transientTarget.applyTransientAttributes ? "function" != typeof transientTarget.setAttributesAndPreventAnimate ? (transientTarget.attribute || (transientTarget.attribute = {}), Object.assign(transientTarget.attribute, attributes), null === (_a = transientTarget.onAttributeUpdate) || void 0 === _a || _a.call(transientTarget, context)) : transientTarget.setAttributesAndPreventAnimate(attributes, !1, context) : transientTarget.applyTransientAttributes(attributes, !1, context);
|
|
39454
|
+
"function" != typeof transientTarget.applyAnimationTransientAttributes ? "function" != typeof transientTarget.applyTransientAttributes ? "function" != typeof transientTarget.setAttributesAndPreventAnimate ? (transientTarget.attribute || (transientTarget.attribute = {}), Object.assign(transientTarget.attribute, attributes), null === (_a = transientTarget.onAttributeUpdate) || void 0 === _a || _a.call(transientTarget, context)) : transientTarget.setAttributesAndPreventAnimate(attributes, !1, context) : transientTarget.applyTransientAttributes(attributes, !1, context) : transientTarget.applyAnimationTransientAttributes(attributes, !1, context);
|
|
38969
39455
|
}
|
|
38970
39456
|
function applyAppearStartAttributes(target, attributes) {
|
|
38971
39457
|
applyAnimationTransientAttributes(target, attributes, AttributeUpdateType.ANIMATE_BIND);
|
|
38972
39458
|
}
|
|
38973
39459
|
|
|
38974
39460
|
function noop() {}
|
|
39461
|
+
function includesKey$1(keys, key) {
|
|
39462
|
+
for (let i = 0; i < keys.length; i++) if (keys[i] === key) return !0;
|
|
39463
|
+
return !1;
|
|
39464
|
+
}
|
|
38975
39465
|
class Step {
|
|
38976
39466
|
constructor(type, props, duration, easing) {
|
|
38977
39467
|
var _a;
|
|
@@ -39027,6 +39517,17 @@
|
|
|
39027
39517
|
onBind() {
|
|
39028
39518
|
"glyph" === this.target.type && (this.syncAttributeUpdate = this._syncAttributeUpdate);
|
|
39029
39519
|
}
|
|
39520
|
+
runInterpolateUpdate(fromProps, toProps, ratio) {
|
|
39521
|
+
if (this.animate.interpolateUpdateFunction) return void this.animate.interpolateUpdateFunction(fromProps, toProps, ratio, this, this.target);
|
|
39522
|
+
const funcs = this.interpolateUpdateFunctions,
|
|
39523
|
+
propKeys = this.propKeys;
|
|
39524
|
+
if (funcs && propKeys) for (let index = 0; index < funcs.length; index++) {
|
|
39525
|
+
const key = propKeys[index],
|
|
39526
|
+
fromValue = fromProps[key],
|
|
39527
|
+
toValue = toProps[key];
|
|
39528
|
+
funcs[index](key, fromValue, toValue, ratio, this, this.target);
|
|
39529
|
+
}
|
|
39530
|
+
}
|
|
39030
39531
|
onFirstRun() {}
|
|
39031
39532
|
onStart() {
|
|
39032
39533
|
if (!this._hasFirstRun) {
|
|
@@ -39041,23 +39542,49 @@
|
|
|
39041
39542
|
tryPreventConflict() {
|
|
39042
39543
|
var _a, _b;
|
|
39043
39544
|
const animate = this.animate,
|
|
39044
|
-
target = this.target
|
|
39045
|
-
|
|
39046
|
-
|
|
39047
|
-
|
|
39048
|
-
|
|
39545
|
+
target = this.target,
|
|
39546
|
+
forEachTrackedAnimate = null !== (_b = null === (_a = target.forEachTrackedAnimate) || void 0 === _a ? void 0 : _a.bind(target)) && void 0 !== _b ? _b : cb => {
|
|
39547
|
+
var _a;
|
|
39548
|
+
null === (_a = target.animates) || void 0 === _a || _a.forEach(cb);
|
|
39549
|
+
},
|
|
39550
|
+
propKeys = this.propKeys;
|
|
39551
|
+
forEachTrackedAnimate(a => {
|
|
39049
39552
|
if (a === animate || a.priority > animate.priority || a.priority === 1 / 0) return;
|
|
39050
39553
|
const fromProps = a.getStartProps();
|
|
39051
|
-
|
|
39052
|
-
|
|
39053
|
-
|
|
39554
|
+
let conflictKeys = null;
|
|
39555
|
+
for (let i = 0; i < propKeys.length; i++) {
|
|
39556
|
+
const key = propKeys[i];
|
|
39557
|
+
null != fromProps[key] && (null != conflictKeys ? conflictKeys : conflictKeys = []).push(key);
|
|
39558
|
+
}
|
|
39559
|
+
conflictKeys && a.preventAttrs(conflictKeys);
|
|
39054
39560
|
});
|
|
39055
39561
|
}
|
|
39562
|
+
removeKeysFromRecord(record, keys) {
|
|
39563
|
+
if (!record) return record;
|
|
39564
|
+
let hasBlockedKey = !1;
|
|
39565
|
+
for (const key in record) if (Object.prototype.hasOwnProperty.call(record, key) && includesKey$1(keys, key)) {
|
|
39566
|
+
hasBlockedKey = !0;
|
|
39567
|
+
break;
|
|
39568
|
+
}
|
|
39569
|
+
if (!hasBlockedKey) return record;
|
|
39570
|
+
const nextRecord = {};
|
|
39571
|
+
for (const key in record) Object.prototype.hasOwnProperty.call(record, key) && !includesKey$1(keys, key) && (nextRecord[key] = record[key]);
|
|
39572
|
+
return nextRecord;
|
|
39573
|
+
}
|
|
39056
39574
|
deleteSelfAttr(key) {
|
|
39575
|
+
this.deleteSelfAttrs([key]);
|
|
39576
|
+
}
|
|
39577
|
+
deleteSelfAttrs(keys) {
|
|
39057
39578
|
var _a;
|
|
39058
|
-
|
|
39059
|
-
|
|
39060
|
-
|
|
39579
|
+
if ((null == keys ? void 0 : keys.length) && (this.props = this.removeKeysFromRecord(this.props, keys), this.fromProps = this.removeKeysFromRecord(this.fromProps, keys), this.fromParsedProps = this.removeKeysFromRecord(this.fromParsedProps, keys), this.toParsedProps = this.removeKeysFromRecord(this.toParsedProps, keys), null === (_a = this.propKeys) || void 0 === _a ? void 0 : _a.length)) {
|
|
39580
|
+
const funcs = this.interpolateUpdateFunctions;
|
|
39581
|
+
let writeIndex = 0;
|
|
39582
|
+
for (let readIndex = 0; readIndex < this.propKeys.length; readIndex++) {
|
|
39583
|
+
const propKey = this.propKeys[readIndex];
|
|
39584
|
+
includesKey$1(keys, propKey) || (writeIndex !== readIndex && (this.propKeys[writeIndex] = propKey, funcs && (funcs[writeIndex] = funcs[readIndex])), writeIndex++);
|
|
39585
|
+
}
|
|
39586
|
+
this.propKeys.length = writeIndex, funcs && (funcs.length = writeIndex);
|
|
39587
|
+
}
|
|
39061
39588
|
}
|
|
39062
39589
|
trySyncStartProps() {
|
|
39063
39590
|
this.propKeys.forEach(key => {
|
|
@@ -39067,11 +39594,7 @@
|
|
|
39067
39594
|
update(end, ratio, out) {
|
|
39068
39595
|
if (this.onStart(), !this.props || !this.propKeys) return;
|
|
39069
39596
|
const easedRatio = this.easing(ratio);
|
|
39070
|
-
this.
|
|
39071
|
-
if (!this.animate.validAttr(this.propKeys[index])) return;
|
|
39072
|
-
const key = this.propKeys[index];
|
|
39073
|
-
func(key, this.fromProps[key], this.props[key], easedRatio, this, this.target);
|
|
39074
|
-
}), this.onUpdate(end, easedRatio, out), this.syncAttributeUpdate();
|
|
39597
|
+
this.runInterpolateUpdate(this.fromProps, this.props, easedRatio), this.onUpdate(end, easedRatio, out), this.syncAttributeUpdate();
|
|
39075
39598
|
}
|
|
39076
39599
|
onUpdate(end, ratio, out) {}
|
|
39077
39600
|
onEnd(cb) {
|
|
@@ -39275,19 +39798,34 @@
|
|
|
39275
39798
|
}), this.applyTransientFromAttributes();
|
|
39276
39799
|
}
|
|
39277
39800
|
deleteSelfAttr(key) {
|
|
39278
|
-
|
|
39801
|
+
this.deleteSelfAttrs([key]);
|
|
39802
|
+
}
|
|
39803
|
+
deleteSelfAttrs(keys) {
|
|
39804
|
+
super.deleteSelfAttrs(keys), this.from = this.removeKeysFromRecord(this.from, keys);
|
|
39279
39805
|
}
|
|
39280
39806
|
update(end, ratio, out) {
|
|
39281
39807
|
if (this.onStart(), !this.props || !this.propKeys) return;
|
|
39282
39808
|
const easedRatio = this.easing(ratio);
|
|
39283
|
-
this.
|
|
39284
|
-
if (!this.animate.validAttr(this.propKeys[index])) return;
|
|
39285
|
-
const key = this.propKeys[index];
|
|
39286
|
-
func(key, this.from[key], this.props[key], easedRatio, this, this.target);
|
|
39287
|
-
}), this.onUpdate(end, easedRatio, out), this.syncAttributeUpdate();
|
|
39809
|
+
this.runInterpolateUpdate(this.from, this.props, easedRatio), this.onUpdate(end, easedRatio, out), this.syncAttributeUpdate();
|
|
39288
39810
|
}
|
|
39289
39811
|
}
|
|
39290
39812
|
|
|
39813
|
+
function includesKey(keys, key) {
|
|
39814
|
+
for (let i = 0; i < keys.length; i++) if (keys[i] === key) return !0;
|
|
39815
|
+
return !1;
|
|
39816
|
+
}
|
|
39817
|
+
function removeKeysFromRecord(record, keys) {
|
|
39818
|
+
if (!record) return record;
|
|
39819
|
+
let hasBlockedKey = !1;
|
|
39820
|
+
for (const key in record) if (Object.prototype.hasOwnProperty.call(record, key) && includesKey(keys, key)) {
|
|
39821
|
+
hasBlockedKey = !0;
|
|
39822
|
+
break;
|
|
39823
|
+
}
|
|
39824
|
+
if (!hasBlockedKey) return record;
|
|
39825
|
+
const nextRecord = {};
|
|
39826
|
+
for (const key in record) Object.prototype.hasOwnProperty.call(record, key) && !includesKey(keys, key) && (nextRecord[key] = record[key]);
|
|
39827
|
+
return nextRecord;
|
|
39828
|
+
}
|
|
39291
39829
|
class Animate {
|
|
39292
39830
|
constructor(id = Generator.GenAutoIncrementId(), timeline = defaultTimeline, slience) {
|
|
39293
39831
|
this.id = id, this.status = AnimateStatus.INITIAL, this._timeline = timeline, timeline.addAnimate(this), this.slience = slience, this._startTime = 0, this._duration = 0, this._totalDuration = 0, this._loopCount = 0, this._currentLoop = 0, this._bounce = !1, this._firstStep = null, this._lastStep = null, this._startProps = {}, this._endProps = {}, this._preventAttrs = new Set(), this.currentTime = 0, this.interpolateUpdateFunction = null, this.priority = 0;
|
|
@@ -39310,7 +39848,7 @@
|
|
|
39310
39848
|
bind(target) {
|
|
39311
39849
|
this.target = target;
|
|
39312
39850
|
const trackerTarget = this.target;
|
|
39313
|
-
return "function" == typeof trackerTarget.trackAnimate ? trackerTarget.trackAnimate(this) : (this.target.animates || (this.target.animates = new Map()), this.target.animates.set(this.id, this)), this.onRemove(() => {
|
|
39851
|
+
return "function" == typeof trackerTarget.detachAttributeFromBaseAttributes && trackerTarget.detachAttributeFromBaseAttributes(), "function" == typeof trackerTarget.trackAnimate ? trackerTarget.trackAnimate(this) : (this.target.animates || (this.target.animates = new Map()), this.target.animates.set(this.id, this)), this.onRemove(() => {
|
|
39314
39852
|
this.stop(), this.__skipRestoreStaticAttributeOnRemove || "function" != typeof trackerTarget.restoreStaticAttribute || trackerTarget.restoreStaticAttribute(), "function" == typeof trackerTarget.untrackAnimate ? trackerTarget.untrackAnimate(this.id) : this.target.animates.delete(this.id);
|
|
39315
39853
|
}), this.target.onAnimateBind && !this.slience && this.target.onAnimateBind(this), this.target.animationAttribute || (this.target.animationAttribute = {}), this;
|
|
39316
39854
|
}
|
|
@@ -39375,12 +39913,14 @@
|
|
|
39375
39913
|
cb ? (this._onRemove || (this._onRemove = []), this._onRemove.push(cb)) : null === (_a = this._onRemove) || void 0 === _a || _a.forEach(cb => cb());
|
|
39376
39914
|
}
|
|
39377
39915
|
preventAttr(key) {
|
|
39378
|
-
this.
|
|
39379
|
-
let step = this._firstStep;
|
|
39380
|
-
for (; step;) step.deleteSelfAttr(key), step = step.next;
|
|
39916
|
+
this.preventAttrs([key]);
|
|
39381
39917
|
}
|
|
39382
39918
|
preventAttrs(keys) {
|
|
39383
|
-
|
|
39919
|
+
if (!(null == keys ? void 0 : keys.length)) return;
|
|
39920
|
+
for (let i = 0; i < keys.length; i++) this._preventAttrs.add(keys[i]);
|
|
39921
|
+
this._startProps = removeKeysFromRecord(this._startProps, keys), this._endProps = removeKeysFromRecord(this._endProps, keys);
|
|
39922
|
+
let step = this._firstStep;
|
|
39923
|
+
for (; step;) step.deleteSelfAttrs(keys), step = step.next;
|
|
39384
39924
|
}
|
|
39385
39925
|
validAttr(key) {
|
|
39386
39926
|
return !this._preventAttrs.has(key);
|
|
@@ -39799,6 +40339,33 @@
|
|
|
39799
40339
|
cb();
|
|
39800
40340
|
});
|
|
39801
40341
|
}
|
|
40342
|
+
getActiveAttrKeys() {
|
|
40343
|
+
const keys = [];
|
|
40344
|
+
for (let i = 0; i < this._animates.length; i++) {
|
|
40345
|
+
const animate = this._animates[i];
|
|
40346
|
+
if (animate.status === AnimateStatus.END) continue;
|
|
40347
|
+
const endProps = animate.getEndProps();
|
|
40348
|
+
if (endProps) for (const key in endProps) Object.prototype.hasOwnProperty.call(endProps, key) && keys.indexOf(key) < 0 && keys.push(key);
|
|
40349
|
+
}
|
|
40350
|
+
return keys;
|
|
40351
|
+
}
|
|
40352
|
+
hasActiveAttrs() {
|
|
40353
|
+
for (let i = 0; i < this._animates.length; i++) {
|
|
40354
|
+
const animate = this._animates[i];
|
|
40355
|
+
if (animate.status === AnimateStatus.END) continue;
|
|
40356
|
+
const endProps = animate.getEndProps();
|
|
40357
|
+
if (endProps) for (const key in endProps) if (Object.prototype.hasOwnProperty.call(endProps, key)) return !0;
|
|
40358
|
+
}
|
|
40359
|
+
return !1;
|
|
40360
|
+
}
|
|
40361
|
+
preventAttrs(keys) {
|
|
40362
|
+
if (!(null == keys ? void 0 : keys.length)) return this.hasActiveAttrs();
|
|
40363
|
+
for (let i = 0; i < this._animates.length; i++) {
|
|
40364
|
+
const animate = this._animates[i];
|
|
40365
|
+
animate.status !== AnimateStatus.END && animate.preventAttrs(keys);
|
|
40366
|
+
}
|
|
40367
|
+
return this.hasActiveAttrs();
|
|
40368
|
+
}
|
|
39802
40369
|
_trackAnimation(animate) {
|
|
39803
40370
|
this._animates.push(animate), this._activeCount++, 1 !== this._activeCount || this._started || (this._started = !0, this.onStart()), animate.onEnd(() => {
|
|
39804
40371
|
this._activeCount--;
|
|
@@ -39921,7 +40488,8 @@
|
|
|
39921
40488
|
let parsedFromProps = null,
|
|
39922
40489
|
props = params.to,
|
|
39923
40490
|
from = params.from;
|
|
39924
|
-
|
|
40491
|
+
const commitAttrOutChannel = this.shouldCommitAttrOutChannel(type);
|
|
40492
|
+
props || (parsedFromProps || (parsedFromProps = this.createPropsFromChannel(channel, graphic, commitAttrOutChannel)), props = parsedFromProps.props), from || (parsedFromProps || (parsedFromProps = this.createPropsFromChannel(channel, graphic, commitAttrOutChannel)), from = parsedFromProps.from), parsedFromProps.attrOutChannel && graphic.setAttributes(parsedFromProps.attrOutChannel), this._handleRunAnimate(animate, custom, customType, from, props, duration, easing, customParameters, controlOptions, options, type, graphic);
|
|
39925
40493
|
let totalDelay = 0;
|
|
39926
40494
|
oneByOneDelay && (totalDelay = oneByOneDelay * (count - index - 1));
|
|
39927
40495
|
const delayAfterValue = isFunction$1(delayAfter) ? delayAfter(null === (_h = null === (_g = graphic.context) || void 0 === _g ? void 0 : _g.data) || void 0 === _h ? void 0 : _h[0], graphic, {}) : delayAfter;
|
|
@@ -39984,7 +40552,8 @@
|
|
|
39984
40552
|
let parsedFromProps = null,
|
|
39985
40553
|
props = effect.to,
|
|
39986
40554
|
from = effect.from;
|
|
39987
|
-
|
|
40555
|
+
const commitAttrOutChannel = this.shouldCommitAttrOutChannel(type);
|
|
40556
|
+
props || (parsedFromProps || (parsedFromProps = this.createPropsFromChannel(channel, graphic, commitAttrOutChannel)), props = parsedFromProps.props), from || (parsedFromProps || (parsedFromProps = this.createPropsFromChannel(channel, graphic, commitAttrOutChannel)), from = parsedFromProps.from), parsedFromProps.attrOutChannel && graphic.setAttributes(parsedFromProps.attrOutChannel);
|
|
39988
40557
|
const custom = null !== (_a = effect.custom) && void 0 !== _a ? _a : AnimateExecutor.builtInAnimateMap[type],
|
|
39989
40558
|
customType = effect.custom ? effect.customType : getCustomType(custom);
|
|
39990
40559
|
this._handleRunAnimate(animate, custom, customType, from, props, duration, easing, customParameters, controlOptions, options, type, graphic);
|
|
@@ -39998,11 +40567,14 @@
|
|
|
39998
40567
|
interpolator(ratio, from, to, step, target, animate.target, customParams);
|
|
39999
40568
|
}, animate.to(props, duration, easing);
|
|
40000
40569
|
}
|
|
40570
|
+
shouldCommitAttrOutChannel(type) {
|
|
40571
|
+
return "update" !== type;
|
|
40572
|
+
}
|
|
40001
40573
|
createCustomAnimation(animate, CustomAnimateConstructor, from, props, duration, easing, customParams) {
|
|
40002
40574
|
const customAnimate = new CustomAnimateConstructor(from, props, duration, easing, customParams);
|
|
40003
40575
|
animate.play(customAnimate);
|
|
40004
40576
|
}
|
|
40005
|
-
createPropsFromChannel(channel, graphic) {
|
|
40577
|
+
createPropsFromChannel(channel, graphic, includeAttrOutChannel = !0) {
|
|
40006
40578
|
var _a;
|
|
40007
40579
|
const props = {};
|
|
40008
40580
|
let from = null;
|
|
@@ -40011,7 +40583,7 @@
|
|
|
40011
40583
|
props: props,
|
|
40012
40584
|
attrOutChannel: null
|
|
40013
40585
|
};
|
|
40014
|
-
const attrOutChannel = {};
|
|
40586
|
+
const attrOutChannel = includeAttrOutChannel ? {} : null;
|
|
40015
40587
|
let hasAttrs = !1;
|
|
40016
40588
|
const diffAttrs = null === (_a = graphic.context) || void 0 === _a ? void 0 : _a.diffAttrs;
|
|
40017
40589
|
if (Array.isArray(channel) && (channel = channel.reduce((res, key) => (void 0 === diffAttrs[key] || (res[key] = {
|
|
@@ -40020,7 +40592,7 @@
|
|
|
40020
40592
|
var _a, _b, _c, _d;
|
|
40021
40593
|
const config = channel[key];
|
|
40022
40594
|
void 0 !== config.to && ("function" == typeof config.to ? props[key] = config.to(null === (_b = null === (_a = graphic.context) || void 0 === _a ? void 0 : _a.data) || void 0 === _b ? void 0 : _b[0], graphic, {}) : props[key] = config.to), void 0 !== config.from && (from || (from = {}), "function" == typeof config.from ? from[key] = config.from(null === (_d = null === (_c = graphic.context) || void 0 === _c ? void 0 : _c.data) || void 0 === _d ? void 0 : _d[0], graphic, {}) : from[key] = config.from);
|
|
40023
|
-
}), diffAttrs) for (const key in diffAttrs) {
|
|
40595
|
+
}), diffAttrs && attrOutChannel) for (const key in diffAttrs) {
|
|
40024
40596
|
const value = diffAttrs[key];
|
|
40025
40597
|
if (void 0 === value) continue;
|
|
40026
40598
|
props.hasOwnProperty(key) || !!(null == from ? void 0 : from.hasOwnProperty(key)) || (attrOutChannel[key] = value, hasAttrs = !0);
|
|
@@ -40099,8 +40671,22 @@
|
|
|
40099
40671
|
hasTrackedAnimate() {
|
|
40100
40672
|
return this.trackedAnimates.size > 0;
|
|
40101
40673
|
}
|
|
40674
|
+
hasStateInfo(list, target) {
|
|
40675
|
+
for (let i = 0; i < list.length; i++) if (list[i] === target) return !0;
|
|
40676
|
+
return !1;
|
|
40677
|
+
}
|
|
40678
|
+
takeOverUpdateAttrs(nextState, currentStates, shouldStopState) {
|
|
40679
|
+
if (nextState.state !== AnimationStates$1.UPDATE || !currentStates.length) return;
|
|
40680
|
+
const nextKeys = nextState.executor.getActiveAttrKeys();
|
|
40681
|
+
if (nextKeys.length) for (let i = 0; i < currentStates.length; i++) {
|
|
40682
|
+
const currentState = currentStates[i];
|
|
40683
|
+
currentState.state !== AnimationStates$1.UPDATE || currentState === nextState || this.hasStateInfo(shouldStopState, currentState) || currentState.executor.preventAttrs(nextKeys) || (currentState.executor.stop(null, !1), shouldStopState.push(currentState));
|
|
40684
|
+
}
|
|
40685
|
+
}
|
|
40102
40686
|
applyState(nextState, animationConfig, callback) {
|
|
40687
|
+
var _a;
|
|
40103
40688
|
const registry = AnimationTransitionRegistry.getInstance(),
|
|
40689
|
+
currentStateList = null !== (_a = this.stateList) && void 0 !== _a ? _a : [],
|
|
40104
40690
|
shouldStopState = [],
|
|
40105
40691
|
shouldApplyState = [];
|
|
40106
40692
|
if (this.stateList && this.stateList.length ? nextState.forEach((state, index) => {
|
|
@@ -40108,14 +40694,14 @@
|
|
|
40108
40694
|
allowTransition: !0,
|
|
40109
40695
|
stopOriginalTransition: !0
|
|
40110
40696
|
};
|
|
40111
|
-
|
|
40697
|
+
currentStateList.forEach(currState => {
|
|
40112
40698
|
const _result = registry.isTransitionAllowed(currState.state, state, this.graphic);
|
|
40113
40699
|
result.allowTransition = result.allowTransition && _result.allowTransition;
|
|
40114
40700
|
}), result.allowTransition && (shouldApplyState.push({
|
|
40115
40701
|
state: state,
|
|
40116
40702
|
animationConfig: isArray$1(animationConfig[index]) ? animationConfig[index].map(item => item.animation) : animationConfig[index].animation,
|
|
40117
40703
|
executor: new AnimateExecutor(this.graphic)
|
|
40118
|
-
}),
|
|
40704
|
+
}), currentStateList.forEach(currState => {
|
|
40119
40705
|
registry.isTransitionAllowed(currState.state, state, this.graphic).stopOriginalTransition && shouldStopState.push(currState);
|
|
40120
40706
|
}));
|
|
40121
40707
|
}) : nextState.forEach((state, index) => {
|
|
@@ -40127,12 +40713,18 @@
|
|
|
40127
40713
|
}), shouldStopState.forEach(state => {
|
|
40128
40714
|
state.executor.stop(null, !1);
|
|
40129
40715
|
}), shouldApplyState.length) {
|
|
40130
|
-
shouldApplyState[0].executor.execute(shouldApplyState[0].animationConfig);
|
|
40716
|
+
shouldApplyState[0].executor.execute(shouldApplyState[0].animationConfig), this.takeOverUpdateAttrs(shouldApplyState[0], currentStateList, shouldStopState);
|
|
40131
40717
|
for (let i = 0; i < shouldApplyState.length; i++) {
|
|
40132
40718
|
const nextState = shouldApplyState[i + 1],
|
|
40133
40719
|
currentState = shouldApplyState[i];
|
|
40134
40720
|
currentState.executor.onEnd(() => {
|
|
40135
|
-
|
|
40721
|
+
var _a;
|
|
40722
|
+
if (nextState) {
|
|
40723
|
+
nextState.executor.execute(nextState.animationConfig);
|
|
40724
|
+
const stoppedStates = [];
|
|
40725
|
+
this.takeOverUpdateAttrs(nextState, null !== (_a = this.stateList) && void 0 !== _a ? _a : [], stoppedStates), stoppedStates.length && this.stateList && (this.stateList = this.stateList.filter(state => !this.hasStateInfo(stoppedStates, state)));
|
|
40726
|
+
}
|
|
40727
|
+
this.stateList = this.stateList.filter(state => state !== currentState), i === shouldApplyState.length - 1 && callback && callback(!1);
|
|
40136
40728
|
});
|
|
40137
40729
|
}
|
|
40138
40730
|
} else callback && callback(!0);
|
|
@@ -40375,8 +40967,11 @@
|
|
|
40375
40967
|
}), this));
|
|
40376
40968
|
}
|
|
40377
40969
|
deleteSelfAttr(key) {
|
|
40970
|
+
this.deleteSelfAttrs([key]);
|
|
40971
|
+
}
|
|
40972
|
+
deleteSelfAttrs(keys) {
|
|
40378
40973
|
this.tasks.forEach(task => {
|
|
40379
|
-
task.animate && task.animate.forEach(animate => animate.
|
|
40974
|
+
task.animate && task.animate.forEach(animate => animate.preventAttrs(keys));
|
|
40380
40975
|
});
|
|
40381
40976
|
}
|
|
40382
40977
|
stop(type) {
|
|
@@ -40940,6 +41535,25 @@
|
|
|
40940
41535
|
}
|
|
40941
41536
|
}
|
|
40942
41537
|
|
|
41538
|
+
function buildAnimationStaticCommitAttrs(target, keys, animate, fallbackAttrs) {
|
|
41539
|
+
var _a;
|
|
41540
|
+
const commitTarget = target,
|
|
41541
|
+
contextFinalAttrs = null === (_a = commitTarget.context) || void 0 === _a ? void 0 : _a.finalAttrs,
|
|
41542
|
+
finalAttribute = "function" == typeof commitTarget.getFinalAttribute ? commitTarget.getFinalAttribute() : commitTarget.finalAttribute;
|
|
41543
|
+
let commitAttrs = null;
|
|
41544
|
+
for (let i = 0; i < keys.length; i++) {
|
|
41545
|
+
const key = keys[i];
|
|
41546
|
+
animate && !animate.validAttr(key) || (contextFinalAttrs && Object.prototype.hasOwnProperty.call(contextFinalAttrs, key) ? (null != commitAttrs || (commitAttrs = {}), commitAttrs[key] = contextFinalAttrs[key]) : finalAttribute && Object.prototype.hasOwnProperty.call(finalAttribute, key) ? (null != commitAttrs || (commitAttrs = {}), commitAttrs[key] = finalAttribute[key]) : fallbackAttrs && Object.prototype.hasOwnProperty.call(fallbackAttrs, key) && (null != commitAttrs || (commitAttrs = {}), commitAttrs[key] = fallbackAttrs[key]));
|
|
41547
|
+
}
|
|
41548
|
+
return commitAttrs;
|
|
41549
|
+
}
|
|
41550
|
+
function commitAnimationStaticAttrs(target, keys, animate, fallbackAttrs) {
|
|
41551
|
+
const commitAttrs = buildAnimationStaticCommitAttrs(target, keys, animate, fallbackAttrs);
|
|
41552
|
+
return !!commitAttrs && (target.setAttributes(commitAttrs, !1, {
|
|
41553
|
+
type: AttributeUpdateType.ANIMATE_END
|
|
41554
|
+
}), !0);
|
|
41555
|
+
}
|
|
41556
|
+
|
|
40943
41557
|
class TagPointsUpdate extends ACustomAnimate {
|
|
40944
41558
|
constructor(from, to, duration, easing, params) {
|
|
40945
41559
|
var _a, _b;
|
|
@@ -40958,21 +41572,9 @@
|
|
|
40958
41572
|
}
|
|
40959
41573
|
onBind() {
|
|
40960
41574
|
super.onBind();
|
|
40961
|
-
const
|
|
40962
|
-
|
|
40963
|
-
|
|
40964
|
-
} = this.target.attribute,
|
|
40965
|
-
{
|
|
40966
|
-
points: pointsTo,
|
|
40967
|
-
segments: segmentsTo
|
|
40968
|
-
} = this.target.getFinalAttribute();
|
|
40969
|
-
this.from = {
|
|
40970
|
-
points: points,
|
|
40971
|
-
segments: segments
|
|
40972
|
-
}, this.to = {
|
|
40973
|
-
points: pointsTo,
|
|
40974
|
-
segments: segmentsTo
|
|
40975
|
-
}, this.props = this.to;
|
|
41575
|
+
const currentAttribute = this.target.attribute,
|
|
41576
|
+
finalAttribute = this.target.getFinalAttribute();
|
|
41577
|
+
this.from = {}, this.to = {}, Object.prototype.hasOwnProperty.call(currentAttribute, "points") && (this.from.points = currentAttribute.points), Object.prototype.hasOwnProperty.call(currentAttribute, "segments") && (this.from.segments = currentAttribute.segments), finalAttribute && Object.prototype.hasOwnProperty.call(finalAttribute, "points") && (this.to.points = finalAttribute.points), finalAttribute && Object.prototype.hasOwnProperty.call(finalAttribute, "segments") && (this.to.segments = finalAttribute.segments), this.props = this.to;
|
|
40976
41578
|
const originFromPoints = this.getPoints(this.from),
|
|
40977
41579
|
originToPoints = this.getPoints(this.to, !0);
|
|
40978
41580
|
this.fromPoints = originFromPoints ? Array.isArray(originFromPoints) ? originFromPoints : [originFromPoints] : [], this.toPoints = originToPoints ? Array.isArray(originToPoints) ? originToPoints : [originToPoints] : [];
|
|
@@ -41008,31 +41610,42 @@
|
|
|
41008
41610
|
const lastClipRange = this.target.attribute.clipRange;
|
|
41009
41611
|
isValidNumber$1(lastClipRange * this.clipRange) && (this.clipRange *= lastClipRange);
|
|
41010
41612
|
}
|
|
41613
|
+
onEnd(cb) {
|
|
41614
|
+
cb ? super.onEnd(cb) : (this.to && commitAnimationStaticAttrs(this.target, Object.keys(this.to), this.animate, this.to), super.onEnd());
|
|
41615
|
+
}
|
|
41616
|
+
applyPointTransientAttributes(attributes) {
|
|
41617
|
+
const validAttrs = {};
|
|
41618
|
+
Object.keys(attributes).forEach(key => {
|
|
41619
|
+
this.animate.validAttr(key) && (validAttrs[key] = attributes[key]);
|
|
41620
|
+
}), Object.keys(validAttrs).length && (applyAnimationFrameAttributes(this.target, validAttrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag());
|
|
41621
|
+
}
|
|
41011
41622
|
onUpdate(end, ratio, out) {
|
|
41012
|
-
if (end)
|
|
41013
|
-
this.
|
|
41014
|
-
|
|
41015
|
-
|
|
41016
|
-
|
|
41017
|
-
|
|
41018
|
-
|
|
41019
|
-
|
|
41020
|
-
applyAnimationTransientAttributes(this.target, {
|
|
41021
|
-
clipRange: this.clipRange + (1 - this.clipRange) * ratio
|
|
41022
|
-
});
|
|
41023
|
-
}
|
|
41024
|
-
if (this.segmentsCache && this.to.segments) {
|
|
41025
|
-
let start = 0;
|
|
41026
|
-
const segments = this.to.segments.map((segment, index) => {
|
|
41027
|
-
const end = start + this.segmentsCache[index],
|
|
41028
|
-
points = this.points.slice(start, end);
|
|
41029
|
-
return start = end, Object.assign(Object.assign({}, segment), {
|
|
41030
|
-
points: points
|
|
41623
|
+
if (end) this.applyPointTransientAttributes(this.to);else {
|
|
41624
|
+
if (this.points = this.points.map((point, index) => {
|
|
41625
|
+
const newPoint = pointInterpolation(this.interpolatePoints[index][0], this.interpolatePoints[index][1], ratio);
|
|
41626
|
+
return newPoint.context = point.context, newPoint;
|
|
41627
|
+
}), this.clipRange) {
|
|
41628
|
+
if (this.shrinkClipRange) return void (end ? (out.points = this.toPoints, out.clipRange = 1) : (out.points = this.fromPoints, out.clipRange = this.clipRange - (this.clipRange - this.shrinkClipRange) * ratio));
|
|
41629
|
+
applyAnimationTransientAttributes(this.target, {
|
|
41630
|
+
clipRange: this.clipRange + (1 - this.clipRange) * ratio
|
|
41031
41631
|
});
|
|
41632
|
+
}
|
|
41633
|
+
if (this.segmentsCache && this.to.segments) {
|
|
41634
|
+
let start = 0;
|
|
41635
|
+
const segments = this.to.segments.map((segment, index) => {
|
|
41636
|
+
const end = start + this.segmentsCache[index],
|
|
41637
|
+
points = this.points.slice(start, end);
|
|
41638
|
+
return start = end, Object.assign(Object.assign({}, segment), {
|
|
41639
|
+
points: points
|
|
41640
|
+
});
|
|
41641
|
+
});
|
|
41642
|
+
this.applyPointTransientAttributes({
|
|
41643
|
+
segments: segments
|
|
41644
|
+
});
|
|
41645
|
+
} else this.applyPointTransientAttributes({
|
|
41646
|
+
points: this.points
|
|
41032
41647
|
});
|
|
41033
|
-
|
|
41034
|
-
} else this.target.attribute.points = this.points;
|
|
41035
|
-
this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
41648
|
+
}
|
|
41036
41649
|
}
|
|
41037
41650
|
}
|
|
41038
41651
|
|
|
@@ -41053,10 +41666,10 @@
|
|
|
41053
41666
|
}), null === (_d = (_c = this.target).applyFinalAttributeToAttribute) || void 0 === _d || _d.call(_c), this.props = to, this.propKeys = this.keys, this.from = from, this.to = to, !1 !== (null === (_e = this.params.controlOptions) || void 0 === _e ? void 0 : _e.immediatelyApply) && applyAppearStartAttributes(this.target, from);
|
|
41054
41667
|
}
|
|
41055
41668
|
onUpdate(end, ratio, out) {
|
|
41056
|
-
const
|
|
41669
|
+
const attrs = {};
|
|
41057
41670
|
this.propKeys.forEach(key => {
|
|
41058
|
-
|
|
41059
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
41671
|
+
attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
41672
|
+
}), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
41060
41673
|
}
|
|
41061
41674
|
}
|
|
41062
41675
|
class CommonOut extends ACustomAnimate {
|
|
@@ -41071,16 +41684,16 @@
|
|
|
41071
41684
|
this.keys.forEach(key => {
|
|
41072
41685
|
var _a;
|
|
41073
41686
|
to[key] = 0, from[key] = null !== (_a = attrs[key]) && void 0 !== _a ? _a : 1;
|
|
41074
|
-
}), this.props = to, this.propKeys = this.keys, this.from = from, this.to = to,
|
|
41687
|
+
}), this.props = to, this.propKeys = this.keys, this.from = from, this.to = to, applyAnimationTransientAttributes(this.target, from, AttributeUpdateType.ANIMATE_BIND), this.target.addUpdatePositionTag(), this.target.addUpdateBoundTag();
|
|
41075
41688
|
}
|
|
41076
41689
|
onEnd(cb) {
|
|
41077
41690
|
super.onEnd(cb);
|
|
41078
41691
|
}
|
|
41079
41692
|
onUpdate(end, ratio, out) {
|
|
41080
|
-
const
|
|
41693
|
+
const attrs = {};
|
|
41081
41694
|
this.propKeys.forEach(key => {
|
|
41082
|
-
|
|
41083
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
41695
|
+
attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
41696
|
+
}), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
41084
41697
|
}
|
|
41085
41698
|
}
|
|
41086
41699
|
|
|
@@ -41110,8 +41723,7 @@
|
|
|
41110
41723
|
onEnd() {}
|
|
41111
41724
|
onUpdate(end, ratio, out) {
|
|
41112
41725
|
if (null == this.phi || null == this.theta) return;
|
|
41113
|
-
const
|
|
41114
|
-
{
|
|
41726
|
+
const {
|
|
41115
41727
|
center: center,
|
|
41116
41728
|
r: r,
|
|
41117
41729
|
cb: cb
|
|
@@ -41122,8 +41734,15 @@
|
|
|
41122
41734
|
x = r * Math.sin(phi) * Math.cos(theta) + center.x,
|
|
41123
41735
|
y = r * Math.cos(phi) + center.y,
|
|
41124
41736
|
z = r * Math.sin(phi) * Math.sin(theta) + center.z;
|
|
41125
|
-
|
|
41126
|
-
|
|
41737
|
+
let alpha = theta + pi$1 / 2;
|
|
41738
|
+
for (; alpha > pi2;) alpha -= pi2;
|
|
41739
|
+
alpha = pi2 - alpha, applyAnimationFrameAttributes(this.target, {
|
|
41740
|
+
x: x,
|
|
41741
|
+
y: y,
|
|
41742
|
+
z: z,
|
|
41743
|
+
alpha: alpha,
|
|
41744
|
+
zIndex: -1e4 * z
|
|
41745
|
+
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag(), cb && cb(out);
|
|
41127
41746
|
}
|
|
41128
41747
|
}
|
|
41129
41748
|
|
|
@@ -41265,15 +41884,23 @@
|
|
|
41265
41884
|
this.propKeys ? this.propKeys && this.propKeys.length > 1 ? this._updateFunction = this.updateAngle : "startAngle" === this.propKeys[0] ? this._updateFunction = this.updateStartAngle : "endAngle" === this.propKeys[0] ? this._updateFunction = this.updateEndAngle : this.valid = !1 : this.valid = !1;
|
|
41266
41885
|
}
|
|
41267
41886
|
deleteSelfAttr(key) {
|
|
41268
|
-
|
|
41269
|
-
|
|
41270
|
-
|
|
41887
|
+
this.deleteSelfAttrs([key]);
|
|
41888
|
+
}
|
|
41889
|
+
deleteSelfAttrs(keys) {
|
|
41890
|
+
var _a;
|
|
41891
|
+
super.deleteSelfAttrs(keys);
|
|
41892
|
+
const firstKey = null === (_a = this.propKeys) || void 0 === _a ? void 0 : _a[0];
|
|
41893
|
+
this.propKeys && this.propKeys.length > 1 ? this._updateFunction = this.updateAngle : this._updateFunction = "startAngle" === firstKey ? this.updateStartAngle : "endAngle" === firstKey ? this.updateEndAngle : null;
|
|
41271
41894
|
}
|
|
41272
41895
|
updateStartAngle(ratio) {
|
|
41273
|
-
this.target
|
|
41896
|
+
applyAnimationFrameAttributes(this.target, {
|
|
41897
|
+
startAngle: this.from.startAngle + (this.to.startAngle - this.from.startAngle) * ratio
|
|
41898
|
+
});
|
|
41274
41899
|
}
|
|
41275
41900
|
updateEndAngle(ratio) {
|
|
41276
|
-
this.target
|
|
41901
|
+
applyAnimationFrameAttributes(this.target, {
|
|
41902
|
+
endAngle: this.from.endAngle + (this.to.endAngle - this.from.endAngle) * ratio
|
|
41903
|
+
});
|
|
41277
41904
|
}
|
|
41278
41905
|
updateAngle(ratio) {
|
|
41279
41906
|
this.updateStartAngle(ratio), this.updateEndAngle(ratio);
|
|
@@ -41447,10 +42074,10 @@
|
|
|
41447
42074
|
super.onEnd(cb);
|
|
41448
42075
|
}
|
|
41449
42076
|
onUpdate(end, ratio, out) {
|
|
41450
|
-
const
|
|
42077
|
+
const attrs = {};
|
|
41451
42078
|
this.propKeys.forEach(key => {
|
|
41452
|
-
|
|
41453
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
42079
|
+
attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
42080
|
+
}), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
41454
42081
|
}
|
|
41455
42082
|
}
|
|
41456
42083
|
class GrowCenterOut extends ACustomAnimate {
|
|
@@ -41469,10 +42096,10 @@
|
|
|
41469
42096
|
super.onEnd(cb);
|
|
41470
42097
|
}
|
|
41471
42098
|
onUpdate(end, ratio, out) {
|
|
41472
|
-
const
|
|
42099
|
+
const attrs = {};
|
|
41473
42100
|
this.propKeys.forEach(key => {
|
|
41474
|
-
|
|
41475
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
42101
|
+
attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
42102
|
+
}), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
41476
42103
|
}
|
|
41477
42104
|
}
|
|
41478
42105
|
|
|
@@ -41552,10 +42179,7 @@
|
|
|
41552
42179
|
super.onEnd(cb);
|
|
41553
42180
|
}
|
|
41554
42181
|
onUpdate(end, ratio, out) {
|
|
41555
|
-
|
|
41556
|
-
this.propKeys.forEach(key => {
|
|
41557
|
-
attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
41558
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
42182
|
+
applyAnimationFrameNumberAttributes(this.target, this.propKeys, this.from, this.to, ratio), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
41559
42183
|
}
|
|
41560
42184
|
}
|
|
41561
42185
|
function growHeightOutIndividual(graphic, options, animationParameters) {
|
|
@@ -41613,10 +42237,7 @@
|
|
|
41613
42237
|
super.onEnd(cb);
|
|
41614
42238
|
}
|
|
41615
42239
|
onUpdate(end, ratio, out) {
|
|
41616
|
-
|
|
41617
|
-
this.propKeys.forEach(key => {
|
|
41618
|
-
attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
41619
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
42240
|
+
applyAnimationFrameNumberAttributes(this.target, this.propKeys, this.from, this.to, ratio), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
41620
42241
|
}
|
|
41621
42242
|
}
|
|
41622
42243
|
|
|
@@ -41649,7 +42270,9 @@
|
|
|
41649
42270
|
var _a, _b;
|
|
41650
42271
|
const fromPoints = null === (_a = this.from) || void 0 === _a ? void 0 : _a.points,
|
|
41651
42272
|
toPoints = null === (_b = this.to) || void 0 === _b ? void 0 : _b.points;
|
|
41652
|
-
fromPoints && toPoints && (
|
|
42273
|
+
fromPoints && toPoints && (applyAnimationFrameAttributes(this.target, {
|
|
42274
|
+
points: fromPoints.map((point, index) => pointInterpolation(fromPoints[index], toPoints[index], ratio))
|
|
42275
|
+
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag());
|
|
41653
42276
|
}
|
|
41654
42277
|
}
|
|
41655
42278
|
class GrowPointsIn extends GworPointsBase {
|
|
@@ -41881,10 +42504,10 @@
|
|
|
41881
42504
|
super(from, to, duration, easing, params);
|
|
41882
42505
|
}
|
|
41883
42506
|
onUpdate(end, ratio, out) {
|
|
41884
|
-
const
|
|
42507
|
+
const attrs = {};
|
|
41885
42508
|
this.propKeys.forEach(key => {
|
|
41886
|
-
|
|
41887
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
42509
|
+
attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
42510
|
+
}), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
41888
42511
|
}
|
|
41889
42512
|
}
|
|
41890
42513
|
class GrowRadiusIn extends GrowPointsBase {
|
|
@@ -42024,10 +42647,7 @@
|
|
|
42024
42647
|
super.onEnd(cb);
|
|
42025
42648
|
}
|
|
42026
42649
|
onUpdate(end, ratio, out) {
|
|
42027
|
-
|
|
42028
|
-
this.propKeys.forEach(key => {
|
|
42029
|
-
attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
42030
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
42650
|
+
applyAnimationFrameNumberAttributes(this.target, this.propKeys, this.from, this.to, ratio), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
42031
42651
|
}
|
|
42032
42652
|
}
|
|
42033
42653
|
class GrowWidthOut extends ACustomAnimate {
|
|
@@ -42047,10 +42667,7 @@
|
|
|
42047
42667
|
super.onEnd(cb);
|
|
42048
42668
|
}
|
|
42049
42669
|
onUpdate(end, ratio, out) {
|
|
42050
|
-
|
|
42051
|
-
this.propKeys.forEach(key => {
|
|
42052
|
-
attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
42053
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
42670
|
+
applyAnimationFrameNumberAttributes(this.target, this.propKeys, this.from, this.to, ratio), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
42054
42671
|
}
|
|
42055
42672
|
}
|
|
42056
42673
|
|
|
@@ -42823,18 +43440,26 @@
|
|
|
42823
43440
|
super.onEnd(cb);
|
|
42824
43441
|
}
|
|
42825
43442
|
updateX(ratio) {
|
|
42826
|
-
this.
|
|
43443
|
+
this.applyScaleTransientAttrs(ratio, !0, !1);
|
|
42827
43444
|
}
|
|
42828
43445
|
updateY(ratio) {
|
|
42829
|
-
this.
|
|
43446
|
+
this.applyScaleTransientAttrs(ratio, !1, !0);
|
|
42830
43447
|
}
|
|
42831
43448
|
updateXY(ratio) {
|
|
42832
|
-
this.
|
|
43449
|
+
this.applyScaleTransientAttrs(ratio, !0, !0);
|
|
43450
|
+
}
|
|
43451
|
+
applyScaleTransientAttrs(ratio, scaleX, scaleY) {
|
|
43452
|
+
const attrs = {};
|
|
43453
|
+
scaleX && (attrs.scaleX = this.from.scaleX + (this.to.scaleX - this.from.scaleX) * ratio), scaleY && (attrs.scaleY = this.from.scaleY + (this.to.scaleY - this.from.scaleY) * ratio), applyAnimationFrameAttributes(this.target, attrs);
|
|
42833
43454
|
}
|
|
42834
43455
|
deleteSelfAttr(key) {
|
|
42835
|
-
|
|
42836
|
-
|
|
42837
|
-
|
|
43456
|
+
this.deleteSelfAttrs([key]);
|
|
43457
|
+
}
|
|
43458
|
+
deleteSelfAttrs(keys) {
|
|
43459
|
+
var _a;
|
|
43460
|
+
super.deleteSelfAttrs(keys);
|
|
43461
|
+
const firstKey = null === (_a = this.propKeys) || void 0 === _a ? void 0 : _a[0];
|
|
43462
|
+
this.propKeys && this.propKeys.length > 1 ? this._updateFunction = this.updateXY : this._updateFunction = "scaleX" === firstKey ? this.updateX : "scaleY" === firstKey ? this.updateY : null;
|
|
42838
43463
|
}
|
|
42839
43464
|
onUpdate(end, ratio, out) {
|
|
42840
43465
|
this._updateFunction && (this._updateFunction(ratio), this.target.addUpdatePositionTag(), this.target.addUpdateBoundTag());
|
|
@@ -42879,10 +43504,10 @@
|
|
|
42879
43504
|
super.onEnd(cb);
|
|
42880
43505
|
}
|
|
42881
43506
|
onUpdate(end, ratio, out) {
|
|
42882
|
-
const
|
|
43507
|
+
const attrs = {};
|
|
42883
43508
|
this.propKeys.forEach(key => {
|
|
42884
|
-
|
|
42885
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateBoundTag();
|
|
43509
|
+
attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
43510
|
+
}), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateBoundTag();
|
|
42886
43511
|
}
|
|
42887
43512
|
}
|
|
42888
43513
|
|
|
@@ -42893,14 +43518,19 @@
|
|
|
42893
43518
|
update(end, ratio, out) {
|
|
42894
43519
|
if (this.onStart(), !this.props || !this.propKeys) return;
|
|
42895
43520
|
const easedRatio = this.easing(ratio);
|
|
42896
|
-
this.
|
|
42897
|
-
if (!this.animate.validAttr(this.propKeys[index])) return;
|
|
42898
|
-
const key = this.propKeys[index];
|
|
42899
|
-
func(key, this.fromProps[key], this.props[key], easedRatio, this, this.target);
|
|
42900
|
-
}), this.onUpdate(end, easedRatio, out), this.syncAttributeUpdate();
|
|
43521
|
+
this.runInterpolateUpdate(this.fromProps, this.props, easedRatio), this.onUpdate(end, easedRatio, out), this.syncAttributeUpdate();
|
|
42901
43522
|
}
|
|
42902
43523
|
}
|
|
42903
43524
|
|
|
43525
|
+
function buildInterpolatedAttrs(keys, from, to, ratio) {
|
|
43526
|
+
const attrs = {};
|
|
43527
|
+
return keys.forEach(key => {
|
|
43528
|
+
attrs[key] = from[key] + (to[key] - from[key]) * ratio;
|
|
43529
|
+
}), attrs;
|
|
43530
|
+
}
|
|
43531
|
+
function applyStoryFrame(target, attrs) {
|
|
43532
|
+
applyAnimationFrameAttributes(target, attrs), target.addUpdatePositionTag(), target.addUpdateShapeAndBoundsTag();
|
|
43533
|
+
}
|
|
42904
43534
|
class SlideIn extends ACustomAnimate {
|
|
42905
43535
|
constructor(from, to, duration, easing, params) {
|
|
42906
43536
|
super(from, to, duration, easing, params);
|
|
@@ -42923,10 +43553,7 @@
|
|
|
42923
43553
|
"top" === direction ? (from.y = (null !== (_e = attrs.y) && void 0 !== _e ? _e : 0) - distance, to.y = null !== (_f = attrs.y) && void 0 !== _f ? _f : 0, this.propKeys = ["opacity", "baseOpacity", "y"]) : "bottom" === direction ? (from.y = (null !== (_g = attrs.y) && void 0 !== _g ? _g : 0) + distance, to.y = null !== (_h = attrs.y) && void 0 !== _h ? _h : 0, this.propKeys = ["opacity", "baseOpacity", "y"]) : "left" === direction ? (from.x = (null !== (_j = attrs.x) && void 0 !== _j ? _j : 0) - distance, to.x = null !== (_k = attrs.x) && void 0 !== _k ? _k : 0, this.propKeys = ["opacity", "baseOpacity", "x"]) : (from.x = (null !== (_l = attrs.x) && void 0 !== _l ? _l : 0) + distance, to.x = null !== (_m = attrs.x) && void 0 !== _m ? _m : 0, this.propKeys = ["opacity", "baseOpacity", "x"]), this.from = from, this.to = to, this.props = to, applyAppearStartAttributes(this.target, from);
|
|
42924
43554
|
}
|
|
42925
43555
|
onUpdate(end, ratio, out) {
|
|
42926
|
-
|
|
42927
|
-
this.propKeys.forEach(key => {
|
|
42928
|
-
attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
42929
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
43556
|
+
applyStoryFrame(this.target, buildInterpolatedAttrs(this.propKeys, this.from, this.to, ratio));
|
|
42930
43557
|
}
|
|
42931
43558
|
}
|
|
42932
43559
|
class GrowIn extends ACustomAnimate {
|
|
@@ -42951,10 +43578,7 @@
|
|
|
42951
43578
|
this.propKeys = ["opacity", "baseOpacity"], "x" !== direction && "xy" !== direction || (from.scaleX = fromScale, to.scaleX = null !== (_f = attrs.scaleX) && void 0 !== _f ? _f : 1, this.propKeys.push("scaleX")), "y" !== direction && "xy" !== direction || (from.scaleY = fromScale, to.scaleY = null !== (_g = attrs.scaleY) && void 0 !== _g ? _g : 1, this.propKeys.push("scaleY")), this.from = from, this.to = to, this.props = to, applyAppearStartAttributes(this.target, from);
|
|
42952
43579
|
}
|
|
42953
43580
|
onUpdate(end, ratio, out) {
|
|
42954
|
-
|
|
42955
|
-
this.propKeys.forEach(key => {
|
|
42956
|
-
attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
42957
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
43581
|
+
applyStoryFrame(this.target, buildInterpolatedAttrs(this.propKeys, this.from, this.to, ratio));
|
|
42958
43582
|
}
|
|
42959
43583
|
}
|
|
42960
43584
|
class SpinIn extends ACustomAnimate {
|
|
@@ -42985,10 +43609,7 @@
|
|
|
42985
43609
|
this.propKeys = ["opacity", "baseOpacity", "angle", "scaleX", "scaleY"], this.from = from, this.to = to, this.props = to, applyAppearStartAttributes(this.target, from);
|
|
42986
43610
|
}
|
|
42987
43611
|
onUpdate(end, ratio, out) {
|
|
42988
|
-
|
|
42989
|
-
this.propKeys.forEach(key => {
|
|
42990
|
-
attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
42991
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
43612
|
+
applyStoryFrame(this.target, buildInterpolatedAttrs(this.propKeys, this.from, this.to, ratio));
|
|
42992
43613
|
}
|
|
42993
43614
|
}
|
|
42994
43615
|
class StrokeIn extends ACustomAnimate {
|
|
@@ -43033,8 +43654,10 @@
|
|
|
43033
43654
|
}
|
|
43034
43655
|
onUpdate(end, ratio, out) {
|
|
43035
43656
|
var _a;
|
|
43036
|
-
const
|
|
43037
|
-
|
|
43657
|
+
const attrs = {
|
|
43658
|
+
lineDashOffset: this.from.lineDashOffset + (this.to.lineDashOffset - this.from.lineDashOffset) * ratio
|
|
43659
|
+
};
|
|
43660
|
+
(null === (_a = this.params) || void 0 === _a ? void 0 : _a.showFill) && (attrs.fillOpacity = this.from.fillOpacity + (this.to.fillOpacity - this.from.fillOpacity) * ratio), applyAnimationTransientAttributes(this.target, attrs);
|
|
43038
43661
|
}
|
|
43039
43662
|
onEnd() {
|
|
43040
43663
|
var _a;
|
|
@@ -43085,8 +43708,10 @@
|
|
|
43085
43708
|
}
|
|
43086
43709
|
onUpdate(end, ratio, out) {
|
|
43087
43710
|
var _a;
|
|
43088
|
-
const
|
|
43089
|
-
|
|
43711
|
+
const attrs = {
|
|
43712
|
+
lineDashOffset: this.from.lineDashOffset + (this.to.lineDashOffset - this.from.lineDashOffset) * ratio
|
|
43713
|
+
};
|
|
43714
|
+
(null === (_a = this.params) || void 0 === _a ? void 0 : _a.showFill) && (attrs.fillOpacity = this.from.fillOpacity + (this.to.fillOpacity - this.from.fillOpacity) * ratio), applyAnimationTransientAttributes(this.target, attrs);
|
|
43090
43715
|
}
|
|
43091
43716
|
}
|
|
43092
43717
|
class MoveScaleIn extends ACustomAnimate {
|
|
@@ -43183,10 +43808,7 @@
|
|
|
43183
43808
|
"top" === direction ? (from.y = null !== (_g = attrs.y) && void 0 !== _g ? _g : 0, to.y = (null !== (_h = attrs.y) && void 0 !== _h ? _h : 0) - distance, this.propKeys = ["opacity", "baseOpacity", "y"]) : "bottom" === direction ? (from.y = null !== (_j = attrs.y) && void 0 !== _j ? _j : 0, to.y = (null !== (_k = attrs.y) && void 0 !== _k ? _k : 0) + distance, this.propKeys = ["opacity", "baseOpacity", "y"]) : "left" === direction ? (from.x = null !== (_l = attrs.x) && void 0 !== _l ? _l : 0, to.x = (null !== (_m = attrs.x) && void 0 !== _m ? _m : 0) - distance, this.propKeys = ["opacity", "baseOpacity", "x"]) : (from.x = null !== (_o = attrs.x) && void 0 !== _o ? _o : 0, to.x = (null !== (_p = attrs.x) && void 0 !== _p ? _p : 0) + distance, this.propKeys = ["opacity", "baseOpacity", "x"]), this.from = from, this.to = to, this.props = to;
|
|
43184
43809
|
}
|
|
43185
43810
|
onUpdate(end, ratio, out) {
|
|
43186
|
-
|
|
43187
|
-
this.propKeys.forEach(key => {
|
|
43188
|
-
attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
43189
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
43811
|
+
applyStoryFrame(this.target, buildInterpolatedAttrs(this.propKeys, this.from, this.to, ratio));
|
|
43190
43812
|
}
|
|
43191
43813
|
}
|
|
43192
43814
|
class GrowOut extends ACustomAnimate {
|
|
@@ -43211,10 +43833,7 @@
|
|
|
43211
43833
|
this.propKeys = ["opacity", "baseOpacity"], "x" !== direction && "xy" !== direction || (from.scaleX = null !== (_h = attrs.scaleX) && void 0 !== _h ? _h : 1, to.scaleX = toScale, this.propKeys.push("scaleX")), "y" !== direction && "xy" !== direction || (from.scaleY = null !== (_j = attrs.scaleY) && void 0 !== _j ? _j : 1, to.scaleY = toScale, this.propKeys.push("scaleY")), this.from = from, this.to = to, this.props = to;
|
|
43212
43834
|
}
|
|
43213
43835
|
onUpdate(end, ratio, out) {
|
|
43214
|
-
|
|
43215
|
-
this.propKeys.forEach(key => {
|
|
43216
|
-
attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
43217
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
43836
|
+
applyStoryFrame(this.target, buildInterpolatedAttrs(this.propKeys, this.from, this.to, ratio));
|
|
43218
43837
|
}
|
|
43219
43838
|
}
|
|
43220
43839
|
class SpinOut extends ACustomAnimate {
|
|
@@ -43245,10 +43864,7 @@
|
|
|
43245
43864
|
this.propKeys = ["opacity", "baseOpacity", "angle", "scaleX", "scaleY"], this.from = from, this.to = to, this.props = to;
|
|
43246
43865
|
}
|
|
43247
43866
|
onUpdate(end, ratio, out) {
|
|
43248
|
-
|
|
43249
|
-
this.propKeys.forEach(key => {
|
|
43250
|
-
attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
43251
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
43867
|
+
applyStoryFrame(this.target, buildInterpolatedAttrs(this.propKeys, this.from, this.to, ratio));
|
|
43252
43868
|
}
|
|
43253
43869
|
}
|
|
43254
43870
|
class MoveScaleOut extends ACustomAnimate {
|
|
@@ -43333,20 +43949,20 @@
|
|
|
43333
43949
|
onUpdate(end, ratio, out) {
|
|
43334
43950
|
const angle = ratio * Math.PI * this.pulseCount,
|
|
43335
43951
|
pulseValue = Math.abs(Math.sin(angle)),
|
|
43336
|
-
|
|
43952
|
+
attrs = {};
|
|
43337
43953
|
if (this.useOpacity) {
|
|
43338
43954
|
const opacity = 1 + (this.pulseOpacity - 1) * pulseValue;
|
|
43339
|
-
this.useStroke && (
|
|
43955
|
+
this.useStroke && (attrs.strokeOpacity = (this.originalAttributes.strokeOpacity || 1) * opacity), this.useFill && (attrs.fillOpacity = (this.originalAttributes.fillOpacity || 1) * opacity);
|
|
43340
43956
|
}
|
|
43341
43957
|
if (this.useScale) {
|
|
43342
43958
|
const scale = 1 + (this.pulseScale - 1) * pulseValue;
|
|
43343
|
-
|
|
43959
|
+
attrs.scaleX = (this.originalAttributes.scaleX || 1) * scale, attrs.scaleY = (this.originalAttributes.scaleY || 1) * scale;
|
|
43344
43960
|
}
|
|
43345
|
-
this.useColor && this.pulseColor && this.applyColorPulse(
|
|
43961
|
+
this.useColor && this.pulseColor && this.applyColorPulse(attrs, pulseValue), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdateShapeAndBoundsTag(), this.target.addUpdatePositionTag();
|
|
43346
43962
|
}
|
|
43347
|
-
applyColorPulse(
|
|
43963
|
+
applyColorPulse(attrs, pulseValue) {
|
|
43348
43964
|
const colorRatio = this.pulseColorIntensity * pulseValue;
|
|
43349
|
-
this.useFill && this.originalFill && this.pulseColor && (
|
|
43965
|
+
this.useFill && this.originalFill && this.pulseColor && (attrs.fill = interpolateColor(this.originalFill, this.pulseColor, colorRatio, !0)), this.useStroke && this.originalStroke && this.pulseColor && (attrs.stroke = interpolateColor(this.originalStroke, this.pulseColor, colorRatio, !0));
|
|
43350
43966
|
}
|
|
43351
43967
|
onEnd() {
|
|
43352
43968
|
super.onEnd(), this.target.setAttributes(this.originalAttributes);
|
|
@@ -43361,52 +43977,51 @@
|
|
|
43361
43977
|
width: !0,
|
|
43362
43978
|
height: !0
|
|
43363
43979
|
};
|
|
43980
|
+
function includesChannel(channels, key) {
|
|
43981
|
+
for (let i = 0; i < channels.length; i++) if (channels[i] === key) return !0;
|
|
43982
|
+
return !1;
|
|
43983
|
+
}
|
|
43984
|
+
function filterExcludedChannels(diffAttrs, excludeChannels) {
|
|
43985
|
+
if (!(null == excludeChannels ? void 0 : excludeChannels.length)) return diffAttrs;
|
|
43986
|
+
const nextAttrs = {};
|
|
43987
|
+
for (const key in diffAttrs) Object.prototype.hasOwnProperty.call(diffAttrs, key) && !includesChannel(excludeChannels, key) && (nextAttrs[key] = diffAttrs[key]);
|
|
43988
|
+
return nextAttrs;
|
|
43989
|
+
}
|
|
43364
43990
|
class Update extends ACustomAnimate {
|
|
43365
43991
|
constructor(from, to, duration, easing, params) {
|
|
43366
|
-
super(from, to, duration, easing, params), this.clipPathSyncKeys = null, this.clipPathSyncParent = null, this.clipPathSyncChildIndex = -1, this.clipPathSyncDisabled = !1;
|
|
43992
|
+
super(from, to, duration, easing, params), this.updateFromAttrs = null, this.clipPathSyncKeys = null, this.clipPathSyncParent = null, this.clipPathSyncChildIndex = -1, this.clipPathSyncDisabled = !1;
|
|
43367
43993
|
}
|
|
43368
43994
|
onBind() {
|
|
43369
|
-
var _a
|
|
43995
|
+
var _a;
|
|
43370
43996
|
super.onBind();
|
|
43997
|
+
const targetContext = null !== (_a = this.target.context) && void 0 !== _a ? _a : {};
|
|
43371
43998
|
let {
|
|
43372
43999
|
diffAttrs = {}
|
|
43373
|
-
} =
|
|
44000
|
+
} = targetContext;
|
|
43374
44001
|
const {
|
|
43375
44002
|
options: options
|
|
43376
44003
|
} = this.params;
|
|
43377
|
-
diffAttrs =
|
|
43378
|
-
|
|
43379
|
-
|
|
44004
|
+
diffAttrs = filterExcludedChannels(diffAttrs, null == options ? void 0 : options.excludeChannels), this.props = diffAttrs;
|
|
44005
|
+
const consumeTransientFromAttrs = this.target.consumeTransientFromAttrsBeforePreventAnimate;
|
|
44006
|
+
this.updateFromAttrs = "function" == typeof consumeTransientFromAttrs ? consumeTransientFromAttrs.call(this.target, diffAttrs) : null, this.clipPathSyncKeys = Object.keys(diffAttrs).filter(key => clipPathGeometryAttrs[key]), this.clipPathSyncDisabled = !this.clipPathSyncKeys.length, this.syncParentClipPathToTarget();
|
|
43380
44007
|
}
|
|
43381
|
-
|
|
43382
|
-
|
|
43383
|
-
|
|
43384
|
-
|
|
43385
|
-
|
|
43386
|
-
finalAttribute = "function" == typeof target.getFinalAttribute ? target.getFinalAttribute() : target.finalAttribute,
|
|
43387
|
-
commitAttrs = {};
|
|
43388
|
-
return Object.keys(this.props).forEach(key => {
|
|
43389
|
-
contextFinalAttrs && Object.prototype.hasOwnProperty.call(contextFinalAttrs, key) ? commitAttrs[key] = contextFinalAttrs[key] : finalAttribute && Object.prototype.hasOwnProperty.call(finalAttribute, key) ? commitAttrs[key] = finalAttribute[key] : this.animate.validAttr(key) && (commitAttrs[key] = this.props[key]);
|
|
43390
|
-
}), Object.keys(commitAttrs).length ? commitAttrs : null;
|
|
44008
|
+
trySyncStartProps() {
|
|
44009
|
+
const updateFromAttrs = this.updateFromAttrs;
|
|
44010
|
+
this.propKeys.forEach(key => {
|
|
44011
|
+
this.fromProps[key] = updateFromAttrs && Object.prototype.hasOwnProperty.call(updateFromAttrs, key) ? updateFromAttrs[key] : this.animate.target.getComputedAttribute(key);
|
|
44012
|
+
});
|
|
43391
44013
|
}
|
|
43392
44014
|
onEnd(cb) {
|
|
43393
|
-
|
|
43394
|
-
|
|
43395
|
-
commitAttrs && this.target.setAttributes(commitAttrs, !1, {
|
|
43396
|
-
type: AttributeUpdateType.ANIMATE_END
|
|
43397
|
-
}), this.syncParentClipPathToTarget(), super.onEnd();
|
|
44015
|
+
var _a;
|
|
44016
|
+
cb ? super.onEnd(cb) : (this.props && commitAnimationStaticAttrs(this.target, null !== (_a = this.propKeys) && void 0 !== _a ? _a : Object.keys(this.props), this.animate, this.props), this.syncParentClipPathToTarget(), super.onEnd());
|
|
43398
44017
|
}
|
|
43399
44018
|
update(end, ratio, out) {
|
|
43400
44019
|
if (this.onStart(), !this.props || !this.propKeys) return;
|
|
43401
44020
|
const easedRatio = this.easing(ratio);
|
|
43402
|
-
this.
|
|
43403
|
-
if (!this.animate.validAttr(this.propKeys[index])) return;
|
|
43404
|
-
const key = this.propKeys[index];
|
|
43405
|
-
func(key, this.fromProps[key], this.props[key], easedRatio, this, this.target);
|
|
43406
|
-
}), this.syncParentClipPathToTarget(), this.onUpdate(end, easedRatio, out);
|
|
44021
|
+
this.runInterpolateUpdate(this.fromProps, this.props, easedRatio), this.syncParentClipPathToTarget(), this.onUpdate(end, easedRatio, out);
|
|
43407
44022
|
}
|
|
43408
44023
|
syncParentClipPathToTarget() {
|
|
43409
|
-
var _a, _b;
|
|
44024
|
+
var _a, _b, _c, _d;
|
|
43410
44025
|
if (this.clipPathSyncDisabled) return;
|
|
43411
44026
|
const target = this.target,
|
|
43412
44027
|
parent = target.parent,
|
|
@@ -43417,7 +44032,7 @@
|
|
|
43417
44032
|
const clipGraphic = path[childIndex];
|
|
43418
44033
|
if (!(null == clipGraphic ? void 0 : clipGraphic.attribute) || clipGraphic.type !== target.type || !this.isClipPathStaticTarget(clipGraphic)) return;
|
|
43419
44034
|
const syncAttrs = this.buildClipPathTransientAttrs(clipGraphic);
|
|
43420
|
-
syncAttrs &&
|
|
44035
|
+
syncAttrs && (applyAnimationFrameAttributes(clipGraphic, syncAttrs), null === (_c = clipGraphic.addUpdatePositionTag) || void 0 === _c || _c.call(clipGraphic), null === (_d = clipGraphic.addUpdateShapeAndBoundsTag) || void 0 === _d || _d.call(clipGraphic));
|
|
43421
44036
|
}
|
|
43422
44037
|
getClipPathSyncChildIndex(parent) {
|
|
43423
44038
|
var _a;
|
|
@@ -43561,10 +44176,10 @@
|
|
|
43561
44176
|
super(from, to, duration, easing, params);
|
|
43562
44177
|
}
|
|
43563
44178
|
onUpdate(end, ratio, out) {
|
|
43564
|
-
const
|
|
44179
|
+
const attrs = {};
|
|
43565
44180
|
this.propKeys.forEach(key => {
|
|
43566
|
-
|
|
43567
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
44181
|
+
attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
44182
|
+
}), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
43568
44183
|
}
|
|
43569
44184
|
}
|
|
43570
44185
|
class MoveIn extends MoveBase {
|
|
@@ -43620,10 +44235,10 @@
|
|
|
43620
44235
|
super(from, to, duration, easing, params);
|
|
43621
44236
|
}
|
|
43622
44237
|
onUpdate(end, ratio, out) {
|
|
43623
|
-
const
|
|
44238
|
+
const attrs = {};
|
|
43624
44239
|
this.propKeys.forEach(key => {
|
|
43625
|
-
|
|
43626
|
-
}), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
44240
|
+
attrs[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
|
|
44241
|
+
}), applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag();
|
|
43627
44242
|
}
|
|
43628
44243
|
}
|
|
43629
44244
|
class RotateIn extends RotateBase {
|
|
@@ -43666,7 +44281,7 @@
|
|
|
43666
44281
|
pos: pos,
|
|
43667
44282
|
angle: angle
|
|
43668
44283
|
} = this.path.getAttrAt(at);
|
|
43669
|
-
attrs.x = pos.x, attrs.y = pos.y, this.changeAngle && (attrs.angle = angle + this.initAngle), this.cb && this.cb(this.from, this.to, ratio, this.target), end && this.commitOnEnd ? this.target.setAttributes(attrs) :
|
|
44284
|
+
attrs.x = pos.x, attrs.y = pos.y, this.changeAngle && (attrs.angle = angle + this.initAngle), this.cb && this.cb(this.from, this.to, ratio, this.target), end && this.commitOnEnd ? this.target.setAttributes(attrs) : (applyAnimationFrameAttributes(this.target, attrs), this.target.addUpdatePositionTag(), this.target.addUpdateShapeAndBoundsTag());
|
|
43670
44285
|
}
|
|
43671
44286
|
}
|
|
43672
44287
|
|
|
@@ -45185,7 +45800,10 @@
|
|
|
45185
45800
|
}), this.completeBind(animator);
|
|
45186
45801
|
}
|
|
45187
45802
|
deleteSelfAttr(key) {
|
|
45188
|
-
|
|
45803
|
+
this.deleteSelfAttrs([key]);
|
|
45804
|
+
}
|
|
45805
|
+
deleteSelfAttrs(keys) {
|
|
45806
|
+
super.deleteSelfAttrs(keys), this._animator.deleteSelfAttrs(keys);
|
|
45189
45807
|
}
|
|
45190
45808
|
tryPreventConflict() {}
|
|
45191
45809
|
}
|
|
@@ -45731,8 +46349,8 @@
|
|
|
45731
46349
|
const orient = this.attribute.orient;
|
|
45732
46350
|
return "left" === orient || "right" === orient ? this.attribute.width ? this.attribute.width : (this.attribute.maxWidth && (offset = Math.min(offset, this.attribute.maxWidth)), this.attribute.minWidth && (offset = Math.max(offset, this.attribute.minWidth)), offset) : offset;
|
|
45733
46351
|
}
|
|
45734
|
-
release() {
|
|
45735
|
-
super.release(), this._breaks = null;
|
|
46352
|
+
release(all) {
|
|
46353
|
+
super.release(all), this._breaks = null;
|
|
45736
46354
|
}
|
|
45737
46355
|
}
|
|
45738
46356
|
LineAxis.defaultAttributes = DEFAULT_AXIS_THEME, mixin(LineAxis, LineAxisMixin);
|
|
@@ -48105,6 +48723,14 @@
|
|
|
48105
48723
|
}
|
|
48106
48724
|
return t;
|
|
48107
48725
|
};
|
|
48726
|
+
function cloneAttributeSnapshot(value) {
|
|
48727
|
+
if (!isObject$2(value) || isArray$1(value)) return value;
|
|
48728
|
+
const snapshot = {};
|
|
48729
|
+
return Object.keys(value).forEach(key => {
|
|
48730
|
+
const nextValue = value[key];
|
|
48731
|
+
snapshot[key] = isObject$2(nextValue) && !isArray$1(nextValue) ? cloneAttributeSnapshot(nextValue) : nextValue;
|
|
48732
|
+
}), snapshot;
|
|
48733
|
+
}
|
|
48108
48734
|
loadLabelComponent();
|
|
48109
48735
|
class LabelBase extends AnimateComponent {
|
|
48110
48736
|
setBitmap(bitmap) {
|
|
@@ -48169,11 +48795,56 @@
|
|
|
48169
48795
|
return baseMark && baseMark.getAttributes(!0).fill && lineGraphic.setAttribute("stroke", baseMark.getAttributes(!0).fill), this.attribute.line && !isEmpty(this.attribute.line.style) && lineGraphic.setAttributes(this.attribute.line.style), this._setStatesOfLabelLine(lineGraphic), lineGraphic;
|
|
48170
48796
|
}
|
|
48171
48797
|
}
|
|
48798
|
+
_finalizeExitRelease() {
|
|
48799
|
+
var _a, _b, _c, _d;
|
|
48800
|
+
const state = this._exitReleaseState;
|
|
48801
|
+
if (null == state ? void 0 : state.finalized) return;
|
|
48802
|
+
state && (state.finalized = !0);
|
|
48803
|
+
const parent = this.parent,
|
|
48804
|
+
removeFromParent = !!(null == state ? void 0 : state.removeFromParent),
|
|
48805
|
+
callbacks = null !== (_a = null == state ? void 0 : state.onComplete) && void 0 !== _a ? _a : [];
|
|
48806
|
+
this._exitReleaseState = void 0, this._graphicToText = new Map(), null === (_b = this._idToGraphic) || void 0 === _b || _b.clear(), null === (_c = this._idToPoint) || void 0 === _c || _c.clear(), this._baseMarks = void 0, this.removeAllChild(!0), super.release(!0), removeFromParent && (null === (_d = null != parent ? parent : this.parent) || void 0 === _d || _d.removeChild(this)), runExitReleaseCallbacks(callbacks);
|
|
48807
|
+
}
|
|
48808
|
+
_runExitAnimationBeforeRelease(options = {}) {
|
|
48809
|
+
var _a, _b;
|
|
48810
|
+
if (this._exitReleaseState && !this._exitReleaseState.finalized) return this._exitReleaseState.removeFromParent = this._exitReleaseState.removeFromParent || !!options.removeFromParent, appendExitReleaseCallback(this._exitReleaseState, options.onComplete), !0;
|
|
48811
|
+
if (!this.stage || !1 === this.attribute.animation || !1 === this.attribute.animationExit || !(null === (_a = this._graphicToText) || void 0 === _a ? void 0 : _a.size)) return !1;
|
|
48812
|
+
if (this._prepareAnimate(DefaultLabelAnimation), !(null === (_b = this._animationConfig) || void 0 === _b ? void 0 : _b.exit)) return !1;
|
|
48813
|
+
const exitTargets = new Set();
|
|
48814
|
+
if (this._graphicToText.forEach(label => {
|
|
48815
|
+
(null == label ? void 0 : label.text) && exitTargets.add(label.text), (null == label ? void 0 : label.labelLine) && exitTargets.add(label.labelLine);
|
|
48816
|
+
}), !exitTargets.size) return !1;
|
|
48817
|
+
const existingAnimates = collectTrackedAnimates(this);
|
|
48818
|
+
exitTargets.forEach(target => {
|
|
48819
|
+
var _a;
|
|
48820
|
+
target.applyAnimationState(["exit"], [{
|
|
48821
|
+
name: "exit",
|
|
48822
|
+
animation: Object.assign(Object.assign({}, this._animationConfig.exit), {
|
|
48823
|
+
type: null !== (_a = this._animationConfig.exit.type) && void 0 !== _a ? _a : "fadeOut",
|
|
48824
|
+
selfOnly: !0
|
|
48825
|
+
})
|
|
48826
|
+
}]);
|
|
48827
|
+
});
|
|
48828
|
+
const exitAnimates = collectTrackedAnimates(this).filter(animate => !existingAnimates.includes(animate));
|
|
48829
|
+
if (!exitAnimates.length) return !1;
|
|
48830
|
+
this.setAttribute("childrenPickable", !1), this.releaseStatus = "willRelease";
|
|
48831
|
+
const pendingAnimates = new Set(exitAnimates);
|
|
48832
|
+
return this._exitReleaseState = {
|
|
48833
|
+
pendingAnimates: pendingAnimates,
|
|
48834
|
+
finalized: !1,
|
|
48835
|
+
removeFromParent: !!options.removeFromParent,
|
|
48836
|
+
onComplete: options.onComplete ? [options.onComplete] : []
|
|
48837
|
+
}, bindExitReleaseAnimates(exitAnimates, () => this._exitReleaseState, () => this._finalizeExitRelease()), !0;
|
|
48838
|
+
}
|
|
48839
|
+
releaseWithExitAnimation(options = {}) {
|
|
48840
|
+
return "released" !== this.releaseStatus && this._runExitAnimationBeforeRelease(options);
|
|
48841
|
+
}
|
|
48172
48842
|
render() {
|
|
48843
|
+
if (this._exitReleaseState) return;
|
|
48173
48844
|
if (this._prepare(), isNil$1(this._idToGraphic) || this._isCollectionBase && isNil$1(this._idToPoint)) return;
|
|
48174
48845
|
const markAttributeList = [];
|
|
48175
48846
|
!1 !== this._enableAnimation && this._baseMarks.forEach(mark => {
|
|
48176
|
-
markAttributeList.push(mark.attribute), mark.initAttributes(mark.getAttributes(!0));
|
|
48847
|
+
markAttributeList.push(cloneAttributeSnapshot(mark.attribute)), mark.initAttributes(mark.getAttributes(!0));
|
|
48177
48848
|
});
|
|
48178
48849
|
const {
|
|
48179
48850
|
overlap: overlap,
|
|
@@ -48739,6 +49410,10 @@
|
|
|
48739
49410
|
_canPlaceInside(textBound, shapeBound) {
|
|
48740
49411
|
return !(!textBound || !shapeBound) && shapeBound.encloses(textBound);
|
|
48741
49412
|
}
|
|
49413
|
+
release(all) {
|
|
49414
|
+
var _a, _b;
|
|
49415
|
+
this._exitReleaseState ? this._finalizeExitRelease() : (all && this.removeAllChild(!0), super.release(all), this._graphicToText = new Map(), null === (_a = this._idToGraphic) || void 0 === _a || _a.clear(), null === (_b = this._idToPoint) || void 0 === _b || _b.clear(), this._baseMarks = void 0);
|
|
49416
|
+
}
|
|
48742
49417
|
setLocation(point) {
|
|
48743
49418
|
this.translateTo(point.x, point.y);
|
|
48744
49419
|
}
|
|
@@ -49508,6 +50183,7 @@
|
|
|
49508
50183
|
}
|
|
49509
50184
|
render() {
|
|
49510
50185
|
var _a;
|
|
50186
|
+
if (this._exitReleaseState) return;
|
|
49511
50187
|
const {
|
|
49512
50188
|
dataLabels: dataLabels,
|
|
49513
50189
|
size: size
|
|
@@ -49542,6 +50218,47 @@
|
|
|
49542
50218
|
currentComponentMap.get(key) || this.removeChild(cp);
|
|
49543
50219
|
}), this._componentMap = currentComponentMap;
|
|
49544
50220
|
}
|
|
50221
|
+
_finalizeExitRelease() {
|
|
50222
|
+
var _a, _b, _c;
|
|
50223
|
+
const state = this._exitReleaseState;
|
|
50224
|
+
if (null == state ? void 0 : state.finalized) return;
|
|
50225
|
+
state && (state.finalized = !0);
|
|
50226
|
+
const parent = this.parent,
|
|
50227
|
+
removeFromParent = !!(null == state ? void 0 : state.removeFromParent),
|
|
50228
|
+
callbacks = null !== (_a = null == state ? void 0 : state.onComplete) && void 0 !== _a ? _a : [];
|
|
50229
|
+
this._exitReleaseState = void 0, null === (_b = this._componentMap) || void 0 === _b || _b.clear(), this.removeAllChild(!0), super.release(!0), removeFromParent && (null === (_c = null != parent ? parent : this.parent) || void 0 === _c || _c.removeChild(this)), runExitReleaseCallbacks(callbacks);
|
|
50230
|
+
}
|
|
50231
|
+
releaseWithExitAnimation(options = {}) {
|
|
50232
|
+
var _a;
|
|
50233
|
+
if ("released" === this.releaseStatus) return !1;
|
|
50234
|
+
if (this._exitReleaseState && !this._exitReleaseState.finalized) return this._exitReleaseState.removeFromParent = this._exitReleaseState.removeFromParent || !!options.removeFromParent, appendExitReleaseCallback(this._exitReleaseState, options.onComplete), !0;
|
|
50235
|
+
if (!this.stage || !(null === (_a = this._componentMap) || void 0 === _a ? void 0 : _a.size)) return !1;
|
|
50236
|
+
const state = {
|
|
50237
|
+
pendingCount: 0,
|
|
50238
|
+
finalized: !1,
|
|
50239
|
+
removeFromParent: !!options.removeFromParent,
|
|
50240
|
+
onComplete: options.onComplete ? [options.onComplete] : []
|
|
50241
|
+
},
|
|
50242
|
+
exitingComponents = [],
|
|
50243
|
+
fallbackComponents = [];
|
|
50244
|
+
let initializing = !0;
|
|
50245
|
+
const finish = () => {
|
|
50246
|
+
state.finalized || (state.pendingCount -= 1, state.pendingCount <= 0 && !initializing && this._finalizeExitRelease());
|
|
50247
|
+
};
|
|
50248
|
+
return this._exitReleaseState = state, this._componentMap.forEach(component => {
|
|
50249
|
+
state.pendingCount += 1;
|
|
50250
|
+
component.releaseWithExitAnimation({
|
|
50251
|
+
removeFromParent: !1,
|
|
50252
|
+
onComplete: finish
|
|
50253
|
+
}) ? exitingComponents.push(component) : (state.pendingCount -= 1, fallbackComponents.push(component));
|
|
50254
|
+
}), exitingComponents.length ? (fallbackComponents.forEach(component => {
|
|
50255
|
+
component.release(!0), this.removeChild(component);
|
|
50256
|
+
}), this.setAttribute("childrenPickable", !1), this.releaseStatus = "willRelease", initializing = !1, state.pendingCount <= 0 && this._finalizeExitRelease(), !0) : (this._exitReleaseState = void 0, !1);
|
|
50257
|
+
}
|
|
50258
|
+
release(all) {
|
|
50259
|
+
var _a;
|
|
50260
|
+
this._exitReleaseState ? this._finalizeExitRelease() : (all && this.removeAllChild(!0), super.release(all), null === (_a = this._componentMap) || void 0 === _a || _a.clear());
|
|
50261
|
+
}
|
|
49545
50262
|
setLocation(point) {
|
|
49546
50263
|
this.translateTo(point.x, point.y);
|
|
49547
50264
|
}
|
|
@@ -51175,14 +51892,51 @@
|
|
|
51175
51892
|
y: clipInRange ? -(null !== (_b = limitRect.y) && void 0 !== _b ? _b : 0) : 0
|
|
51176
51893
|
});
|
|
51177
51894
|
}
|
|
51178
|
-
|
|
51895
|
+
_finalizeExitRelease() {
|
|
51896
|
+
var _a, _b;
|
|
51897
|
+
const state = this._exitReleaseState;
|
|
51898
|
+
if (null == state ? void 0 : state.finalized) return;
|
|
51899
|
+
state && (state.finalized = !0);
|
|
51900
|
+
const parent = this.parent,
|
|
51901
|
+
removeFromParent = !!(null == state ? void 0 : state.removeFromParent),
|
|
51902
|
+
releaseSelf = !!(null == state ? void 0 : state.releaseSelf),
|
|
51903
|
+
callbacks = null !== (_a = null == state ? void 0 : state.onComplete) && void 0 !== _a ? _a : [];
|
|
51904
|
+
this._exitReleaseState = void 0, this._releaseEvent(), this._container = null, this._containerClip = null, this.removeAllChild(!0), releaseSelf && (super.release(!0), removeFromParent && (null === (_b = null != parent ? parent : this.parent) || void 0 === _b || _b.removeChild(this))), runExitReleaseCallbacks(callbacks);
|
|
51905
|
+
}
|
|
51906
|
+
_runExitAnimationBeforeCleanup(options = {}) {
|
|
51179
51907
|
var _a;
|
|
51908
|
+
const releaseSelf = !!options.releaseSelf;
|
|
51909
|
+
if (this._exitReleaseState && !this._exitReleaseState.finalized) return this._exitReleaseState.releaseSelf = this._exitReleaseState.releaseSelf || releaseSelf, this._exitReleaseState.removeFromParent = this._exitReleaseState.removeFromParent || !!options.removeFromParent, appendExitReleaseCallback(this._exitReleaseState, options.onComplete), !0;
|
|
51910
|
+
if (!this.stage || !1 === this.attribute.animation || !1 === this.attribute.animationExit || !this._container) return !1;
|
|
51911
|
+
if (this.transAnimationConfig(), !(null === (_a = this._animationConfig) || void 0 === _a ? void 0 : _a.exit)) return !1;
|
|
51912
|
+
const existingAnimates = collectTrackedAnimates(this);
|
|
51913
|
+
this.markerAnimate("exit");
|
|
51914
|
+
const exitAnimates = collectTrackedAnimates(this).filter(animate => !existingAnimates.includes(animate));
|
|
51915
|
+
if (!exitAnimates.length) return !1;
|
|
51916
|
+
this._releaseEvent(), this.setAttribute("childrenPickable", !1), releaseSelf && (this.releaseStatus = "willRelease");
|
|
51917
|
+
const pendingAnimates = new Set(exitAnimates);
|
|
51918
|
+
return this._exitReleaseState = {
|
|
51919
|
+
pendingAnimates: pendingAnimates,
|
|
51920
|
+
finalized: !1,
|
|
51921
|
+
releaseSelf: releaseSelf,
|
|
51922
|
+
removeFromParent: !!options.removeFromParent,
|
|
51923
|
+
onComplete: options.onComplete ? [options.onComplete] : []
|
|
51924
|
+
}, bindExitReleaseAnimates(exitAnimates, () => this._exitReleaseState, () => this._finalizeExitRelease()), !0;
|
|
51925
|
+
}
|
|
51926
|
+
releaseWithExitAnimation(options = {}) {
|
|
51927
|
+
return "released" !== this.releaseStatus && this._runExitAnimationBeforeCleanup(Object.assign(Object.assign({}, options), {
|
|
51928
|
+
releaseSelf: !0
|
|
51929
|
+
}));
|
|
51930
|
+
}
|
|
51931
|
+
render() {
|
|
51932
|
+
var _a, _b;
|
|
51933
|
+
if (null === (_a = this._exitReleaseState) || void 0 === _a ? void 0 : _a.releaseSelf) return;
|
|
51180
51934
|
this.transAnimationConfig(), this.setAttribute("pickable", !1);
|
|
51181
|
-
const markerVisible = null === (
|
|
51182
|
-
!1 === this.attribute.interactive && this.setAttribute("childrenPickable", !1), markerVisible && this.isValidPoints() ? this._container ? (this._updateContainer(), this.updateMarker(), this.markerAnimate("update")) : (this._initContainer(), this.initMarker(this._container), this.markerAnimate("enter")) :
|
|
51935
|
+
const markerVisible = null === (_b = this.attribute.visible) || void 0 === _b || _b;
|
|
51936
|
+
!1 === this.attribute.interactive && this.setAttribute("childrenPickable", !1), markerVisible && this.isValidPoints() ? (this._exitReleaseState && this._finalizeExitRelease(), this._container ? (this._updateContainer(), this.updateMarker(), this.markerAnimate("update")) : (this._initContainer(), this.initMarker(this._container), this.markerAnimate("enter"))) : this._runExitAnimationBeforeCleanup() || (this._container = null, this._containerClip = null, this.removeAllChild(!0)), this._releaseEvent(), this._bindEvent();
|
|
51183
51937
|
}
|
|
51184
|
-
release() {
|
|
51185
|
-
this.markerAnimate("exit"), super.release(), this._releaseEvent(), this._container = null;
|
|
51938
|
+
release(all) {
|
|
51939
|
+
this._exitReleaseState ? this._finalizeExitRelease() : (!1 !== this.attribute.animation && !1 !== this.attribute.animationExit && this.markerAnimate("exit"), all && this.removeAllChild(!0), super.release(all), this._releaseEvent(), this._container = null, this._containerClip = null);
|
|
51186
51940
|
}
|
|
51187
51941
|
}
|
|
51188
51942
|
|
|
@@ -53445,7 +54199,10 @@
|
|
|
53445
54199
|
const innerGroupHeight = innerGroupBounds.height(),
|
|
53446
54200
|
itemGroupWidth = isValid$1(this.attribute.item.width) ? this.attribute.item.width : innerGroupWidth + parsedPadding[1] + parsedPadding[3],
|
|
53447
54201
|
itemGroupHeight = this._itemHeightByUser || innerGroupHeight + parsedPadding[0] + parsedPadding[2];
|
|
53448
|
-
return itemGroup.
|
|
54202
|
+
return itemGroup.setAttributes({
|
|
54203
|
+
width: itemGroupWidth,
|
|
54204
|
+
height: itemGroupHeight
|
|
54205
|
+
}), focusShape && focusShape.setAttribute("visible", !1), innerGroup.translateTo(-innerGroupBounds.x1 + parsedPadding[3], -innerGroupBounds.y1 + parsedPadding[0]), itemGroup;
|
|
53449
54206
|
}
|
|
53450
54207
|
_createPager(compStyle) {
|
|
53451
54208
|
var _a, _b;
|
|
@@ -55082,7 +55839,11 @@
|
|
|
55082
55839
|
subTextBoundsWidth = this._subTitle ? this._subTitle.AABBBounds.width() : 0;
|
|
55083
55840
|
let totalWidth = Math.max(mainTextBoundsWidth, subTextBoundsWidth),
|
|
55084
55841
|
totalHeight = mainTextBoundsHeight + (null !== (_q = subtextStyle.height) && void 0 !== _q ? _q : subTextBoundsHeight);
|
|
55085
|
-
if (isValid$1(width) && (totalWidth = width), isValid$1(height) && (totalHeight = height), isValid$1(minWidth) && totalWidth < minWidth && (totalWidth = minWidth), isValid$1(maxWidth) && totalWidth > maxWidth && (totalWidth = maxWidth), isValid$1(minHeight) && totalHeight < minHeight && (totalHeight = minHeight), isValid$1(maxHeight) && totalHeight > maxHeight && (totalHeight = maxHeight), group.
|
|
55842
|
+
if (isValid$1(width) && (totalWidth = width), isValid$1(height) && (totalHeight = height), isValid$1(minWidth) && totalWidth < minWidth && (totalWidth = minWidth), isValid$1(maxWidth) && totalWidth > maxWidth && (totalWidth = maxWidth), isValid$1(minHeight) && totalHeight < minHeight && (totalHeight = minHeight), isValid$1(maxHeight) && totalHeight > maxHeight && (totalHeight = maxHeight), group.setAttributes({
|
|
55843
|
+
width: totalWidth,
|
|
55844
|
+
height: totalHeight,
|
|
55845
|
+
boundsPadding: parsedPadding
|
|
55846
|
+
}), this._mainTitle) {
|
|
55086
55847
|
if (isValid$1(align) || isValid$1(textStyle.align)) {
|
|
55087
55848
|
const mainTitleAlign = textStyle.align ? textStyle.align : align,
|
|
55088
55849
|
mainTitleWidth = null !== (_r = textStyle.width) && void 0 !== _r ? _r : totalWidth;
|
|
@@ -60315,7 +61076,7 @@
|
|
|
60315
61076
|
stage.release();
|
|
60316
61077
|
}
|
|
60317
61078
|
else if (rootGroup) {
|
|
60318
|
-
stage.defaultLayer.removeChild(rootGroup);
|
|
61079
|
+
stage.defaultLayer.removeChild(rootGroup, true);
|
|
60319
61080
|
rootGroup.release();
|
|
60320
61081
|
}
|
|
60321
61082
|
}
|
|
@@ -60333,7 +61094,7 @@
|
|
|
60333
61094
|
if (removeGraphicItems) {
|
|
60334
61095
|
this._rootMarks.forEach(g => {
|
|
60335
61096
|
traverseGroupMark(g, m => {
|
|
60336
|
-
m.removeProduct();
|
|
61097
|
+
m.removeProduct(true);
|
|
60337
61098
|
}, null, true);
|
|
60338
61099
|
});
|
|
60339
61100
|
}
|
|
@@ -60508,6 +61269,71 @@
|
|
|
60508
61269
|
height
|
|
60509
61270
|
};
|
|
60510
61271
|
}
|
|
61272
|
+
const UPDATE_SPEC_EFFECT_KEYS = [
|
|
61273
|
+
'remake',
|
|
61274
|
+
'compile',
|
|
61275
|
+
'render',
|
|
61276
|
+
'layout',
|
|
61277
|
+
'data',
|
|
61278
|
+
'scaleDomain',
|
|
61279
|
+
'series',
|
|
61280
|
+
'component',
|
|
61281
|
+
'animation',
|
|
61282
|
+
'localOnly'
|
|
61283
|
+
];
|
|
61284
|
+
function mergeUpdateSpecEffects(target, ...sources) {
|
|
61285
|
+
sources.forEach(source => {
|
|
61286
|
+
const sourceEffects = source === null || source === void 0 ? void 0 : source.effects;
|
|
61287
|
+
if (!sourceEffects) {
|
|
61288
|
+
return;
|
|
61289
|
+
}
|
|
61290
|
+
if (!target.effects) {
|
|
61291
|
+
target.effects = {};
|
|
61292
|
+
}
|
|
61293
|
+
const targetEffects = target.effects;
|
|
61294
|
+
UPDATE_SPEC_EFFECT_KEYS.forEach(key => {
|
|
61295
|
+
if (sourceEffects[key]) {
|
|
61296
|
+
targetEffects[key] = targetEffects[key] || sourceEffects[key];
|
|
61297
|
+
}
|
|
61298
|
+
});
|
|
61299
|
+
});
|
|
61300
|
+
}
|
|
61301
|
+
function isUpdateSpecResultLocalOnly(result) {
|
|
61302
|
+
const effects = result.effects;
|
|
61303
|
+
return (!!(effects === null || effects === void 0 ? void 0 : effects.localOnly) &&
|
|
61304
|
+
!result.reMake &&
|
|
61305
|
+
!result.reCompile &&
|
|
61306
|
+
!result.reRender &&
|
|
61307
|
+
!result.reSize &&
|
|
61308
|
+
!effects.remake &&
|
|
61309
|
+
!effects.compile &&
|
|
61310
|
+
!effects.render &&
|
|
61311
|
+
!effects.layout &&
|
|
61312
|
+
!effects.data &&
|
|
61313
|
+
!effects.scaleDomain &&
|
|
61314
|
+
!effects.series &&
|
|
61315
|
+
!result.reTransformSpec &&
|
|
61316
|
+
!result.reAnimate &&
|
|
61317
|
+
!result.changeTheme &&
|
|
61318
|
+
!result.changeBackground);
|
|
61319
|
+
}
|
|
61320
|
+
function isUpdateSpecResultComponentOnly(result) {
|
|
61321
|
+
const effects = result.effects;
|
|
61322
|
+
return (!!(effects === null || effects === void 0 ? void 0 : effects.component) &&
|
|
61323
|
+
!result.reMake &&
|
|
61324
|
+
!result.reCompile &&
|
|
61325
|
+
!result.reSize &&
|
|
61326
|
+
!effects.remake &&
|
|
61327
|
+
!effects.compile &&
|
|
61328
|
+
!effects.data &&
|
|
61329
|
+
!effects.scaleDomain &&
|
|
61330
|
+
!effects.series &&
|
|
61331
|
+
!effects.animation &&
|
|
61332
|
+
!result.reTransformSpec &&
|
|
61333
|
+
!result.reAnimate &&
|
|
61334
|
+
!result.changeTheme &&
|
|
61335
|
+
!result.changeBackground);
|
|
61336
|
+
}
|
|
60511
61337
|
function mergeUpdateResult(target, ...sources) {
|
|
60512
61338
|
const merge = (key) => sources.reduce((value, cur) => value || (cur === null || cur === void 0 ? void 0 : cur[key]), target[key]);
|
|
60513
61339
|
Object.assign(target, {
|
|
@@ -60520,6 +61346,7 @@
|
|
|
60520
61346
|
changeTheme: merge('changeTheme'),
|
|
60521
61347
|
changeBackground: merge('changeBackground')
|
|
60522
61348
|
});
|
|
61349
|
+
mergeUpdateSpecEffects(target, ...sources);
|
|
60523
61350
|
return target;
|
|
60524
61351
|
}
|
|
60525
61352
|
function getTrimPaddingConfig(chartType, spec) {
|
|
@@ -62734,7 +63561,7 @@
|
|
|
62734
63561
|
this._data = null;
|
|
62735
63562
|
this._data = dataView;
|
|
62736
63563
|
}
|
|
62737
|
-
removeProduct() {
|
|
63564
|
+
removeProduct(_releaseDetach) {
|
|
62738
63565
|
this._product = null;
|
|
62739
63566
|
this._prevProduct = null;
|
|
62740
63567
|
this._compiledProductId = null;
|
|
@@ -62908,6 +63735,34 @@
|
|
|
62908
63735
|
};
|
|
62909
63736
|
|
|
62910
63737
|
const normalizeStates = (states) => (Array.isArray(states) ? states : states ? [states] : []);
|
|
63738
|
+
const isSameStates = (currentStates, nextStates) => {
|
|
63739
|
+
const current = currentStates !== null && currentStates !== void 0 ? currentStates : [];
|
|
63740
|
+
if (current.length !== nextStates.length) {
|
|
63741
|
+
return false;
|
|
63742
|
+
}
|
|
63743
|
+
return current.every((stateName, index) => stateName === nextStates[index]);
|
|
63744
|
+
};
|
|
63745
|
+
const setGraphicStates = (graphic, nextStates, hasAnimation) => {
|
|
63746
|
+
var _a;
|
|
63747
|
+
if (graphic.setStates) {
|
|
63748
|
+
graphic.setStates(nextStates, {
|
|
63749
|
+
animate: hasAnimation,
|
|
63750
|
+
animateSameStatePatchChange: true
|
|
63751
|
+
});
|
|
63752
|
+
return;
|
|
63753
|
+
}
|
|
63754
|
+
const normalizedNextStates = nextStates !== null && nextStates !== void 0 ? nextStates : [];
|
|
63755
|
+
if (isSameStates(graphic.currentStates, normalizedNextStates)) {
|
|
63756
|
+
(_a = graphic.invalidateResolver) === null || _a === void 0 ? void 0 : _a.call(graphic);
|
|
63757
|
+
return;
|
|
63758
|
+
}
|
|
63759
|
+
if (normalizedNextStates.length) {
|
|
63760
|
+
graphic.useStates(normalizedNextStates, hasAnimation);
|
|
63761
|
+
}
|
|
63762
|
+
else {
|
|
63763
|
+
graphic.clearStates(hasAnimation);
|
|
63764
|
+
}
|
|
63765
|
+
};
|
|
62911
63766
|
const addGraphicState = (graphic, state, keepCurrentStates = true, hasAnimation) => {
|
|
62912
63767
|
var _a;
|
|
62913
63768
|
if (!state) {
|
|
@@ -62915,7 +63770,7 @@
|
|
|
62915
63770
|
}
|
|
62916
63771
|
const currentStates = keepCurrentStates ? (_a = graphic.currentStates) !== null && _a !== void 0 ? _a : [] : [];
|
|
62917
63772
|
const nextStates = keepCurrentStates ? Array.from(new Set([...currentStates, state])) : [state];
|
|
62918
|
-
graphic
|
|
63773
|
+
setGraphicStates(graphic, nextStates, hasAnimation);
|
|
62919
63774
|
};
|
|
62920
63775
|
const removeGraphicState = (graphic, state, hasAnimation) => {
|
|
62921
63776
|
var _a;
|
|
@@ -62925,9 +63780,10 @@
|
|
|
62925
63780
|
}
|
|
62926
63781
|
const currentStates = ((_a = graphic.currentStates) !== null && _a !== void 0 ? _a : []);
|
|
62927
63782
|
const nextStates = currentStates.filter((stateName) => !states.includes(stateName));
|
|
62928
|
-
graphic
|
|
63783
|
+
setGraphicStates(graphic, nextStates, hasAnimation);
|
|
62929
63784
|
};
|
|
62930
63785
|
|
|
63786
|
+
const statesClearedBeforeReInitKey = Symbol('statesClearedBeforeReInit');
|
|
62931
63787
|
class BaseMark extends GrammarItem {
|
|
62932
63788
|
commit(render, recursion) {
|
|
62933
63789
|
if (recursion && this.getMarks().length > 0) {
|
|
@@ -63133,9 +63989,9 @@
|
|
|
63133
63989
|
}
|
|
63134
63990
|
resumeAnimationByState(state) {
|
|
63135
63991
|
}
|
|
63136
|
-
removeProduct() {
|
|
63992
|
+
removeProduct(releaseDetach) {
|
|
63137
63993
|
if (this._product && this._product.parent) {
|
|
63138
|
-
this._product.parent.removeChild(this._product);
|
|
63994
|
+
this._product.parent.removeChild(this._product, releaseDetach);
|
|
63139
63995
|
}
|
|
63140
63996
|
this._product = null;
|
|
63141
63997
|
this._compiledProductId = null;
|
|
@@ -63165,6 +64021,9 @@
|
|
|
63165
64021
|
this._unCompileChannel = {};
|
|
63166
64022
|
this._disabledAnimationStates = [];
|
|
63167
64023
|
this._skipBeforeLayouted = false;
|
|
64024
|
+
this._sharedStateDefinitionRefIds = new WeakMap();
|
|
64025
|
+
this._sharedStateDefinitionRefId = 0;
|
|
64026
|
+
this._dynamicSharedStateNames = new Set();
|
|
63168
64027
|
this._extensionChannel = {};
|
|
63169
64028
|
this._computeExChannel = {};
|
|
63170
64029
|
this._graphicMap = new Map();
|
|
@@ -63199,11 +64058,19 @@
|
|
|
63199
64058
|
}
|
|
63200
64059
|
};
|
|
63201
64060
|
this._setStateOfGraphic = (g, hasAnimation) => {
|
|
63202
|
-
|
|
64061
|
+
var _a, _b, _c;
|
|
63203
64062
|
g.stateProxy = null;
|
|
63204
|
-
|
|
63205
|
-
|
|
64063
|
+
const targetStates = g.context.diffState === DiffState.enter || g.context.diffState === DiffState.update
|
|
64064
|
+
? g.context.states
|
|
64065
|
+
: undefined;
|
|
64066
|
+
const hasCurrentState = !!((_a = g.currentStates) === null || _a === void 0 ? void 0 : _a.length) ||
|
|
64067
|
+
!!((_b = g.effectiveStates) === null || _b === void 0 ? void 0 : _b.length) ||
|
|
64068
|
+
!!g.resolvedStatePatch ||
|
|
64069
|
+
!!((_c = g.registeredActiveScopes) === null || _c === void 0 ? void 0 : _c.size);
|
|
64070
|
+
if (!(targetStates === null || targetStates === void 0 ? void 0 : targetStates.length) && !hasCurrentState) {
|
|
64071
|
+
return;
|
|
63206
64072
|
}
|
|
64073
|
+
setGraphicStates(g, targetStates, hasAnimation);
|
|
63207
64074
|
};
|
|
63208
64075
|
this.name = name;
|
|
63209
64076
|
this.model = option.model;
|
|
@@ -63737,6 +64604,9 @@
|
|
|
63737
64604
|
if (state === 'appear') {
|
|
63738
64605
|
return;
|
|
63739
64606
|
}
|
|
64607
|
+
if (state === 'update' && !this._hasDiffAttrs(g)) {
|
|
64608
|
+
return;
|
|
64609
|
+
}
|
|
63740
64610
|
const config = animationConfig[state];
|
|
63741
64611
|
if (config && config.length > 0) {
|
|
63742
64612
|
const configList = config.map((item, index) => ({
|
|
@@ -63902,6 +64772,48 @@
|
|
|
63902
64772
|
});
|
|
63903
64773
|
return { updateStyles, groupStyles };
|
|
63904
64774
|
}
|
|
64775
|
+
_getSharedStateDefinitionRefId(value) {
|
|
64776
|
+
if ((typeof value !== 'object' && typeof value !== 'function') || value === null) {
|
|
64777
|
+
return `${value}`;
|
|
64778
|
+
}
|
|
64779
|
+
const objectValue = value;
|
|
64780
|
+
let id = this._sharedStateDefinitionRefIds.get(objectValue);
|
|
64781
|
+
if (!id) {
|
|
64782
|
+
id = ++this._sharedStateDefinitionRefId;
|
|
64783
|
+
this._sharedStateDefinitionRefIds.set(objectValue, id);
|
|
64784
|
+
}
|
|
64785
|
+
return `ref:${id}`;
|
|
64786
|
+
}
|
|
64787
|
+
_getSharedStateDefinitionValueKey(value) {
|
|
64788
|
+
try {
|
|
64789
|
+
const jsonValue = JSON.stringify(value);
|
|
64790
|
+
return jsonValue !== null && jsonValue !== void 0 ? jsonValue : `${value}`;
|
|
64791
|
+
}
|
|
64792
|
+
catch (_error) {
|
|
64793
|
+
return this._getSharedStateDefinitionRefId(value);
|
|
64794
|
+
}
|
|
64795
|
+
}
|
|
64796
|
+
_isStaticSharedStateAttribute(stateName, key) {
|
|
64797
|
+
var _a, _b;
|
|
64798
|
+
const stateStyle = (_a = this.stateStyle[stateName]) === null || _a === void 0 ? void 0 : _a[key];
|
|
64799
|
+
if (!stateStyle || stateStyle.referer || isFunction$1(stateStyle.postProcess) || key in this._computeExChannel) {
|
|
64800
|
+
return false;
|
|
64801
|
+
}
|
|
64802
|
+
const style = stateStyle.style;
|
|
64803
|
+
if (isFunction$1(style)) {
|
|
64804
|
+
return false;
|
|
64805
|
+
}
|
|
64806
|
+
if (GradientType.includes(style === null || style === void 0 ? void 0 : style.gradient)) {
|
|
64807
|
+
return false;
|
|
64808
|
+
}
|
|
64809
|
+
if (['outerBorder', 'innerBorder'].includes(key)) {
|
|
64810
|
+
return false;
|
|
64811
|
+
}
|
|
64812
|
+
if (isValidScaleType((_b = style === null || style === void 0 ? void 0 : style.scale) === null || _b === void 0 ? void 0 : _b.type)) {
|
|
64813
|
+
return false;
|
|
64814
|
+
}
|
|
64815
|
+
return true;
|
|
64816
|
+
}
|
|
63905
64817
|
_applySharedStateDefinitions() {
|
|
63906
64818
|
var _a;
|
|
63907
64819
|
if (!this._product) {
|
|
@@ -63909,7 +64821,10 @@
|
|
|
63909
64821
|
}
|
|
63910
64822
|
const stateNames = Object.keys((_a = this._encoderOfState) !== null && _a !== void 0 ? _a : {}).filter(stateName => stateName !== 'group' && stateName !== 'update');
|
|
63911
64823
|
if (!stateNames.length) {
|
|
63912
|
-
this.
|
|
64824
|
+
this._dynamicSharedStateNames.clear();
|
|
64825
|
+
if (this._product.sharedStateDefinitions !== undefined) {
|
|
64826
|
+
this._product.sharedStateDefinitions = undefined;
|
|
64827
|
+
}
|
|
63913
64828
|
return;
|
|
63914
64829
|
}
|
|
63915
64830
|
const sortedStateNames = this._stateSort ? stateNames.slice().sort(this._stateSort) : stateNames;
|
|
@@ -63918,15 +64833,71 @@
|
|
|
63918
64833
|
statePriority.set(stateName, index);
|
|
63919
64834
|
});
|
|
63920
64835
|
const sharedStateDefinitions = {};
|
|
64836
|
+
const cacheKeys = [];
|
|
64837
|
+
const dynamicSharedStateNames = new Set();
|
|
63921
64838
|
stateNames.forEach(stateName => {
|
|
63922
64839
|
var _a;
|
|
63923
64840
|
const encoder = this._encoderOfState[stateName];
|
|
63924
|
-
|
|
63925
|
-
|
|
63926
|
-
|
|
63927
|
-
|
|
64841
|
+
const patch = {};
|
|
64842
|
+
const dynamicEncoder = {};
|
|
64843
|
+
const patchKeys = [];
|
|
64844
|
+
const dynamicKeys = [];
|
|
64845
|
+
Object.keys(encoder !== null && encoder !== void 0 ? encoder : {}).forEach(key => {
|
|
64846
|
+
if (this._isStaticSharedStateAttribute(stateName, key)) {
|
|
64847
|
+
patch[key] = this._computeAttribute(key, stateName)(undefined);
|
|
64848
|
+
patchKeys.push(key);
|
|
64849
|
+
}
|
|
64850
|
+
else {
|
|
64851
|
+
dynamicEncoder[key] = encoder[key];
|
|
64852
|
+
dynamicKeys.push(key);
|
|
64853
|
+
}
|
|
64854
|
+
});
|
|
64855
|
+
if (!patchKeys.length && !dynamicKeys.length) {
|
|
64856
|
+
return;
|
|
64857
|
+
}
|
|
64858
|
+
const definition = {
|
|
64859
|
+
priority: (_a = statePriority.get(stateName)) !== null && _a !== void 0 ? _a : 0
|
|
63928
64860
|
};
|
|
64861
|
+
if (patchKeys.length) {
|
|
64862
|
+
definition.patch = patch;
|
|
64863
|
+
}
|
|
64864
|
+
if (dynamicKeys.length) {
|
|
64865
|
+
dynamicSharedStateNames.add(stateName);
|
|
64866
|
+
definition.declaredAffectedKeys = dynamicKeys;
|
|
64867
|
+
definition.resolver = ({ graphic }) => this._runEncoderOfGraphic(dynamicEncoder, graphic);
|
|
64868
|
+
}
|
|
64869
|
+
sharedStateDefinitions[stateName] = definition;
|
|
64870
|
+
cacheKeys.push([
|
|
64871
|
+
stateName,
|
|
64872
|
+
definition.priority,
|
|
64873
|
+
patchKeys.sort().map(key => `${key}:${this._getSharedStateDefinitionValueKey(patch[key])}`),
|
|
64874
|
+
dynamicKeys.sort().map(key => {
|
|
64875
|
+
var _a;
|
|
64876
|
+
const stateStyle = (_a = this.stateStyle[stateName]) === null || _a === void 0 ? void 0 : _a[key];
|
|
64877
|
+
const styleId = this._getSharedStateDefinitionRefId(stateStyle === null || stateStyle === void 0 ? void 0 : stateStyle.style);
|
|
64878
|
+
const postProcessId = this._getSharedStateDefinitionRefId(stateStyle === null || stateStyle === void 0 ? void 0 : stateStyle.postProcess);
|
|
64879
|
+
const refererId = this._getSharedStateDefinitionRefId(stateStyle === null || stateStyle === void 0 ? void 0 : stateStyle.referer);
|
|
64880
|
+
return `${key}:${styleId}:${postProcessId}:${refererId}`;
|
|
64881
|
+
})
|
|
64882
|
+
].join('|'));
|
|
63929
64883
|
});
|
|
64884
|
+
if (!cacheKeys.length) {
|
|
64885
|
+
this._dynamicSharedStateNames.clear();
|
|
64886
|
+
if (this._product.sharedStateDefinitions !== undefined) {
|
|
64887
|
+
this._product.sharedStateDefinitions = undefined;
|
|
64888
|
+
}
|
|
64889
|
+
return;
|
|
64890
|
+
}
|
|
64891
|
+
const cacheKey = cacheKeys.sort().join('||');
|
|
64892
|
+
this._dynamicSharedStateNames = dynamicSharedStateNames;
|
|
64893
|
+
if (cacheKey === this._sharedStateDefinitionsCacheKey && this._sharedStateDefinitionsCache) {
|
|
64894
|
+
if (this._product.sharedStateDefinitions !== this._sharedStateDefinitionsCache) {
|
|
64895
|
+
this._product.sharedStateDefinitions = this._sharedStateDefinitionsCache;
|
|
64896
|
+
}
|
|
64897
|
+
return;
|
|
64898
|
+
}
|
|
64899
|
+
this._sharedStateDefinitionsCacheKey = cacheKey;
|
|
64900
|
+
this._sharedStateDefinitionsCache = sharedStateDefinitions;
|
|
63930
64901
|
this._product.sharedStateDefinitions = sharedStateDefinitions;
|
|
63931
64902
|
}
|
|
63932
64903
|
_addProgressiveGraphic(parent, g) {
|
|
@@ -63945,6 +64916,36 @@
|
|
|
63945
64916
|
g.context.finalAttrs = finalAttrs;
|
|
63946
64917
|
});
|
|
63947
64918
|
}
|
|
64919
|
+
_excludeStateControlledDiffAttrs(g, diffAttrs) {
|
|
64920
|
+
var _a;
|
|
64921
|
+
if (!diffAttrs || !Object.keys(diffAttrs).length) {
|
|
64922
|
+
return diffAttrs;
|
|
64923
|
+
}
|
|
64924
|
+
let nextDiffAttrs;
|
|
64925
|
+
const excludeKey = (key) => {
|
|
64926
|
+
if (!(key in diffAttrs)) {
|
|
64927
|
+
return;
|
|
64928
|
+
}
|
|
64929
|
+
if (!nextDiffAttrs) {
|
|
64930
|
+
nextDiffAttrs = Object.assign({}, diffAttrs);
|
|
64931
|
+
}
|
|
64932
|
+
delete nextDiffAttrs[key];
|
|
64933
|
+
};
|
|
64934
|
+
if (g.resolvedStatePatch) {
|
|
64935
|
+
Object.keys(g.resolvedStatePatch).forEach(excludeKey);
|
|
64936
|
+
}
|
|
64937
|
+
(_a = g.context.states) === null || _a === void 0 ? void 0 : _a.forEach(stateName => {
|
|
64938
|
+
var _a;
|
|
64939
|
+
const encoder = (_a = this._encoderOfState) === null || _a === void 0 ? void 0 : _a[stateName];
|
|
64940
|
+
if (encoder) {
|
|
64941
|
+
Object.keys(encoder).forEach(excludeKey);
|
|
64942
|
+
}
|
|
64943
|
+
});
|
|
64944
|
+
return nextDiffAttrs !== null && nextDiffAttrs !== void 0 ? nextDiffAttrs : diffAttrs;
|
|
64945
|
+
}
|
|
64946
|
+
_hasDiffAttrs(g) {
|
|
64947
|
+
return !!g.context.diffAttrs && Object.keys(g.context.diffAttrs).length > 0;
|
|
64948
|
+
}
|
|
63948
64949
|
_runApplyGraphic(graphics) {
|
|
63949
64950
|
const hasAnimation = this.hasAnimation();
|
|
63950
64951
|
graphics.forEach((g, index) => {
|
|
@@ -63977,11 +64978,11 @@
|
|
|
63977
64978
|
}
|
|
63978
64979
|
}
|
|
63979
64980
|
else {
|
|
63980
|
-
const diffAttrs = getDiffAttributesOfGraphic(g, finalAttrs);
|
|
64981
|
+
const diffAttrs = this._excludeStateControlledDiffAttrs(g, getDiffAttributesOfGraphic(g, finalAttrs));
|
|
63981
64982
|
g.context.diffAttrs = diffAttrs;
|
|
63982
64983
|
if (g.context.reusing) {
|
|
63983
64984
|
g.context.lastAttrs = g.attribute;
|
|
63984
|
-
g.initAttributes(
|
|
64985
|
+
g.initAttributes(finalAttrs);
|
|
63985
64986
|
g.context.reusing = false;
|
|
63986
64987
|
}
|
|
63987
64988
|
else if (!hasStateAnimation) {
|
|
@@ -64133,11 +65134,24 @@
|
|
|
64133
65134
|
}
|
|
64134
65135
|
const stateInfo = this.state.getStateInfo(key);
|
|
64135
65136
|
this._graphics.forEach(g => {
|
|
65137
|
+
const reinitStateGraphic = g;
|
|
65138
|
+
const statesClearedBeforeReInit = reinitStateGraphic[statesClearedBeforeReInitKey];
|
|
65139
|
+
const wasStateClearedBeforeReInit = statesClearedBeforeReInit === null || statesClearedBeforeReInit === void 0 ? void 0 : statesClearedBeforeReInit.includes(key);
|
|
65140
|
+
const hasStateAnimation = wasStateClearedBeforeReInit ? false : this.hasAnimationByState('state');
|
|
64136
65141
|
if (this.state.checkOneState(g, g.context.data, stateInfo) === 'in') {
|
|
64137
|
-
addGraphicState(g, key, true,
|
|
65142
|
+
addGraphicState(g, key, true, hasStateAnimation);
|
|
64138
65143
|
}
|
|
64139
65144
|
else {
|
|
64140
|
-
removeGraphicState(g, key,
|
|
65145
|
+
removeGraphicState(g, key, hasStateAnimation);
|
|
65146
|
+
}
|
|
65147
|
+
if (wasStateClearedBeforeReInit) {
|
|
65148
|
+
const nextStates = statesClearedBeforeReInit.filter(stateName => stateName !== key);
|
|
65149
|
+
if (nextStates.length) {
|
|
65150
|
+
reinitStateGraphic[statesClearedBeforeReInitKey] = nextStates;
|
|
65151
|
+
}
|
|
65152
|
+
else {
|
|
65153
|
+
delete reinitStateGraphic[statesClearedBeforeReInitKey];
|
|
65154
|
+
}
|
|
64141
65155
|
}
|
|
64142
65156
|
});
|
|
64143
65157
|
}
|
|
@@ -64165,7 +65179,9 @@
|
|
|
64165
65179
|
animation: Object.assign(Object.assign({}, item), { customParameters: g.context })
|
|
64166
65180
|
}));
|
|
64167
65181
|
g.applyAnimationState(['exit'], [exitConfigList.length === 1 ? exitConfigList[0] : exitConfigList], () => {
|
|
64168
|
-
|
|
65182
|
+
if (g.context.diffState === DiffState.exit && g.isExiting && this._graphicMap.get(key) === g) {
|
|
65183
|
+
doRemove(g, key);
|
|
65184
|
+
}
|
|
64169
65185
|
});
|
|
64170
65186
|
}
|
|
64171
65187
|
}
|
|
@@ -64340,7 +65356,10 @@
|
|
|
64340
65356
|
this.uncommit();
|
|
64341
65357
|
this.stateStyle = {};
|
|
64342
65358
|
this.getGraphics().forEach(g => {
|
|
64343
|
-
|
|
65359
|
+
var _a;
|
|
65360
|
+
if ((_a = g.currentStates) === null || _a === void 0 ? void 0 : _a.length) {
|
|
65361
|
+
g[statesClearedBeforeReInitKey] = g.currentStates.slice();
|
|
65362
|
+
}
|
|
64344
65363
|
});
|
|
64345
65364
|
}
|
|
64346
65365
|
}
|
|
@@ -64471,7 +65490,7 @@
|
|
|
64471
65490
|
}
|
|
64472
65491
|
release() {
|
|
64473
65492
|
super.release();
|
|
64474
|
-
this.removeProduct();
|
|
65493
|
+
this.removeProduct(true);
|
|
64475
65494
|
}
|
|
64476
65495
|
}
|
|
64477
65496
|
GroupMark.type = "group";
|
|
@@ -65285,6 +66304,38 @@
|
|
|
65285
66304
|
}
|
|
65286
66305
|
}
|
|
65287
66306
|
|
|
66307
|
+
const releaseVRenderComponentSync = (component, removeFromParent = true) => {
|
|
66308
|
+
var _a, _b, _c, _d, _e;
|
|
66309
|
+
const parent = component.parent;
|
|
66310
|
+
(_a = component.release) === null || _a === void 0 ? void 0 : _a.call(component, true);
|
|
66311
|
+
(_c = (_b = component).removeAllChild) === null || _c === void 0 ? void 0 : _c.call(_b, true);
|
|
66312
|
+
if (removeFromParent) {
|
|
66313
|
+
(_e = ((_d = component.parent) !== null && _d !== void 0 ? _d : parent)) === null || _e === void 0 ? void 0 : _e.removeChild(component, true);
|
|
66314
|
+
}
|
|
66315
|
+
};
|
|
66316
|
+
const collectVRenderComponents = (component) => {
|
|
66317
|
+
var _a, _b;
|
|
66318
|
+
const components = [component];
|
|
66319
|
+
(_b = (_a = component).forEachChildren) === null || _b === void 0 ? void 0 : _b.call(_a, child => {
|
|
66320
|
+
components.push(...collectVRenderComponents(child));
|
|
66321
|
+
});
|
|
66322
|
+
return components;
|
|
66323
|
+
};
|
|
66324
|
+
const releaseVRenderComponent = (component, options = {}) => {
|
|
66325
|
+
var _a, _b;
|
|
66326
|
+
const { enableExitAnimation = true, removeFromParent = true, onComplete } = options;
|
|
66327
|
+
const releasedWithExit = enableExitAnimation &&
|
|
66328
|
+
((_b = (_a = component).releaseWithExitAnimation) === null || _b === void 0 ? void 0 : _b.call(_a, {
|
|
66329
|
+
removeFromParent,
|
|
66330
|
+
onComplete
|
|
66331
|
+
}));
|
|
66332
|
+
if (releasedWithExit) {
|
|
66333
|
+
return true;
|
|
66334
|
+
}
|
|
66335
|
+
releaseVRenderComponentSync(component, removeFromParent);
|
|
66336
|
+
return false;
|
|
66337
|
+
};
|
|
66338
|
+
|
|
65288
66339
|
class VChart {
|
|
65289
66340
|
static useRegisters(comps) {
|
|
65290
66341
|
comps.forEach((fn) => {
|
|
@@ -65534,7 +66585,7 @@
|
|
|
65534
66585
|
this._compiler.updateLayoutTag();
|
|
65535
66586
|
this._setFontFamilyTheme(this.getTheme('fontFamily'));
|
|
65536
66587
|
this._initDataSet(this._option.dataSet);
|
|
65537
|
-
this._autoSize = isTrueBrowseEnv ? (
|
|
66588
|
+
this._autoSize = isTrueBrowseEnv ? (_g = (_f = spec.autoFit) !== null && _f !== void 0 ? _f : this._option.autoFit) !== null && _g !== void 0 ? _g : true : false;
|
|
65538
66589
|
this._bindResizeEvent();
|
|
65539
66590
|
this._bindViewEvent();
|
|
65540
66591
|
this._initChartPlugin();
|
|
@@ -65688,6 +66739,9 @@
|
|
|
65688
66739
|
this._updateAnimateState(true);
|
|
65689
66740
|
}
|
|
65690
66741
|
this._reCompile(updateSpecResult);
|
|
66742
|
+
if (isUpdateSpecResultLocalOnly(updateSpecResult)) {
|
|
66743
|
+
return this;
|
|
66744
|
+
}
|
|
65691
66745
|
if (sync) {
|
|
65692
66746
|
return this._renderSync(option);
|
|
65693
66747
|
}
|
|
@@ -65705,7 +66759,7 @@
|
|
|
65705
66759
|
if (updateResult.reMake) {
|
|
65706
66760
|
this._releaseData();
|
|
65707
66761
|
this._initDataSet();
|
|
65708
|
-
(_a = this._chart) === null || _a === void 0 ? void 0 : _a.release();
|
|
66762
|
+
(_a = this._chart) === null || _a === void 0 ? void 0 : _a.release(false);
|
|
65709
66763
|
this._chart = null;
|
|
65710
66764
|
}
|
|
65711
66765
|
if (updateResult.reTransformSpec) {
|
|
@@ -65816,6 +66870,7 @@
|
|
|
65816
66870
|
this._chartPluginApply('releaseAll');
|
|
65817
66871
|
this._chartPlugin = null;
|
|
65818
66872
|
this._chartSpecTransformer = null;
|
|
66873
|
+
this._forceReleaseExitingVRenderComponents();
|
|
65819
66874
|
(_b = this._chart) === null || _b === void 0 ? void 0 : _b.release();
|
|
65820
66875
|
(_c = this._eventDispatcher) === null || _c === void 0 ? void 0 : _c.release();
|
|
65821
66876
|
(_d = this._compiler) === null || _d === void 0 ? void 0 : _d.release();
|
|
@@ -65838,6 +66893,25 @@
|
|
|
65838
66893
|
this._isReleased = true;
|
|
65839
66894
|
InstanceManager.unregisterInstance(this);
|
|
65840
66895
|
}
|
|
66896
|
+
_registerExitingVRenderComponent(component) {
|
|
66897
|
+
var _a;
|
|
66898
|
+
this._exitingVRenderComponents = (_a = this._exitingVRenderComponents) !== null && _a !== void 0 ? _a : new Set();
|
|
66899
|
+
this._exitingVRenderComponents.add(component);
|
|
66900
|
+
}
|
|
66901
|
+
_unregisterExitingVRenderComponent(component) {
|
|
66902
|
+
var _a;
|
|
66903
|
+
(_a = this._exitingVRenderComponents) === null || _a === void 0 ? void 0 : _a.delete(component);
|
|
66904
|
+
}
|
|
66905
|
+
_forceReleaseExitingVRenderComponents() {
|
|
66906
|
+
var _a;
|
|
66907
|
+
if (!((_a = this._exitingVRenderComponents) === null || _a === void 0 ? void 0 : _a.size)) {
|
|
66908
|
+
return;
|
|
66909
|
+
}
|
|
66910
|
+
this._exitingVRenderComponents.forEach(component => {
|
|
66911
|
+
releaseVRenderComponentSync(component);
|
|
66912
|
+
});
|
|
66913
|
+
this._exitingVRenderComponents.clear();
|
|
66914
|
+
}
|
|
65841
66915
|
updateData(id, data, parserOptions, userUpdateOptions) {
|
|
65842
66916
|
return __awaiter$b(this, void 0, void 0, function* () {
|
|
65843
66917
|
return this.updateDataSync(id, data, parserOptions, userUpdateOptions);
|
|
@@ -66001,9 +67075,13 @@
|
|
|
66001
67075
|
spec = mergeSpec({}, model.getSpec(), spec);
|
|
66002
67076
|
}
|
|
66003
67077
|
const result = model.updateSpec(spec);
|
|
66004
|
-
|
|
66005
|
-
|
|
66006
|
-
|
|
67078
|
+
const localOnly = isUpdateSpecResultLocalOnly(result);
|
|
67079
|
+
const componentOnly = isUpdateSpecResultComponentOnly(result);
|
|
67080
|
+
if (!localOnly) {
|
|
67081
|
+
model.reInit(spec);
|
|
67082
|
+
if (!componentOnly && (result.change || result.reCompile || result.reMake || result.reSize || result.reRender)) {
|
|
67083
|
+
this._chart.reDataFlow();
|
|
67084
|
+
}
|
|
66007
67085
|
}
|
|
66008
67086
|
return this.updateCustomConfigAndRerender(result, sync, {
|
|
66009
67087
|
morphConfig,
|
|
@@ -66184,7 +67262,7 @@
|
|
|
66184
67262
|
resize = true;
|
|
66185
67263
|
}
|
|
66186
67264
|
const lasAutoSize = this._autoSize;
|
|
66187
|
-
this._autoSize = isTrueBrowser(this._option.mode) ? (
|
|
67265
|
+
this._autoSize = isTrueBrowser(this._option.mode) ? (_b = (_a = this._spec.autoFit) !== null && _a !== void 0 ? _a : this._option.autoFit) !== null && _b !== void 0 ? _b : true : false;
|
|
66188
67266
|
if (this._autoSize !== lasAutoSize) {
|
|
66189
67267
|
resize = true;
|
|
66190
67268
|
}
|
|
@@ -67337,6 +68415,8 @@
|
|
|
67337
68415
|
data: true
|
|
67338
68416
|
};
|
|
67339
68417
|
const defaultSeriesCompileCheckKeys = {
|
|
68418
|
+
xField: true,
|
|
68419
|
+
yField: true,
|
|
67340
68420
|
invalidType: true,
|
|
67341
68421
|
animation: true,
|
|
67342
68422
|
animationAppear: true,
|
|
@@ -67345,6 +68425,13 @@
|
|
|
67345
68425
|
animationExit: true,
|
|
67346
68426
|
animationNormal: true
|
|
67347
68427
|
};
|
|
68428
|
+
const defaultSeriesCompileOnlyCheckKeys = {
|
|
68429
|
+
animationAppear: true,
|
|
68430
|
+
animationEnter: true,
|
|
68431
|
+
animationUpdate: true,
|
|
68432
|
+
animationExit: true,
|
|
68433
|
+
animationNormal: true
|
|
68434
|
+
};
|
|
67348
68435
|
|
|
67349
68436
|
const AnimationStates = [...Object.keys(DEFAULT_ANIMATION_CONFIG), 'normal'];
|
|
67350
68437
|
function animationConfig(defaultConfig = {}, userConfig, params) {
|
|
@@ -67700,6 +68787,40 @@
|
|
|
67700
68787
|
return null;
|
|
67701
68788
|
}
|
|
67702
68789
|
|
|
68790
|
+
const defaultSeriesDataRelatedCheckKeys = Object.keys(defaultSeriesCompileCheckKeys).reduce((keys, key) => {
|
|
68791
|
+
if (!defaultSeriesCompileOnlyCheckKeys[key]) {
|
|
68792
|
+
keys[key] = true;
|
|
68793
|
+
}
|
|
68794
|
+
return keys;
|
|
68795
|
+
}, {});
|
|
68796
|
+
const defaultSeriesSpecUpdatePolicy = {
|
|
68797
|
+
compileOnlyKeys: defaultSeriesCompileOnlyCheckKeys,
|
|
68798
|
+
dataRelatedKeys: defaultSeriesDataRelatedCheckKeys
|
|
68799
|
+
};
|
|
68800
|
+
const isSpecObject = (value) => isObject$2(value) && !isArray$1(value) && !isFunction$1(value);
|
|
68801
|
+
const hasOnlyAllowedSubKeyChanges = (specValue, prevSpecValue, allowedSubKeys) => {
|
|
68802
|
+
if (!isSpecObject(specValue) || !isSpecObject(prevSpecValue)) {
|
|
68803
|
+
return false;
|
|
68804
|
+
}
|
|
68805
|
+
let changed = false;
|
|
68806
|
+
const subKeys = Array.from(new Set([...Object.keys(prevSpecValue), ...Object.keys(specValue)]));
|
|
68807
|
+
for (const subKey of subKeys) {
|
|
68808
|
+
if (!isEqual(specValue[subKey], prevSpecValue[subKey])) {
|
|
68809
|
+
if (!allowedSubKeys[subKey]) {
|
|
68810
|
+
return false;
|
|
68811
|
+
}
|
|
68812
|
+
changed = true;
|
|
68813
|
+
}
|
|
68814
|
+
}
|
|
68815
|
+
return changed;
|
|
68816
|
+
};
|
|
68817
|
+
function markSeriesCompileEffect(compareResult, dataRelated = false) {
|
|
68818
|
+
compareResult.effects = Object.assign(Object.assign({}, compareResult.effects), { series: true, compile: true, layout: true, render: true });
|
|
68819
|
+
if (dataRelated) {
|
|
68820
|
+
compareResult.effects.data = true;
|
|
68821
|
+
compareResult.effects.scaleDomain = true;
|
|
68822
|
+
}
|
|
68823
|
+
}
|
|
67703
68824
|
class BaseSeries extends BaseModel {
|
|
67704
68825
|
getRegion() {
|
|
67705
68826
|
return this._region;
|
|
@@ -68398,9 +69519,14 @@
|
|
|
68398
69519
|
return !isEqual(prev, newLabels[index]);
|
|
68399
69520
|
})) {
|
|
68400
69521
|
compareResult.reCompile = true;
|
|
69522
|
+
markSeriesCompileEffect(compareResult);
|
|
68401
69523
|
}
|
|
68402
69524
|
}
|
|
69525
|
+
_getSpecUpdatePolicy() {
|
|
69526
|
+
return defaultSeriesSpecUpdatePolicy;
|
|
69527
|
+
}
|
|
68403
69528
|
_compareSpec(spec, prevSpec, ignoreCheckKeys) {
|
|
69529
|
+
var _a, _b, _c, _d;
|
|
68404
69530
|
const result = super._compareSpec(spec, prevSpec);
|
|
68405
69531
|
const currentKeys = Object.keys(prevSpec || {}).sort();
|
|
68406
69532
|
const nextKeys = Object.keys(spec || {}).sort();
|
|
@@ -68408,7 +69534,12 @@
|
|
|
68408
69534
|
result.reMake = true;
|
|
68409
69535
|
return result;
|
|
68410
69536
|
}
|
|
68411
|
-
const
|
|
69537
|
+
const specUpdatePolicy = this._getSpecUpdatePolicy();
|
|
69538
|
+
const compileOnlyKeys = (_a = specUpdatePolicy.compileOnlyKeys) !== null && _a !== void 0 ? _a : {};
|
|
69539
|
+
const dataRelatedKeys = (_b = specUpdatePolicy.dataRelatedKeys) !== null && _b !== void 0 ? _b : {};
|
|
69540
|
+
const compileOnlySubKeys = (_c = specUpdatePolicy.compileOnlySubKeys) !== null && _c !== void 0 ? _c : {};
|
|
69541
|
+
const compileCheckKeys = Object.assign(Object.assign({}, compileOnlyKeys), dataRelatedKeys);
|
|
69542
|
+
const ignores = Object.assign(Object.assign(Object.assign(Object.assign({}, defaultSeriesIgnoreCheckKeys), compileCheckKeys), ignoreCheckKeys), { extensionMark: true, label: true, totalLabel: true });
|
|
68412
69543
|
this._compareExtensionMarksSpec(array(spec.extensionMark), array(prevSpec.extensionMark), result);
|
|
68413
69544
|
!result.reMake && this._compareLabelSpec(array(spec.label), array(prevSpec.label), result);
|
|
68414
69545
|
!result.reMake &&
|
|
@@ -68424,12 +69555,27 @@
|
|
|
68424
69555
|
})) {
|
|
68425
69556
|
result.reCompile = true;
|
|
68426
69557
|
}
|
|
68427
|
-
|
|
68428
|
-
|
|
68429
|
-
|
|
68430
|
-
|
|
69558
|
+
const changedCompileKeys = currentKeys.filter((k) => {
|
|
69559
|
+
return compileCheckKeys[k] && !isEqual(spec[k], prevSpec[k]);
|
|
69560
|
+
});
|
|
69561
|
+
const changedCompileOnlySubKeys = currentKeys.filter((k) => {
|
|
69562
|
+
return (compileOnlySubKeys[k] &&
|
|
69563
|
+
hasOnlyAllowedSubKeyChanges(spec[k], prevSpec[k], compileOnlySubKeys[k]));
|
|
69564
|
+
});
|
|
69565
|
+
changedCompileOnlySubKeys.forEach(k => {
|
|
69566
|
+
ignores[k] = true;
|
|
69567
|
+
});
|
|
69568
|
+
if (!result.reCompile && (changedCompileKeys.length || changedCompileOnlySubKeys.length)) {
|
|
68431
69569
|
result.reCompile = true;
|
|
68432
69570
|
}
|
|
69571
|
+
if (changedCompileKeys.some(k => dataRelatedKeys[k])) {
|
|
69572
|
+
markSeriesCompileEffect(result, true);
|
|
69573
|
+
}
|
|
69574
|
+
else if (result.reCompile &&
|
|
69575
|
+
!((_d = result.effects) === null || _d === void 0 ? void 0 : _d.series) &&
|
|
69576
|
+
(changedCompileKeys.length || changedCompileOnlySubKeys.length)) {
|
|
69577
|
+
markSeriesCompileEffect(result);
|
|
69578
|
+
}
|
|
68433
69579
|
if (currentKeys.some((k) => {
|
|
68434
69580
|
return !ignores[k] && !isEqual(spec[k], prevSpec[k]);
|
|
68435
69581
|
})) {
|
|
@@ -68578,7 +69724,7 @@
|
|
|
68578
69724
|
attributeContext: this._markAttributeContext,
|
|
68579
69725
|
componentType: option.componentType,
|
|
68580
69726
|
noSeparateStyle,
|
|
68581
|
-
parent: parent !== false ?
|
|
69727
|
+
parent: parent !== false ? parent !== null && parent !== void 0 ? parent : this._rootMark : null
|
|
68582
69728
|
});
|
|
68583
69729
|
if (isValid$1(m)) {
|
|
68584
69730
|
const spec = this.getSpec() || {};
|
|
@@ -68611,11 +69757,22 @@
|
|
|
68611
69757
|
if (!datum) {
|
|
68612
69758
|
return key;
|
|
68613
69759
|
}
|
|
68614
|
-
const dimensionFields = this.getDimensionField();
|
|
68615
|
-
key = dimensionFields.map(field => datum[field]).join('_');
|
|
68616
69760
|
const seriesField = this.getSeriesField();
|
|
68617
|
-
|
|
68618
|
-
|
|
69761
|
+
const dimensionFields = this.getDimensionField();
|
|
69762
|
+
const seriesFieldValue = seriesField ? datum[seriesField] : undefined;
|
|
69763
|
+
let hasSeriesFieldInDimension = false;
|
|
69764
|
+
let lastDimensionValue;
|
|
69765
|
+
for (let i = 0; i < dimensionFields.length; i++) {
|
|
69766
|
+
const field = dimensionFields[i];
|
|
69767
|
+
const dimensionValue = datum[field];
|
|
69768
|
+
key += `${i > 0 ? '_' : ''}${isNil$1(dimensionValue) ? '' : dimensionValue}`;
|
|
69769
|
+
hasSeriesFieldInDimension || (hasSeriesFieldInDimension = field === seriesField);
|
|
69770
|
+
lastDimensionValue = dimensionValue;
|
|
69771
|
+
}
|
|
69772
|
+
if (seriesField &&
|
|
69773
|
+
!hasSeriesFieldInDimension &&
|
|
69774
|
+
!(dimensionFields.length > 1 && lastDimensionValue === seriesFieldValue)) {
|
|
69775
|
+
key += `_${seriesFieldValue}`;
|
|
68619
69776
|
}
|
|
68620
69777
|
return key;
|
|
68621
69778
|
}
|
|
@@ -69540,6 +70697,10 @@
|
|
|
69540
70697
|
["line"]: { name: "line", type: "line" }
|
|
69541
70698
|
};
|
|
69542
70699
|
|
|
70700
|
+
const LINE_LIKE_SERIES_DATA_RELATED_KEYS = {
|
|
70701
|
+
sampling: true,
|
|
70702
|
+
samplingFactor: true
|
|
70703
|
+
};
|
|
69543
70704
|
class LineLikeSeriesMixin {
|
|
69544
70705
|
addSamplingCompile() {
|
|
69545
70706
|
if (this._spec.sampling) {
|
|
@@ -70813,6 +71974,7 @@
|
|
|
70813
71974
|
this.name = 'component';
|
|
70814
71975
|
this.modelType = 'component';
|
|
70815
71976
|
this.transformerConstructor = BaseComponentSpecTransformer;
|
|
71977
|
+
this._forceReleaseVRenderComponents = false;
|
|
70816
71978
|
this._delegateEvent = (component, event, type, item = null, datum = null) => {
|
|
70817
71979
|
var _a, _b;
|
|
70818
71980
|
if (!(event instanceof CustomEvent)) {
|
|
@@ -70876,23 +72038,72 @@
|
|
|
70876
72038
|
}
|
|
70877
72039
|
return result;
|
|
70878
72040
|
}
|
|
72041
|
+
beforeRelease() {
|
|
72042
|
+
super.beforeRelease();
|
|
72043
|
+
this._forceReleaseVRenderComponents = true;
|
|
72044
|
+
this._forceReleaseExitingVRenderComponents();
|
|
72045
|
+
}
|
|
70879
72046
|
release() {
|
|
70880
72047
|
var _a;
|
|
70881
|
-
|
|
72048
|
+
if (this._shouldReleaseVRenderComponentsImmediately()) {
|
|
72049
|
+
this._forceReleaseExitingVRenderComponents();
|
|
72050
|
+
}
|
|
70882
72051
|
this.clear();
|
|
72052
|
+
super.release();
|
|
70883
72053
|
(_a = this.pluginService) === null || _a === void 0 ? void 0 : _a.releaseAll();
|
|
70884
72054
|
this.pluginService = null;
|
|
70885
72055
|
}
|
|
72056
|
+
_shouldReleaseVRenderComponentsImmediately() {
|
|
72057
|
+
return this._forceReleaseVRenderComponents;
|
|
72058
|
+
}
|
|
72059
|
+
_forceReleaseExitingVRenderComponents() {
|
|
72060
|
+
var _a;
|
|
72061
|
+
if (!((_a = this._exitingVRenderComponents) === null || _a === void 0 ? void 0 : _a.size)) {
|
|
72062
|
+
return;
|
|
72063
|
+
}
|
|
72064
|
+
this._exitingVRenderComponents.forEach(component => {
|
|
72065
|
+
var _a, _b, _c;
|
|
72066
|
+
releaseVRenderComponentSync(component);
|
|
72067
|
+
(_c = (_b = (_a = this._option) === null || _a === void 0 ? void 0 : _a.globalInstance) === null || _b === void 0 ? void 0 : _b._unregisterExitingVRenderComponent) === null || _c === void 0 ? void 0 : _c.call(_b, component);
|
|
72068
|
+
});
|
|
72069
|
+
this._exitingVRenderComponents.clear();
|
|
72070
|
+
}
|
|
72071
|
+
_releaseVRenderComponent(component) {
|
|
72072
|
+
var _a;
|
|
72073
|
+
const forceRelease = this._shouldReleaseVRenderComponentsImmediately();
|
|
72074
|
+
if (!forceRelease) {
|
|
72075
|
+
const exitingComponents = collectVRenderComponents(component);
|
|
72076
|
+
const releasedWithExit = releaseVRenderComponent(component, {
|
|
72077
|
+
enableExitAnimation: true,
|
|
72078
|
+
removeFromParent: true,
|
|
72079
|
+
onComplete: () => {
|
|
72080
|
+
exitingComponents.forEach(exitingComponent => {
|
|
72081
|
+
var _a, _b, _c, _d;
|
|
72082
|
+
(_a = this._exitingVRenderComponents) === null || _a === void 0 ? void 0 : _a.delete(exitingComponent);
|
|
72083
|
+
(_d = (_c = (_b = this._option) === null || _b === void 0 ? void 0 : _b.globalInstance) === null || _c === void 0 ? void 0 : _c._unregisterExitingVRenderComponent) === null || _d === void 0 ? void 0 : _d.call(_c, exitingComponent);
|
|
72084
|
+
});
|
|
72085
|
+
}
|
|
72086
|
+
});
|
|
72087
|
+
if (releasedWithExit) {
|
|
72088
|
+
this._exitingVRenderComponents = (_a = this._exitingVRenderComponents) !== null && _a !== void 0 ? _a : new Set();
|
|
72089
|
+
exitingComponents.forEach(exitingComponent => {
|
|
72090
|
+
var _a, _b, _c;
|
|
72091
|
+
this._exitingVRenderComponents.add(exitingComponent);
|
|
72092
|
+
(_c = (_b = (_a = this._option) === null || _a === void 0 ? void 0 : _a.globalInstance) === null || _b === void 0 ? void 0 : _b._registerExitingVRenderComponent) === null || _c === void 0 ? void 0 : _c.call(_b, exitingComponent);
|
|
72093
|
+
});
|
|
72094
|
+
return;
|
|
72095
|
+
}
|
|
72096
|
+
return;
|
|
72097
|
+
}
|
|
72098
|
+
releaseVRenderComponentSync(component);
|
|
72099
|
+
}
|
|
70886
72100
|
clear() {
|
|
70887
72101
|
var _a;
|
|
70888
72102
|
const components = this._getNeedClearVRenderComponents();
|
|
70889
72103
|
if (components && components.length) {
|
|
70890
72104
|
components.forEach(c => {
|
|
70891
|
-
var _a;
|
|
70892
72105
|
if (c) {
|
|
70893
|
-
|
|
70894
|
-
(_a = this.getContainer()) === null || _a === void 0 ? void 0 : _a.removeChild(c);
|
|
70895
|
-
c = null;
|
|
72106
|
+
this._releaseVRenderComponent(c);
|
|
70896
72107
|
}
|
|
70897
72108
|
});
|
|
70898
72109
|
}
|
|
@@ -70952,13 +72163,91 @@
|
|
|
70952
72163
|
getComponent() {
|
|
70953
72164
|
return this._component;
|
|
70954
72165
|
}
|
|
70955
|
-
|
|
70956
|
-
if (this.
|
|
70957
|
-
|
|
70958
|
-
|
|
72166
|
+
_clearExitingComponent(component) {
|
|
72167
|
+
if (this._exitingComponent === component) {
|
|
72168
|
+
this._unregisterExitingComponent(component);
|
|
72169
|
+
this._exitingComponent = undefined;
|
|
72170
|
+
this._exitingProduct = undefined;
|
|
72171
|
+
}
|
|
72172
|
+
}
|
|
72173
|
+
_removeProductAfterExit(component, product) {
|
|
72174
|
+
if (product.parent) {
|
|
72175
|
+
product.parent.removeChild(product, true);
|
|
72176
|
+
}
|
|
72177
|
+
if (this._product === product) {
|
|
72178
|
+
this._product = null;
|
|
72179
|
+
this._compiledProductId = null;
|
|
72180
|
+
}
|
|
72181
|
+
this._clearExitingComponent(component);
|
|
72182
|
+
}
|
|
72183
|
+
_registerExitingComponent(component) {
|
|
72184
|
+
var _a, _b, _c, _d, _e;
|
|
72185
|
+
(_e = (_d = (_c = (_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.getOption) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.globalInstance) === null || _d === void 0 ? void 0 : _d._registerExitingVRenderComponent) === null || _e === void 0 ? void 0 : _e.call(_d, component);
|
|
72186
|
+
}
|
|
72187
|
+
_unregisterExitingComponent(component) {
|
|
72188
|
+
var _a, _b, _c, _d, _e;
|
|
72189
|
+
(_e = (_d = (_c = (_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.getOption) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.globalInstance) === null || _d === void 0 ? void 0 : _d._unregisterExitingVRenderComponent) === null || _e === void 0 ? void 0 : _e.call(_d, component);
|
|
72190
|
+
}
|
|
72191
|
+
_releaseComponentWithExitAnimation(component, releaseProduct) {
|
|
72192
|
+
var _a, _b;
|
|
72193
|
+
const product = this._product;
|
|
72194
|
+
if (!component || ((_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a._shouldReleaseVRenderComponentsImmediately) === null || _b === void 0 ? void 0 : _b.call(_a))) {
|
|
72195
|
+
return false;
|
|
72196
|
+
}
|
|
72197
|
+
const releasedWithExit = releaseVRenderComponent(component, {
|
|
72198
|
+
enableExitAnimation: true,
|
|
72199
|
+
removeFromParent: true,
|
|
72200
|
+
onComplete: () => {
|
|
72201
|
+
if (releaseProduct && product) {
|
|
72202
|
+
this._removeProductAfterExit(component, product);
|
|
72203
|
+
}
|
|
72204
|
+
else {
|
|
72205
|
+
this._clearExitingComponent(component);
|
|
72206
|
+
}
|
|
70959
72207
|
}
|
|
70960
|
-
|
|
72208
|
+
});
|
|
72209
|
+
if (releasedWithExit) {
|
|
72210
|
+
this._exitingComponent = component;
|
|
72211
|
+
this._exitingProduct = releaseProduct ? product : undefined;
|
|
72212
|
+
this._registerExitingComponent(component);
|
|
72213
|
+
}
|
|
72214
|
+
return releasedWithExit;
|
|
72215
|
+
}
|
|
72216
|
+
clearComponent() {
|
|
72217
|
+
var _a, _b;
|
|
72218
|
+
const component = this._component;
|
|
72219
|
+
if (!component) {
|
|
72220
|
+
return;
|
|
70961
72221
|
}
|
|
72222
|
+
if ((_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a._shouldReleaseVRenderComponentsImmediately) === null || _b === void 0 ? void 0 : _b.call(_a)) {
|
|
72223
|
+
releaseVRenderComponentSync(component);
|
|
72224
|
+
}
|
|
72225
|
+
else {
|
|
72226
|
+
this._releaseComponentWithExitAnimation(component, false);
|
|
72227
|
+
}
|
|
72228
|
+
this._component = null;
|
|
72229
|
+
}
|
|
72230
|
+
releaseWithExitAnimation() {
|
|
72231
|
+
const component = this._component;
|
|
72232
|
+
if (!this._releaseComponentWithExitAnimation(component, true)) {
|
|
72233
|
+
return false;
|
|
72234
|
+
}
|
|
72235
|
+
this._component = null;
|
|
72236
|
+
this._exitingComponent = component;
|
|
72237
|
+
return true;
|
|
72238
|
+
}
|
|
72239
|
+
forceReleaseExitAnimation() {
|
|
72240
|
+
var _a;
|
|
72241
|
+
if (!this._exitingComponent) {
|
|
72242
|
+
return;
|
|
72243
|
+
}
|
|
72244
|
+
releaseVRenderComponentSync(this._exitingComponent);
|
|
72245
|
+
this._unregisterExitingComponent(this._exitingComponent);
|
|
72246
|
+
if ((_a = this._exitingProduct) === null || _a === void 0 ? void 0 : _a.parent) {
|
|
72247
|
+
this._exitingProduct.parent.removeChild(this._exitingProduct, true);
|
|
72248
|
+
}
|
|
72249
|
+
this._exitingComponent = undefined;
|
|
72250
|
+
this._exitingProduct = undefined;
|
|
70962
72251
|
}
|
|
70963
72252
|
_getAttrsFromConfig(attrs = {}) {
|
|
70964
72253
|
const configAttrs = super._getAttrsFromConfig(attrs);
|
|
@@ -71019,8 +72308,26 @@
|
|
|
71019
72308
|
this.needClear = true;
|
|
71020
72309
|
}
|
|
71021
72310
|
release() {
|
|
72311
|
+
var _a, _b;
|
|
72312
|
+
if ((_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a._shouldReleaseVRenderComponentsImmediately) === null || _b === void 0 ? void 0 : _b.call(_a)) {
|
|
72313
|
+
this.forceReleaseExitAnimation();
|
|
72314
|
+
super.release();
|
|
72315
|
+
this.removeProduct(true);
|
|
72316
|
+
return;
|
|
72317
|
+
}
|
|
72318
|
+
if (this._exitingComponent) {
|
|
72319
|
+
if (!this._releaseComponentWithExitAnimation(this._exitingComponent, true)) {
|
|
72320
|
+
this.removeProduct(true);
|
|
72321
|
+
}
|
|
72322
|
+
super.release();
|
|
72323
|
+
return;
|
|
72324
|
+
}
|
|
72325
|
+
if (this.releaseWithExitAnimation()) {
|
|
72326
|
+
super.release();
|
|
72327
|
+
return;
|
|
72328
|
+
}
|
|
71022
72329
|
super.release();
|
|
71023
|
-
this.removeProduct();
|
|
72330
|
+
this.removeProduct(true);
|
|
71024
72331
|
}
|
|
71025
72332
|
}
|
|
71026
72333
|
ComponentMark.type = "component";
|
|
@@ -71032,6 +72339,19 @@
|
|
|
71032
72339
|
return scale;
|
|
71033
72340
|
};
|
|
71034
72341
|
|
|
72342
|
+
const AXIS_COMPONENT_ONLY_CHANGE_KEYS = {
|
|
72343
|
+
grid: true,
|
|
72344
|
+
subGrid: true,
|
|
72345
|
+
tick: true,
|
|
72346
|
+
subTick: true,
|
|
72347
|
+
label: true,
|
|
72348
|
+
domainLine: true,
|
|
72349
|
+
title: true,
|
|
72350
|
+
maxWidth: true,
|
|
72351
|
+
minWidth: true,
|
|
72352
|
+
maxHeight: true,
|
|
72353
|
+
minHeight: true
|
|
72354
|
+
};
|
|
71035
72355
|
class AxisComponent extends BaseComponent {
|
|
71036
72356
|
getOrient() {
|
|
71037
72357
|
return this._orient;
|
|
@@ -71337,6 +72657,7 @@
|
|
|
71337
72657
|
if (result.reMake) {
|
|
71338
72658
|
return result;
|
|
71339
72659
|
}
|
|
72660
|
+
const specChanged = !isEqual(prevSpec, spec);
|
|
71340
72661
|
result.reRender = true;
|
|
71341
72662
|
if ((prevSpec === null || prevSpec === void 0 ? void 0 : prevSpec.type) !== (spec === null || spec === void 0 ? void 0 : spec.type) || (prevSpec === null || prevSpec === void 0 ? void 0 : prevSpec.visible) !== (spec === null || spec === void 0 ? void 0 : spec.visible)) {
|
|
71342
72663
|
result.reMake = true;
|
|
@@ -71346,8 +72667,17 @@
|
|
|
71346
72667
|
var _a, _b;
|
|
71347
72668
|
return ((_a = prevSpec === null || prevSpec === void 0 ? void 0 : prevSpec[k]) === null || _a === void 0 ? void 0 : _a.visible) !== ((_b = spec === null || spec === void 0 ? void 0 : spec[k]) === null || _b === void 0 ? void 0 : _b.visible);
|
|
71348
72669
|
});
|
|
72670
|
+
if (specChanged && !result.reMake && this._isComponentOnlySpecChange(spec, prevSpec)) {
|
|
72671
|
+
result.effects = Object.assign(Object.assign({}, result.effects), { component: true, layout: true, render: true });
|
|
72672
|
+
}
|
|
71349
72673
|
return result;
|
|
71350
72674
|
}
|
|
72675
|
+
_isComponentOnlySpecChange(spec, prevSpec) {
|
|
72676
|
+
const keys = Object.keys(Object.assign(Object.assign({}, prevSpec), spec));
|
|
72677
|
+
return keys.every(key => {
|
|
72678
|
+
return isEqual(prevSpec === null || prevSpec === void 0 ? void 0 : prevSpec[key], spec === null || spec === void 0 ? void 0 : spec[key]) || AXIS_COMPONENT_ONLY_CHANGE_KEYS[key];
|
|
72679
|
+
});
|
|
72680
|
+
}
|
|
71351
72681
|
_getAxisAttributes() {
|
|
71352
72682
|
const spec = this._spec;
|
|
71353
72683
|
const axisAttrs = {
|
|
@@ -73941,6 +75271,10 @@
|
|
|
73941
75271
|
this.transformerConstructor = LineLikeSeriesSpecTransformer;
|
|
73942
75272
|
this._sortDataByAxis = false;
|
|
73943
75273
|
}
|
|
75274
|
+
_getSpecUpdatePolicy() {
|
|
75275
|
+
const policy = super._getSpecUpdatePolicy();
|
|
75276
|
+
return Object.assign(Object.assign({}, policy), { dataRelatedKeys: Object.assign(Object.assign({}, policy.dataRelatedKeys), LINE_LIKE_SERIES_DATA_RELATED_KEYS) });
|
|
75277
|
+
}
|
|
73944
75278
|
compile() {
|
|
73945
75279
|
super.compile();
|
|
73946
75280
|
this.addSamplingCompile();
|
|
@@ -74617,6 +75951,11 @@
|
|
|
74617
75951
|
}
|
|
74618
75952
|
}
|
|
74619
75953
|
|
|
75954
|
+
const MARKER_COMPONENT_SPEC_KEYS = {
|
|
75955
|
+
[ComponentTypeEnum.markPoint]: true,
|
|
75956
|
+
[ComponentTypeEnum.markLine]: true,
|
|
75957
|
+
[ComponentTypeEnum.markArea]: true
|
|
75958
|
+
};
|
|
74620
75959
|
class BaseChart extends CompilableBase {
|
|
74621
75960
|
getSpec() {
|
|
74622
75961
|
return this._spec;
|
|
@@ -74670,6 +76009,7 @@
|
|
|
74670
76009
|
this._regions = [];
|
|
74671
76010
|
this._series = [];
|
|
74672
76011
|
this._components = [];
|
|
76012
|
+
this._specTransformer = null;
|
|
74673
76013
|
this._layoutRect = {
|
|
74674
76014
|
x: 0,
|
|
74675
76015
|
y: 0,
|
|
@@ -74801,6 +76141,7 @@
|
|
|
74801
76141
|
this._spec = spec;
|
|
74802
76142
|
}
|
|
74803
76143
|
created(transformer) {
|
|
76144
|
+
this._specTransformer = transformer;
|
|
74804
76145
|
this._chartData.parseData(this._spec.data);
|
|
74805
76146
|
this._createGlobalScale();
|
|
74806
76147
|
this._createBackground();
|
|
@@ -75177,12 +76518,18 @@
|
|
|
75177
76518
|
}
|
|
75178
76519
|
}
|
|
75179
76520
|
_getSpecKeys(spec) {
|
|
75180
|
-
const ignoreKeys = {
|
|
76521
|
+
const ignoreKeys = {
|
|
76522
|
+
width: true,
|
|
76523
|
+
height: true,
|
|
76524
|
+
xField: true,
|
|
76525
|
+
yField: true
|
|
76526
|
+
};
|
|
75181
76527
|
return Object.keys(spec)
|
|
75182
76528
|
.filter(key => !ignoreKeys[key])
|
|
75183
76529
|
.sort();
|
|
75184
76530
|
}
|
|
75185
76531
|
updateSpec(spec) {
|
|
76532
|
+
var _a;
|
|
75186
76533
|
const result = {
|
|
75187
76534
|
change: false,
|
|
75188
76535
|
reMake: false,
|
|
@@ -75190,49 +76537,83 @@
|
|
|
75190
76537
|
reSize: false,
|
|
75191
76538
|
reCompile: false
|
|
75192
76539
|
};
|
|
75193
|
-
this.setLayoutTag(true, null, false);
|
|
75194
76540
|
if (spec.type !== this.type) {
|
|
75195
76541
|
result.reMake = true;
|
|
76542
|
+
this.setLayoutTag(true, null, false);
|
|
75196
76543
|
return result;
|
|
75197
76544
|
}
|
|
75198
76545
|
const currentKeys = this._getSpecKeys(this._spec);
|
|
75199
76546
|
const nextKeys = this._getSpecKeys(spec);
|
|
75200
76547
|
if (!isEqual(currentKeys, nextKeys)) {
|
|
75201
76548
|
result.reMake = true;
|
|
76549
|
+
this.setLayoutTag(true, null, false);
|
|
75202
76550
|
return result;
|
|
75203
76551
|
}
|
|
75204
76552
|
for (let i = 0; i < currentKeys.length; i++) {
|
|
75205
76553
|
const key = currentKeys[i];
|
|
75206
|
-
|
|
76554
|
+
const currentSpec = this._spec[key];
|
|
76555
|
+
const nextSpec = spec[key];
|
|
76556
|
+
if (isArray$1(currentSpec) &&
|
|
76557
|
+
currentSpec.length !== array(nextSpec).length &&
|
|
76558
|
+
!this._canRemoveMarkerComponentsWithoutRemake(key, currentSpec, nextSpec)) {
|
|
75207
76559
|
result.reMake = true;
|
|
76560
|
+
this.setLayoutTag(true, null, false);
|
|
75208
76561
|
return result;
|
|
75209
76562
|
}
|
|
75210
76563
|
}
|
|
75211
76564
|
const oldSpec = this._spec;
|
|
76565
|
+
const onlyMarkerComponentsRemoved = this._isOnlyMarkerComponentsRemoved(this._spec, spec, currentKeys);
|
|
76566
|
+
const onlyComponentSpecsChanged = this._isOnlyComponentSpecsChanged(this._spec, spec, currentKeys);
|
|
76567
|
+
const onlySeriesSpecsChanged = this._isOnlySeriesSpecsChanged(this._spec, spec, currentKeys);
|
|
75212
76568
|
this._spec = spec;
|
|
76569
|
+
if (onlyMarkerComponentsRemoved) {
|
|
76570
|
+
this._removeMarkerComponentsForEmptySpecs(result);
|
|
76571
|
+
return result;
|
|
76572
|
+
}
|
|
75213
76573
|
this.updateChartConfig(result, oldSpec);
|
|
75214
76574
|
if (result.reMake) {
|
|
76575
|
+
this.setLayoutTag(true, null, false);
|
|
75215
76576
|
return result;
|
|
75216
76577
|
}
|
|
75217
76578
|
this.updateGlobalScale(result);
|
|
75218
76579
|
if (result.reMake) {
|
|
76580
|
+
this.setLayoutTag(true, null, false);
|
|
75219
76581
|
return result;
|
|
75220
76582
|
}
|
|
75221
76583
|
this.updateRegionSpec(result);
|
|
75222
76584
|
if (result.reMake) {
|
|
76585
|
+
this.setLayoutTag(true, null, false);
|
|
75223
76586
|
return result;
|
|
75224
76587
|
}
|
|
75225
|
-
this.updateComponentSpec(result);
|
|
76588
|
+
const componentUpdateResult = this.updateComponentSpec(result);
|
|
75226
76589
|
if (result.reMake) {
|
|
76590
|
+
this.setLayoutTag(true, null, false);
|
|
76591
|
+
return result;
|
|
76592
|
+
}
|
|
76593
|
+
if (isUpdateSpecResultLocalOnly(result)) {
|
|
75227
76594
|
return result;
|
|
75228
76595
|
}
|
|
76596
|
+
if (onlyComponentSpecsChanged &&
|
|
76597
|
+
!componentUpdateResult.hasNonComponentOnlyUpdate &&
|
|
76598
|
+
isUpdateSpecResultComponentOnly(result)) {
|
|
76599
|
+
componentUpdateResult.componentOnlyUpdatedComponents.forEach(component => {
|
|
76600
|
+
component.reInit(component.getSpec());
|
|
76601
|
+
});
|
|
76602
|
+
if ((_a = result.effects) === null || _a === void 0 ? void 0 : _a.layout) {
|
|
76603
|
+
this.setLayoutTag(true, null, false);
|
|
76604
|
+
}
|
|
76605
|
+
return result;
|
|
76606
|
+
}
|
|
76607
|
+
this.setLayoutTag(true, null, false);
|
|
75229
76608
|
this.updateSeriesSpec(result);
|
|
75230
76609
|
if (result.reMake) {
|
|
75231
76610
|
return result;
|
|
75232
76611
|
}
|
|
75233
76612
|
this.reInit();
|
|
75234
|
-
this.
|
|
75235
|
-
|
|
76613
|
+
if (!onlySeriesSpecsChanged || !this._canSkipChartDataStages(result)) {
|
|
76614
|
+
this.updateDataSpec();
|
|
76615
|
+
this.updateGlobalScaleDomain();
|
|
76616
|
+
}
|
|
75236
76617
|
return result;
|
|
75237
76618
|
}
|
|
75238
76619
|
updateChartConfig(result, oldSpec) {
|
|
@@ -75260,12 +76641,15 @@
|
|
|
75260
76641
|
});
|
|
75261
76642
|
}
|
|
75262
76643
|
updateComponentSpec(result) {
|
|
76644
|
+
const componentOnlyUpdatedComponents = [];
|
|
76645
|
+
let hasNonComponentOnlyUpdate = false;
|
|
75263
76646
|
const componentCache = {};
|
|
75264
76647
|
const checkVisibleComponents = {
|
|
75265
76648
|
[ComponentTypeEnum.title]: true,
|
|
75266
76649
|
[ComponentTypeEnum.brush]: true,
|
|
75267
76650
|
[ComponentTypeEnum.indicator]: true
|
|
75268
76651
|
};
|
|
76652
|
+
const removedComponents = [];
|
|
75269
76653
|
this._components.forEach(c => {
|
|
75270
76654
|
var _a, _b;
|
|
75271
76655
|
if (c.type === ComponentTypeEnum.label || c.type === ComponentTypeEnum.totalLabel) {
|
|
@@ -75281,11 +76665,32 @@
|
|
|
75281
76665
|
specCount: cmpSpec.length,
|
|
75282
76666
|
componentCount: 0
|
|
75283
76667
|
};
|
|
76668
|
+
if (this._canRemoveMarkerComponentsWithoutRemake(compSpecKey, [c.getSpec()], cmpSpec)) {
|
|
76669
|
+
removedComponents.push(c);
|
|
76670
|
+
return;
|
|
76671
|
+
}
|
|
75284
76672
|
componentCache[compSpecKey].componentCount++;
|
|
75285
|
-
|
|
76673
|
+
const componentSpec = (_b = cmpSpec[c.getSpecIndex()]) !== null && _b !== void 0 ? _b : {};
|
|
76674
|
+
const previousComponentSpec = c.getSpec();
|
|
76675
|
+
const componentResult = c.updateSpec(componentSpec, cmpSpec);
|
|
76676
|
+
if (isUpdateSpecResultComponentOnly(componentResult)) {
|
|
76677
|
+
componentOnlyUpdatedComponents.push(c);
|
|
76678
|
+
}
|
|
76679
|
+
else if (!isEqual(previousComponentSpec, componentSpec)) {
|
|
76680
|
+
hasNonComponentOnlyUpdate = true;
|
|
76681
|
+
}
|
|
76682
|
+
mergeUpdateResult(result, componentResult);
|
|
75286
76683
|
}
|
|
75287
76684
|
else {
|
|
75288
|
-
|
|
76685
|
+
const previousComponentSpec = c.getSpec();
|
|
76686
|
+
const componentResult = c.updateSpec(cmpSpec);
|
|
76687
|
+
if (isUpdateSpecResultComponentOnly(componentResult)) {
|
|
76688
|
+
componentOnlyUpdatedComponents.push(c);
|
|
76689
|
+
}
|
|
76690
|
+
else if (!isEqual(previousComponentSpec, cmpSpec)) {
|
|
76691
|
+
hasNonComponentOnlyUpdate = true;
|
|
76692
|
+
}
|
|
76693
|
+
mergeUpdateResult(result, componentResult);
|
|
75289
76694
|
}
|
|
75290
76695
|
});
|
|
75291
76696
|
for (const key in componentCache) {
|
|
@@ -75296,6 +76701,13 @@
|
|
|
75296
76701
|
}
|
|
75297
76702
|
}
|
|
75298
76703
|
}
|
|
76704
|
+
if (removedComponents.length) {
|
|
76705
|
+
removedComponents.forEach(component => {
|
|
76706
|
+
this._removeComponent(component);
|
|
76707
|
+
});
|
|
76708
|
+
result.change = true;
|
|
76709
|
+
result.effects = Object.assign(Object.assign({}, result.effects), { component: true, localOnly: true });
|
|
76710
|
+
}
|
|
75299
76711
|
const isVisible = (compSpec) => compSpec && compSpec.visible !== false;
|
|
75300
76712
|
Object.keys(checkVisibleComponents).forEach(type => {
|
|
75301
76713
|
if (checkVisibleComponents[type]) {
|
|
@@ -75306,6 +76718,92 @@
|
|
|
75306
76718
|
}
|
|
75307
76719
|
}
|
|
75308
76720
|
});
|
|
76721
|
+
return {
|
|
76722
|
+
componentOnlyUpdatedComponents,
|
|
76723
|
+
hasNonComponentOnlyUpdate
|
|
76724
|
+
};
|
|
76725
|
+
}
|
|
76726
|
+
_canRemoveMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) {
|
|
76727
|
+
return (MARKER_COMPONENT_SPEC_KEYS[key] &&
|
|
76728
|
+
isArray$1(currentSpec) &&
|
|
76729
|
+
currentSpec.length > 0 &&
|
|
76730
|
+
isArray$1(nextSpec) &&
|
|
76731
|
+
nextSpec.length === 0);
|
|
76732
|
+
}
|
|
76733
|
+
_isOnlyMarkerComponentsRemoved(currentSpec, nextSpec, specKeys) {
|
|
76734
|
+
let hasMarkerRemoval = false;
|
|
76735
|
+
const onlyMarkerRemoval = specKeys.every(key => {
|
|
76736
|
+
if (this._canRemoveMarkerComponentsWithoutRemake(key, currentSpec[key], nextSpec[key])) {
|
|
76737
|
+
hasMarkerRemoval = true;
|
|
76738
|
+
return true;
|
|
76739
|
+
}
|
|
76740
|
+
return isEqual(currentSpec[key], nextSpec[key]);
|
|
76741
|
+
});
|
|
76742
|
+
return hasMarkerRemoval && onlyMarkerRemoval;
|
|
76743
|
+
}
|
|
76744
|
+
_isComponentSpecKey(key) {
|
|
76745
|
+
return this._components.some(component => {
|
|
76746
|
+
return (component.specKey || component.type) === key;
|
|
76747
|
+
});
|
|
76748
|
+
}
|
|
76749
|
+
_isOnlyComponentSpecsChanged(currentSpec, nextSpec, specKeys) {
|
|
76750
|
+
let hasComponentSpecChange = false;
|
|
76751
|
+
const currentSpecRecord = currentSpec;
|
|
76752
|
+
const nextSpecRecord = nextSpec;
|
|
76753
|
+
const onlyComponentSpecChange = specKeys.every(key => {
|
|
76754
|
+
if (isEqual(currentSpecRecord[key], nextSpecRecord[key])) {
|
|
76755
|
+
return true;
|
|
76756
|
+
}
|
|
76757
|
+
if (this._isComponentSpecKey(key)) {
|
|
76758
|
+
hasComponentSpecChange = true;
|
|
76759
|
+
return true;
|
|
76760
|
+
}
|
|
76761
|
+
return false;
|
|
76762
|
+
});
|
|
76763
|
+
return hasComponentSpecChange && onlyComponentSpecChange;
|
|
76764
|
+
}
|
|
76765
|
+
_isOnlySeriesSpecsChanged(currentSpec, nextSpec, specKeys) {
|
|
76766
|
+
var _a, _b;
|
|
76767
|
+
let hasSeriesSpecChange = false;
|
|
76768
|
+
const currentSpecRecord = currentSpec;
|
|
76769
|
+
const nextSpecRecord = nextSpec;
|
|
76770
|
+
const seriesRelatedSpecKeys = (_b = (_a = this._specTransformer) === null || _a === void 0 ? void 0 : _a.getSeriesRelatedSpecKeys()) !== null && _b !== void 0 ? _b : {};
|
|
76771
|
+
const onlySeriesSpecChange = specKeys.every(key => {
|
|
76772
|
+
if (isEqual(currentSpecRecord[key], nextSpecRecord[key])) {
|
|
76773
|
+
return true;
|
|
76774
|
+
}
|
|
76775
|
+
if (seriesRelatedSpecKeys[key]) {
|
|
76776
|
+
hasSeriesSpecChange = true;
|
|
76777
|
+
return true;
|
|
76778
|
+
}
|
|
76779
|
+
return false;
|
|
76780
|
+
});
|
|
76781
|
+
return hasSeriesSpecChange && onlySeriesSpecChange;
|
|
76782
|
+
}
|
|
76783
|
+
_canSkipChartDataStages(result) {
|
|
76784
|
+
const effects = result.effects;
|
|
76785
|
+
return !!(effects === null || effects === void 0 ? void 0 : effects.series) && !effects.remake && !effects.data && !effects.scaleDomain && !result.reMake;
|
|
76786
|
+
}
|
|
76787
|
+
_removeMarkerComponentsForEmptySpecs(result) {
|
|
76788
|
+
const removedComponents = this._components.filter(component => {
|
|
76789
|
+
var _a;
|
|
76790
|
+
const compSpecKey = component.specKey || component.type;
|
|
76791
|
+
const cmpSpec = (_a = this._spec[compSpecKey]) !== null && _a !== void 0 ? _a : {};
|
|
76792
|
+
return this._canRemoveMarkerComponentsWithoutRemake(compSpecKey, [component.getSpec()], cmpSpec);
|
|
76793
|
+
});
|
|
76794
|
+
if (!removedComponents.length) {
|
|
76795
|
+
return;
|
|
76796
|
+
}
|
|
76797
|
+
removedComponents.forEach(component => {
|
|
76798
|
+
this._removeComponent(component);
|
|
76799
|
+
});
|
|
76800
|
+
result.change = true;
|
|
76801
|
+
result.effects = Object.assign(Object.assign({}, result.effects), { component: true, localOnly: true });
|
|
76802
|
+
}
|
|
76803
|
+
_removeComponent(component) {
|
|
76804
|
+
this._components = this._components.filter(c => c !== component);
|
|
76805
|
+
this._idMap.delete(component.id);
|
|
76806
|
+
component.release();
|
|
75309
76807
|
}
|
|
75310
76808
|
updateSeriesSpec(result) {
|
|
75311
76809
|
if (this._spec.series.length !== this._series.length) {
|
|
@@ -75416,10 +76914,12 @@
|
|
|
75416
76914
|
});
|
|
75417
76915
|
(_d = (_c = this._option.performanceHook) === null || _c === void 0 ? void 0 : _c.afterComponentCompile) === null || _d === void 0 ? void 0 : _d.call(_c, this._option.globalInstance);
|
|
75418
76916
|
}
|
|
75419
|
-
release() {
|
|
75420
|
-
|
|
75421
|
-
|
|
75422
|
-
|
|
76917
|
+
release(forceReleaseVRenderComponents = true) {
|
|
76918
|
+
if (forceReleaseVRenderComponents) {
|
|
76919
|
+
[...this._components, ...this._regions, ...this._series].forEach(m => {
|
|
76920
|
+
m.beforeRelease();
|
|
76921
|
+
});
|
|
76922
|
+
}
|
|
75423
76923
|
super.release();
|
|
75424
76924
|
this.clear();
|
|
75425
76925
|
[...this._components, ...this._regions, ...this._series].forEach(m => {
|
|
@@ -75678,8 +77178,18 @@
|
|
|
75678
77178
|
return undefined;
|
|
75679
77179
|
};
|
|
75680
77180
|
|
|
77181
|
+
const DEFAULT_SERIES_RELATED_CHART_SPEC_KEYS = {
|
|
77182
|
+
series: true,
|
|
77183
|
+
label: true,
|
|
77184
|
+
animationAppear: true,
|
|
77185
|
+
animationEnter: true,
|
|
77186
|
+
animationUpdate: true,
|
|
77187
|
+
animationExit: true,
|
|
77188
|
+
animationNormal: true
|
|
77189
|
+
};
|
|
75681
77190
|
class BaseChartSpecTransformer {
|
|
75682
77191
|
constructor(option) {
|
|
77192
|
+
this._seriesRelatedSpecKeys = Object.assign({}, DEFAULT_SERIES_RELATED_CHART_SPEC_KEYS);
|
|
75683
77193
|
this._option = option;
|
|
75684
77194
|
this.type = option.type;
|
|
75685
77195
|
this.seriesType = option.seriesType;
|
|
@@ -75775,8 +77285,19 @@
|
|
|
75775
77285
|
_isValidSeries(seriesType) {
|
|
75776
77286
|
return true;
|
|
75777
77287
|
}
|
|
77288
|
+
getSeriesRelatedSpecKeys() {
|
|
77289
|
+
return this._seriesRelatedSpecKeys;
|
|
77290
|
+
}
|
|
77291
|
+
_addSeriesRelatedSpecKeys(...keysList) {
|
|
77292
|
+
keysList.forEach(keys => {
|
|
77293
|
+
keys === null || keys === void 0 ? void 0 : keys.forEach(key => {
|
|
77294
|
+
this._seriesRelatedSpecKeys[key] = true;
|
|
77295
|
+
});
|
|
77296
|
+
});
|
|
77297
|
+
}
|
|
75778
77298
|
_getDefaultSeriesSpec(chartSpec, pickKeys, pickKeys2) {
|
|
75779
77299
|
var _a, _b, _c, _d, _e;
|
|
77300
|
+
this._addSeriesRelatedSpecKeys(pickKeys, pickKeys2);
|
|
75780
77301
|
const series = {
|
|
75781
77302
|
dataKey: chartSpec.dataKey,
|
|
75782
77303
|
hover: chartSpec.hover,
|
|
@@ -77262,6 +78783,10 @@
|
|
|
77262
78783
|
this.transformerConstructor = AreaSeriesSpecTransformer;
|
|
77263
78784
|
this._sortDataByAxis = false;
|
|
77264
78785
|
}
|
|
78786
|
+
_getSpecUpdatePolicy() {
|
|
78787
|
+
const policy = super._getSpecUpdatePolicy();
|
|
78788
|
+
return Object.assign(Object.assign({}, policy), { dataRelatedKeys: Object.assign(Object.assign({}, policy.dataRelatedKeys), LINE_LIKE_SERIES_DATA_RELATED_KEYS) });
|
|
78789
|
+
}
|
|
77265
78790
|
initMark() {
|
|
77266
78791
|
var _a;
|
|
77267
78792
|
const seriesMark = (_a = this._spec.seriesMark) !== null && _a !== void 0 ? _a : 'area';
|
|
@@ -77652,6 +79177,14 @@
|
|
|
77652
79177
|
};
|
|
77653
79178
|
|
|
77654
79179
|
const DefaultBandWidth$2 = 6;
|
|
79180
|
+
const BAR_SERIES_COMPILE_ONLY_KEYS = {
|
|
79181
|
+
barWidth: true,
|
|
79182
|
+
barMinWidth: true,
|
|
79183
|
+
barMaxWidth: true,
|
|
79184
|
+
barGapInGroup: true,
|
|
79185
|
+
barMinHeight: true,
|
|
79186
|
+
stackCornerRadius: true
|
|
79187
|
+
};
|
|
77655
79188
|
class BarSeries extends CartesianSeries {
|
|
77656
79189
|
constructor() {
|
|
77657
79190
|
super(...arguments);
|
|
@@ -77753,6 +79286,10 @@
|
|
|
77753
79286
|
this._barBackgroundPositionYEncoder = encoder.bind(this);
|
|
77754
79287
|
};
|
|
77755
79288
|
}
|
|
79289
|
+
_getSpecUpdatePolicy() {
|
|
79290
|
+
const policy = super._getSpecUpdatePolicy();
|
|
79291
|
+
return Object.assign(Object.assign({}, policy), { compileOnlyKeys: Object.assign(Object.assign({}, policy.compileOnlyKeys), BAR_SERIES_COMPILE_ONLY_KEYS) });
|
|
79292
|
+
}
|
|
77756
79293
|
initMark() {
|
|
77757
79294
|
this._initBarBackgroundMark();
|
|
77758
79295
|
this._barMark = this._createMark(Object.assign(Object.assign({}, BarSeries.mark.bar), { name: this._barMarkName, type: this._barMarkType }), {
|
|
@@ -77777,6 +79314,19 @@
|
|
|
77777
79314
|
fill: this.getColorAttribute()
|
|
77778
79315
|
}, 'normal', exports.AttributeLevel.Series);
|
|
77779
79316
|
}
|
|
79317
|
+
this.initRectMarkStyle();
|
|
79318
|
+
}
|
|
79319
|
+
initRectMarkStyle() {
|
|
79320
|
+
var _a;
|
|
79321
|
+
if (!this._barMark) {
|
|
79322
|
+
return;
|
|
79323
|
+
}
|
|
79324
|
+
const bandAxisHelper = this.direction === "vertical" ? this._xAxisHelper : this._yAxisHelper;
|
|
79325
|
+
const scale = (_a = bandAxisHelper === null || bandAxisHelper === void 0 ? void 0 : bandAxisHelper.getScale) === null || _a === void 0 ? void 0 : _a.call(bandAxisHelper, 0);
|
|
79326
|
+
if (!scale) {
|
|
79327
|
+
return;
|
|
79328
|
+
}
|
|
79329
|
+
scale.type === 'band' ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle();
|
|
77780
79330
|
}
|
|
77781
79331
|
initLabelMarkStyle(textMark) {
|
|
77782
79332
|
if (!textMark) {
|
|
@@ -77889,14 +79439,8 @@
|
|
|
77889
79439
|
this._barBackgroundViewData = new CompilableData(this._option, barBackgroundData);
|
|
77890
79440
|
}
|
|
77891
79441
|
init(option) {
|
|
77892
|
-
var _a, _b;
|
|
77893
79442
|
super.init(option);
|
|
77894
|
-
|
|
77895
|
-
((_a = this._xAxisHelper) === null || _a === void 0 ? void 0 : _a.getScale(0).type) === 'band' ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle();
|
|
77896
|
-
}
|
|
77897
|
-
else {
|
|
77898
|
-
((_b = this._yAxisHelper) === null || _b === void 0 ? void 0 : _b.getScale(0).type) === 'band' ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle();
|
|
77899
|
-
}
|
|
79443
|
+
this.initRectMarkStyle();
|
|
77900
79444
|
}
|
|
77901
79445
|
_shouldDoPreCalculate() {
|
|
77902
79446
|
const region = this.getRegion();
|
|
@@ -78019,6 +79563,13 @@
|
|
|
78019
79563
|
_initStackBarMarkStyle() {
|
|
78020
79564
|
var _a, _b, _c, _d;
|
|
78021
79565
|
if (!this._spec.stackCornerRadius) {
|
|
79566
|
+
const markConfig = this._barMark.getMarkConfig();
|
|
79567
|
+
if (markConfig.clip || !isNil$1(markConfig.clipPath)) {
|
|
79568
|
+
this._barMark.setMarkConfig({
|
|
79569
|
+
clip: false,
|
|
79570
|
+
clipPath: []
|
|
79571
|
+
});
|
|
79572
|
+
}
|
|
78022
79573
|
return;
|
|
78023
79574
|
}
|
|
78024
79575
|
const xScale = (_b = (_a = this._xAxisHelper) === null || _a === void 0 ? void 0 : _a.getScale) === null || _b === void 0 ? void 0 : _b.call(_a, 0);
|
|
@@ -78448,6 +79999,9 @@
|
|
|
78448
79999
|
}
|
|
78449
80000
|
};
|
|
78450
80001
|
|
|
80002
|
+
const SCATTER_SERIES_DATA_RELATED_KEYS = {
|
|
80003
|
+
sizeField: true
|
|
80004
|
+
};
|
|
78451
80005
|
class ScatterSeries extends CartesianSeries {
|
|
78452
80006
|
constructor() {
|
|
78453
80007
|
super(...arguments);
|
|
@@ -78455,6 +80009,10 @@
|
|
|
78455
80009
|
this.transformerConstructor = ScatterSeriesSpecTransformer;
|
|
78456
80010
|
this._invalidType = 'zero';
|
|
78457
80011
|
}
|
|
80012
|
+
_getSpecUpdatePolicy() {
|
|
80013
|
+
const policy = super._getSpecUpdatePolicy();
|
|
80014
|
+
return Object.assign(Object.assign({}, policy), { dataRelatedKeys: Object.assign(Object.assign({}, policy.dataRelatedKeys), SCATTER_SERIES_DATA_RELATED_KEYS) });
|
|
80015
|
+
}
|
|
78458
80016
|
setAttrFromSpec() {
|
|
78459
80017
|
super.setAttrFromSpec();
|
|
78460
80018
|
this._size = this._spec.size;
|
|
@@ -80909,6 +82467,9 @@
|
|
|
80909
82467
|
}
|
|
80910
82468
|
};
|
|
80911
82469
|
|
|
82470
|
+
const WATERFALL_SERIES_DATA_RELATED_KEYS = {
|
|
82471
|
+
calculationMode: true
|
|
82472
|
+
};
|
|
80912
82473
|
class WaterfallSeries extends BarSeries {
|
|
80913
82474
|
constructor() {
|
|
80914
82475
|
super(...arguments);
|
|
@@ -80929,6 +82490,10 @@
|
|
|
80929
82490
|
var _a;
|
|
80930
82491
|
return (_a = this._totalData) === null || _a === void 0 ? void 0 : _a.getLatestData();
|
|
80931
82492
|
}
|
|
82493
|
+
_getSpecUpdatePolicy() {
|
|
82494
|
+
const policy = super._getSpecUpdatePolicy();
|
|
82495
|
+
return Object.assign(Object.assign({}, policy), { dataRelatedKeys: Object.assign(Object.assign({}, policy.dataRelatedKeys), WATERFALL_SERIES_DATA_RELATED_KEYS) });
|
|
82496
|
+
}
|
|
80932
82497
|
initGroups() {
|
|
80933
82498
|
const groupFields = this.getGroupFields();
|
|
80934
82499
|
if (groupFields && groupFields.length) {
|
|
@@ -81984,6 +83549,12 @@
|
|
|
81984
83549
|
const DEFAULT_FILL_COLOR = '#FFF';
|
|
81985
83550
|
const DEFAULT_STROKE_COLOR = '#000';
|
|
81986
83551
|
const DEFAULT_OUTLIER_SIZE = 10;
|
|
83552
|
+
const BOX_PLOT_SERIES_COMPILE_ONLY_KEYS = {
|
|
83553
|
+
boxWidth: true,
|
|
83554
|
+
boxMinWidth: true,
|
|
83555
|
+
boxMaxWidth: true,
|
|
83556
|
+
boxGapInGroup: true
|
|
83557
|
+
};
|
|
81987
83558
|
class BoxPlotSeries extends CartesianSeries {
|
|
81988
83559
|
constructor() {
|
|
81989
83560
|
super(...arguments);
|
|
@@ -82021,6 +83592,10 @@
|
|
|
82021
83592
|
getOutliersStyle() {
|
|
82022
83593
|
return this._outliersStyle;
|
|
82023
83594
|
}
|
|
83595
|
+
_getSpecUpdatePolicy() {
|
|
83596
|
+
const policy = super._getSpecUpdatePolicy();
|
|
83597
|
+
return Object.assign(Object.assign({}, policy), { compileOnlyKeys: Object.assign(Object.assign({}, policy.compileOnlyKeys), BOX_PLOT_SERIES_COMPILE_ONLY_KEYS) });
|
|
83598
|
+
}
|
|
82024
83599
|
setAttrFromSpec() {
|
|
82025
83600
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
82026
83601
|
super.setAttrFromSpec();
|
|
@@ -82094,6 +83669,7 @@
|
|
|
82094
83669
|
size: isNumber$2((_f = this._outliersStyle) === null || _f === void 0 ? void 0 : _f.size) ? this._outliersStyle.size : DEFAULT_OUTLIER_SIZE
|
|
82095
83670
|
}, exports.STATE_VALUE_ENUM.STATE_NORMAL, exports.AttributeLevel.Series);
|
|
82096
83671
|
}
|
|
83672
|
+
this.initBoxPlotMarkStyle();
|
|
82097
83673
|
}
|
|
82098
83674
|
initBoxPlotMarkStyle() {
|
|
82099
83675
|
var _a, _b;
|
|
@@ -83424,6 +85000,16 @@
|
|
|
83424
85000
|
}
|
|
83425
85001
|
};
|
|
83426
85002
|
|
|
85003
|
+
const PIE_SERIES_DATA_RELATED_KEYS = {
|
|
85004
|
+
valueField: true,
|
|
85005
|
+
angleField: true,
|
|
85006
|
+
startAngle: true,
|
|
85007
|
+
endAngle: true,
|
|
85008
|
+
minAngle: true
|
|
85009
|
+
};
|
|
85010
|
+
const PIE_SERIES_COMPILE_ONLY_KEYS = {
|
|
85011
|
+
outerRadius: true
|
|
85012
|
+
};
|
|
83427
85013
|
class BasePieSeries extends PolarSeries {
|
|
83428
85014
|
constructor() {
|
|
83429
85015
|
super(...arguments);
|
|
@@ -83674,6 +85260,10 @@
|
|
|
83674
85260
|
computeDatumRadius(datum, state) {
|
|
83675
85261
|
return this._computeLayoutRadius() * this.getRadius(state) + this._centerOffset;
|
|
83676
85262
|
}
|
|
85263
|
+
_getSpecUpdatePolicy() {
|
|
85264
|
+
const policy = super._getSpecUpdatePolicy();
|
|
85265
|
+
return Object.assign(Object.assign({}, policy), { compileOnlyKeys: Object.assign(Object.assign({}, policy.compileOnlyKeys), PIE_SERIES_COMPILE_ONLY_KEYS), dataRelatedKeys: Object.assign(Object.assign({}, policy.dataRelatedKeys), PIE_SERIES_DATA_RELATED_KEYS) });
|
|
85266
|
+
}
|
|
83677
85267
|
_compareSpec(spec, prevSpec, ignoreCheckKeys) {
|
|
83678
85268
|
ignoreCheckKeys = ignoreCheckKeys !== null && ignoreCheckKeys !== void 0 ? ignoreCheckKeys : { data: true };
|
|
83679
85269
|
const defaultIgnoreKeys = [
|
|
@@ -85996,6 +87586,9 @@
|
|
|
85996
87586
|
}
|
|
85997
87587
|
};
|
|
85998
87588
|
|
|
87589
|
+
const CIRCULAR_PROGRESS_SERIES_COMPILE_ONLY_KEYS = {
|
|
87590
|
+
cornerRadius: true
|
|
87591
|
+
};
|
|
85999
87592
|
class CircularProgressSeries extends ProgressLikeSeries {
|
|
86000
87593
|
constructor() {
|
|
86001
87594
|
super(...arguments);
|
|
@@ -86025,6 +87618,10 @@
|
|
|
86025
87618
|
this.radiusAxisHelper.getScale(0).step());
|
|
86026
87619
|
};
|
|
86027
87620
|
}
|
|
87621
|
+
_getSpecUpdatePolicy() {
|
|
87622
|
+
const policy = super._getSpecUpdatePolicy();
|
|
87623
|
+
return Object.assign(Object.assign({}, policy), { compileOnlyKeys: Object.assign(Object.assign({}, policy.compileOnlyKeys), CIRCULAR_PROGRESS_SERIES_COMPILE_ONLY_KEYS) });
|
|
87624
|
+
}
|
|
86028
87625
|
getStackGroupFields() {
|
|
86029
87626
|
return this.getGroupFields();
|
|
86030
87627
|
}
|
|
@@ -86216,6 +87813,17 @@
|
|
|
86216
87813
|
}
|
|
86217
87814
|
};
|
|
86218
87815
|
|
|
87816
|
+
const LINEAR_PROGRESS_SERIES_COMPILE_ONLY_KEYS = {
|
|
87817
|
+
bandWidth: true
|
|
87818
|
+
};
|
|
87819
|
+
const LINEAR_PROGRESS_SERIES_COMPILE_ONLY_SUB_KEYS = {
|
|
87820
|
+
progress: {
|
|
87821
|
+
topPadding: true,
|
|
87822
|
+
bottomPadding: true,
|
|
87823
|
+
leftPadding: true,
|
|
87824
|
+
rightPadding: true
|
|
87825
|
+
}
|
|
87826
|
+
};
|
|
86219
87827
|
class LinearProgressSeries extends CartesianSeries {
|
|
86220
87828
|
constructor() {
|
|
86221
87829
|
super(...arguments);
|
|
@@ -86282,6 +87890,10 @@
|
|
|
86282
87890
|
return path;
|
|
86283
87891
|
};
|
|
86284
87892
|
}
|
|
87893
|
+
_getSpecUpdatePolicy() {
|
|
87894
|
+
const policy = super._getSpecUpdatePolicy();
|
|
87895
|
+
return Object.assign(Object.assign({}, policy), { compileOnlyKeys: Object.assign(Object.assign({}, policy.compileOnlyKeys), LINEAR_PROGRESS_SERIES_COMPILE_ONLY_KEYS), compileOnlySubKeys: Object.assign(Object.assign({}, policy.compileOnlySubKeys), LINEAR_PROGRESS_SERIES_COMPILE_ONLY_SUB_KEYS) });
|
|
87896
|
+
}
|
|
86285
87897
|
initMark() {
|
|
86286
87898
|
this._initTrackMark();
|
|
86287
87899
|
this._initProgressMark();
|
|
@@ -96345,6 +97957,9 @@
|
|
|
96345
97957
|
};
|
|
96346
97958
|
|
|
96347
97959
|
const DefaultBandWidth = 6;
|
|
97960
|
+
const HEATMAP_SERIES_DATA_RELATED_KEYS = {
|
|
97961
|
+
valueField: true
|
|
97962
|
+
};
|
|
96348
97963
|
class HeatmapSeries extends CartesianSeries {
|
|
96349
97964
|
constructor() {
|
|
96350
97965
|
super(...arguments);
|
|
@@ -96357,6 +97972,10 @@
|
|
|
96357
97972
|
setFieldValue(f) {
|
|
96358
97973
|
this._fieldValue = array(f);
|
|
96359
97974
|
}
|
|
97975
|
+
_getSpecUpdatePolicy() {
|
|
97976
|
+
const policy = super._getSpecUpdatePolicy();
|
|
97977
|
+
return Object.assign(Object.assign({}, policy), { dataRelatedKeys: Object.assign(Object.assign({}, policy.dataRelatedKeys), HEATMAP_SERIES_DATA_RELATED_KEYS) });
|
|
97978
|
+
}
|
|
96360
97979
|
setAttrFromSpec() {
|
|
96361
97980
|
super.setAttrFromSpec();
|
|
96362
97981
|
this.setFieldValue(this._spec.valueField);
|
|
@@ -98240,6 +99859,7 @@
|
|
|
98240
99859
|
'useSequentialAnimation',
|
|
98241
99860
|
'layoutRadius'
|
|
98242
99861
|
]);
|
|
99862
|
+
this._addSeriesRelatedSpecKeys(['valueField', 'angleField']);
|
|
98243
99863
|
seriesSpec.categoryField = spec.categoryField || spec.seriesField;
|
|
98244
99864
|
seriesSpec.valueField = spec.valueField || spec.angleField;
|
|
98245
99865
|
seriesSpec.emptyCircle = (_a = spec.emptyPlaceholder) === null || _a === void 0 ? void 0 : _a.emptyCircle;
|
|
@@ -98944,6 +100564,7 @@
|
|
|
98944
100564
|
_getDefaultSeriesSpec(spec) {
|
|
98945
100565
|
var _a, _b;
|
|
98946
100566
|
const series = super._getDefaultSeriesSpec(spec);
|
|
100567
|
+
this._addSeriesRelatedSpecKeys(['cornerRadius']);
|
|
98947
100568
|
series.progress = spec.progress;
|
|
98948
100569
|
series.track = spec.track;
|
|
98949
100570
|
series.tickMask = spec.tickMask;
|
|
@@ -99545,6 +101166,7 @@
|
|
|
99545
101166
|
}
|
|
99546
101167
|
_getDefaultSeriesSpec(spec) {
|
|
99547
101168
|
const series = super._getDefaultSeriesSpec(spec);
|
|
101169
|
+
this._addSeriesRelatedSpecKeys(['bar', 'stackLabel', 'leaderLine', 'total', 'calculationMode']);
|
|
99548
101170
|
series.bar = spec.bar;
|
|
99549
101171
|
series.stackLabel = spec.stackLabel;
|
|
99550
101172
|
series.leaderLine = spec.leaderLine;
|
|
@@ -99996,6 +101618,13 @@
|
|
|
99996
101618
|
return data;
|
|
99997
101619
|
};
|
|
99998
101620
|
|
|
101621
|
+
const LEGEND_COMPONENT_ONLY_CHANGE_KEYS = {
|
|
101622
|
+
position: true,
|
|
101623
|
+
item: true,
|
|
101624
|
+
title: true,
|
|
101625
|
+
pager: true,
|
|
101626
|
+
background: true
|
|
101627
|
+
};
|
|
99999
101628
|
class BaseLegend extends BaseComponent {
|
|
100000
101629
|
constructor() {
|
|
100001
101630
|
super(...arguments);
|
|
@@ -100061,15 +101690,31 @@
|
|
|
100061
101690
|
_compareSpec(spec, prevSpec) {
|
|
100062
101691
|
const result = super._compareSpec(spec, prevSpec);
|
|
100063
101692
|
result.reRender = true;
|
|
101693
|
+
const specChanged = !isEqual(prevSpec, spec);
|
|
101694
|
+
if (result.reMake) {
|
|
101695
|
+
return result;
|
|
101696
|
+
}
|
|
100064
101697
|
if ((spec === null || spec === void 0 ? void 0 : spec.orient) !== (prevSpec === null || prevSpec === void 0 ? void 0 : prevSpec.orient)) {
|
|
100065
101698
|
result.reMake = true;
|
|
100066
101699
|
return result;
|
|
100067
101700
|
}
|
|
100068
|
-
if (!
|
|
101701
|
+
if (specChanged && !result.reCompile && this._isComponentOnlySpecChange(spec, prevSpec)) {
|
|
101702
|
+
result.effects = Object.assign(Object.assign({}, result.effects), { component: true, layout: true, render: true });
|
|
101703
|
+
return result;
|
|
101704
|
+
}
|
|
101705
|
+
if (specChanged) {
|
|
100069
101706
|
result.reCompile = true;
|
|
100070
101707
|
}
|
|
100071
101708
|
return result;
|
|
100072
101709
|
}
|
|
101710
|
+
_isComponentOnlySpecChange(spec, prevSpec) {
|
|
101711
|
+
const prevSpecRecord = prevSpec;
|
|
101712
|
+
const specRecord = spec;
|
|
101713
|
+
const keys = Object.keys(Object.assign(Object.assign({}, prevSpec), spec));
|
|
101714
|
+
return keys.every(key => {
|
|
101715
|
+
return isEqual(prevSpecRecord === null || prevSpecRecord === void 0 ? void 0 : prevSpecRecord[key], specRecord === null || specRecord === void 0 ? void 0 : specRecord[key]) || LEGEND_COMPONENT_ONLY_CHANGE_KEYS[key];
|
|
101716
|
+
});
|
|
101717
|
+
}
|
|
100073
101718
|
_bindLegendDataChange() {
|
|
100074
101719
|
this._preSelectedData = this._selectedData.slice();
|
|
100075
101720
|
this._initSelectedData();
|
|
@@ -105811,10 +107456,72 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
|
|
|
105811
107456
|
return data;
|
|
105812
107457
|
}
|
|
105813
107458
|
|
|
107459
|
+
const getDataViewsInDataSet = (dataView) => {
|
|
107460
|
+
var _a;
|
|
107461
|
+
const dataViewMap = (_a = dataView === null || dataView === void 0 ? void 0 : dataView.dataSet) === null || _a === void 0 ? void 0 : _a.dataViewMap;
|
|
107462
|
+
return dataViewMap ? Object.values(dataViewMap).filter(Boolean) : [];
|
|
107463
|
+
};
|
|
107464
|
+
const detachDataViewListener = (source, target) => {
|
|
107465
|
+
var _a, _b;
|
|
107466
|
+
(_a = source === null || source === void 0 ? void 0 : source.target) === null || _a === void 0 ? void 0 : _a.removeListener('change', target.reRunAllTransform);
|
|
107467
|
+
(_b = source === null || source === void 0 ? void 0 : source.target) === null || _b === void 0 ? void 0 : _b.removeListener('markRunning', target.markRunning);
|
|
107468
|
+
};
|
|
107469
|
+
const detachDataViewDependencies = (dataView) => {
|
|
107470
|
+
if (!dataView) {
|
|
107471
|
+
return;
|
|
107472
|
+
}
|
|
107473
|
+
const dataViews = getDataViewsInDataSet(dataView);
|
|
107474
|
+
dataViews.forEach(source => {
|
|
107475
|
+
detachDataViewListener(source, dataView);
|
|
107476
|
+
});
|
|
107477
|
+
const dependencies = dataView === null || dataView === void 0 ? void 0 : dataView.rawData;
|
|
107478
|
+
if (Array.isArray(dependencies)) {
|
|
107479
|
+
dependencies.forEach(dependency => {
|
|
107480
|
+
detachDataViewListener(dependency, dataView);
|
|
107481
|
+
});
|
|
107482
|
+
}
|
|
107483
|
+
};
|
|
107484
|
+
const releaseDataViews = (dataViews) => {
|
|
107485
|
+
const releaseDataViews = Array.from(new Set(dataViews.filter(Boolean)));
|
|
107486
|
+
if (!releaseDataViews.length) {
|
|
107487
|
+
return;
|
|
107488
|
+
}
|
|
107489
|
+
releaseDataViews.forEach(detachDataViewDependencies);
|
|
107490
|
+
releaseDataViews.forEach(dataView => {
|
|
107491
|
+
var _a;
|
|
107492
|
+
(_a = dataView.destroy) === null || _a === void 0 ? void 0 : _a.call(dataView);
|
|
107493
|
+
});
|
|
107494
|
+
};
|
|
107495
|
+
const releaseDataViewWithDependencies = (dataView, shouldReleaseDependency) => {
|
|
107496
|
+
if (!dataView) {
|
|
107497
|
+
return;
|
|
107498
|
+
}
|
|
107499
|
+
const dataViewsInDataSet = new Set(getDataViewsInDataSet(dataView));
|
|
107500
|
+
const releaseDependencies = [];
|
|
107501
|
+
const collectReleaseDependencies = (currentDataView) => {
|
|
107502
|
+
const dependencies = currentDataView === null || currentDataView === void 0 ? void 0 : currentDataView.rawData;
|
|
107503
|
+
if (!Array.isArray(dependencies)) {
|
|
107504
|
+
return;
|
|
107505
|
+
}
|
|
107506
|
+
dependencies.forEach(dependency => {
|
|
107507
|
+
if (dataViewsInDataSet.has(dependency) &&
|
|
107508
|
+
shouldReleaseDependency(dependency) &&
|
|
107509
|
+
!releaseDependencies.includes(dependency)) {
|
|
107510
|
+
releaseDependencies.push(dependency);
|
|
107511
|
+
collectReleaseDependencies(dependency);
|
|
107512
|
+
}
|
|
107513
|
+
});
|
|
107514
|
+
};
|
|
107515
|
+
collectReleaseDependencies(dataView);
|
|
107516
|
+
releaseDataViews([dataView, ...releaseDependencies]);
|
|
107517
|
+
};
|
|
107518
|
+
|
|
105814
107519
|
class BaseMarker extends BaseComponent {
|
|
105815
107520
|
constructor() {
|
|
105816
107521
|
super(...arguments);
|
|
105817
107522
|
this.layoutType = 'none';
|
|
107523
|
+
this._markerDataChangeHandler = null;
|
|
107524
|
+
this._markerDataOwned = false;
|
|
105818
107525
|
this._layoutOffsetX = 0;
|
|
105819
107526
|
this._layoutOffsetY = 0;
|
|
105820
107527
|
}
|
|
@@ -105894,6 +107601,33 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
|
|
|
105894
107601
|
}
|
|
105895
107602
|
return this._relativeSeries.getViewData();
|
|
105896
107603
|
}
|
|
107604
|
+
_setMarkerData(data, owned = false) {
|
|
107605
|
+
this._releaseMarkerData();
|
|
107606
|
+
this._markerData = data;
|
|
107607
|
+
this._markerDataOwned = owned;
|
|
107608
|
+
}
|
|
107609
|
+
_bindMarkerDataChange() {
|
|
107610
|
+
var _a;
|
|
107611
|
+
if (!((_a = this._markerData) === null || _a === void 0 ? void 0 : _a.target)) {
|
|
107612
|
+
return;
|
|
107613
|
+
}
|
|
107614
|
+
this._markerDataChangeHandler = () => {
|
|
107615
|
+
this._markerLayout();
|
|
107616
|
+
};
|
|
107617
|
+
this._markerData.target.on('change', this._markerDataChangeHandler);
|
|
107618
|
+
}
|
|
107619
|
+
_releaseMarkerData() {
|
|
107620
|
+
const markerData = this._markerData;
|
|
107621
|
+
if ((markerData === null || markerData === void 0 ? void 0 : markerData.target) && this._markerDataChangeHandler) {
|
|
107622
|
+
markerData.target.removeListener('change', this._markerDataChangeHandler);
|
|
107623
|
+
}
|
|
107624
|
+
this._markerDataChangeHandler = null;
|
|
107625
|
+
if (this._markerDataOwned) {
|
|
107626
|
+
releaseDataViewWithDependencies(markerData, dataView => dataView.name === `${this.type}_${this.id}_data`);
|
|
107627
|
+
}
|
|
107628
|
+
this._markerData = null;
|
|
107629
|
+
this._markerDataOwned = false;
|
|
107630
|
+
}
|
|
105897
107631
|
updateLayoutAttribute() {
|
|
105898
107632
|
var _a, _b, _c;
|
|
105899
107633
|
const markerVisible = (_a = this._spec.visible) !== null && _a !== void 0 ? _a : true;
|
|
@@ -105945,8 +107679,13 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
|
|
|
105945
107679
|
}
|
|
105946
107680
|
clear() {
|
|
105947
107681
|
super.clear();
|
|
107682
|
+
this._markerComponent = null;
|
|
105948
107683
|
this._firstSeries = null;
|
|
105949
107684
|
}
|
|
107685
|
+
release() {
|
|
107686
|
+
this._releaseMarkerData();
|
|
107687
|
+
super.release();
|
|
107688
|
+
}
|
|
105950
107689
|
_getFirstSeries() {
|
|
105951
107690
|
var _a;
|
|
105952
107691
|
if (this._firstSeries) {
|
|
@@ -105998,10 +107737,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
|
|
|
105998
107737
|
type: 'markerFilter',
|
|
105999
107738
|
options: this._getAllRelativeSeries()
|
|
106000
107739
|
});
|
|
106001
|
-
|
|
106002
|
-
|
|
106003
|
-
});
|
|
106004
|
-
this._markerData = data;
|
|
107740
|
+
this._setMarkerData(data, true);
|
|
107741
|
+
this._bindMarkerDataChange();
|
|
106005
107742
|
}
|
|
106006
107743
|
}
|
|
106007
107744
|
|
|
@@ -106132,7 +107869,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
|
|
|
106132
107869
|
const spec = this._spec;
|
|
106133
107870
|
const isCoordinateProcess = 'coordinates' in spec;
|
|
106134
107871
|
const { doXProcess, doYProcess, doXYY1Process, doYXX1Process, doXYProcess, doAngleProcess, doRadiusProcess, doAngRadRad1Process, doRadAngAng1Process, doRadAngProcess } = getMarkLineProcessInfo(spec);
|
|
106135
|
-
this.
|
|
107872
|
+
this._setMarkerData(this._getRelativeDataView());
|
|
106136
107873
|
if (!doXProcess &&
|
|
106137
107874
|
!doYProcess &&
|
|
106138
107875
|
!doXYY1Process &&
|
|
@@ -106170,10 +107907,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
|
|
|
106170
107907
|
type: 'markerFilter',
|
|
106171
107908
|
options: this._getAllRelativeSeries()
|
|
106172
107909
|
});
|
|
106173
|
-
|
|
106174
|
-
|
|
106175
|
-
});
|
|
106176
|
-
this._markerData = data;
|
|
107910
|
+
this._setMarkerData(data, true);
|
|
107911
|
+
this._bindMarkerDataChange();
|
|
106177
107912
|
}
|
|
106178
107913
|
}
|
|
106179
107914
|
BaseMarkLine.specKey = 'markLine';
|
|
@@ -106623,11 +108358,15 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
|
|
|
106623
108358
|
}
|
|
106624
108359
|
_compareSpec(spec, prevSpec) {
|
|
106625
108360
|
const result = super._compareSpec(spec, prevSpec);
|
|
108361
|
+
const specChanged = !isEqual(prevSpec, spec);
|
|
106626
108362
|
if ((prevSpec === null || prevSpec === void 0 ? void 0 : prevSpec.orient) !== (spec === null || spec === void 0 ? void 0 : spec.orient) || (prevSpec === null || prevSpec === void 0 ? void 0 : prevSpec.visible) !== spec.visible) {
|
|
106627
108363
|
result.reMake = true;
|
|
106628
108364
|
}
|
|
106629
108365
|
result.change = true;
|
|
106630
108366
|
result.reRender = true;
|
|
108367
|
+
if (specChanged && !result.reMake) {
|
|
108368
|
+
result.effects = Object.assign(Object.assign({}, result.effects), { component: true, layout: true, render: true });
|
|
108369
|
+
}
|
|
106631
108370
|
return result;
|
|
106632
108371
|
}
|
|
106633
108372
|
afterSetLayoutStartPoint(pos) {
|
|
@@ -107792,7 +109531,9 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
|
|
|
107792
109531
|
Object.keys(removedComponents).forEach(name => {
|
|
107793
109532
|
const comp = removedComponents[name];
|
|
107794
109533
|
if (comp) {
|
|
107795
|
-
comp.
|
|
109534
|
+
if (!comp.releaseWithExitAnimation()) {
|
|
109535
|
+
comp.release();
|
|
109536
|
+
}
|
|
107796
109537
|
this._labelComponentMap.delete(comp);
|
|
107797
109538
|
}
|
|
107798
109539
|
});
|
|
@@ -108477,6 +110218,10 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
|
|
|
108477
110218
|
});
|
|
108478
110219
|
});
|
|
108479
110220
|
}
|
|
110221
|
+
reInit(spec) {
|
|
110222
|
+
super.reInit(spec);
|
|
110223
|
+
this.init();
|
|
110224
|
+
}
|
|
108480
110225
|
_initNeedOperatedItem() {
|
|
108481
110226
|
const seriesUserId = this._spec.seriesId;
|
|
108482
110227
|
const seriesIndex = this._spec.seriesIndex;
|