@visactor/vrender-core 1.1.0-alpha.11 → 1.1.0-alpha.13
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/cjs/common/canvas-utils.js +1 -0
- package/cjs/common/diff.js +1 -2
- package/cjs/common/explicit-binding.js +1 -1
- package/cjs/common/generator.js +1 -1
- package/cjs/common/matrix.js +1 -1
- package/cjs/common/morphing-utils.js +1 -1
- package/cjs/common/path-svg.js +1 -1
- package/cjs/common/performance-raf.js +1 -1
- package/cjs/common/polygon.js +2 -2
- package/cjs/common/rect-utils.js +1 -1
- package/cjs/common/render-area.js +1 -1
- package/cjs/common/render-command-list.js +1 -1
- package/cjs/common/render-curve.js +1 -1
- package/cjs/common/render-utils.js +1 -1
- package/cjs/common/seg-context.js +1 -2
- package/cjs/common/simplify.js +1 -1
- package/cjs/common/sort.js +1 -1
- package/cjs/common/split-path.js +1 -1
- package/cjs/common/store.js +1 -1
- package/cjs/common/text.js +1 -1
- package/cjs/common/utils.js +1 -1
- package/cjs/core/camera.js +1 -1
- package/cjs/core/constants.js +1 -1
- package/cjs/core/core-modules.js +1 -1
- package/cjs/core/global-module.js +2 -0
- package/cjs/core/global.js +1 -1
- package/cjs/core/graphic-utils.js +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/layer-service.js +2 -1
- package/cjs/core/layer.js +1 -1
- package/cjs/core/light.js +1 -1
- package/cjs/core/stage.js +1 -1
- package/cjs/core/window.js +1 -1
- package/cjs/entries/app-context.js +1 -1
- package/cjs/entries/browser.js +1 -1
- package/cjs/entries/index.js +1 -1
- package/cjs/entries/miniapp.js +1 -1
- package/cjs/entries/node.js +1 -1
- package/cjs/entries/runtime-installer.js +1 -1
- package/cjs/entries/types.js +1 -1
- package/cjs/graphic/graphic.d.ts +4 -0
- package/cjs/graphic/graphic.js +31 -4
- package/cjs/graphic/graphic.js.map +1 -1
- package/cjs/interface/animation/animate.d.ts +1 -0
- package/cjs/interface/animation/animate.js.map +1 -1
- package/dist/index.es.js +77 -3
- package/es/common/canvas-utils.js +2 -1
- package/es/common/diff.js +1 -2
- package/es/common/explicit-binding.js +1 -1
- package/es/common/generator.js +1 -1
- package/es/common/matrix.js +1 -1
- package/es/common/morphing-utils.js +1 -1
- package/es/common/path-svg.js +1 -1
- package/es/common/performance-raf.js +1 -1
- package/es/common/polygon.js +1 -1
- package/es/common/rect-utils.js +1 -1
- package/es/common/render-area.js +1 -1
- package/es/common/render-command-list.js +1 -1
- package/es/common/render-curve.js +1 -1
- package/es/common/render-utils.js +1 -1
- package/es/common/seg-context.js +1 -2
- package/es/common/simplify.js +1 -1
- package/es/common/sort.js +1 -1
- package/es/common/split-path.js +1 -1
- package/es/common/store.js +1 -1
- package/es/common/text.js +1 -1
- package/es/common/utils.js +1 -1
- package/es/core/camera.js +1 -1
- package/es/core/constants.js +1 -1
- package/es/core/core-modules.js +1 -1
- package/es/core/global-module.js +2 -0
- package/es/core/global.js +1 -1
- package/es/core/graphic-utils.js +1 -1
- package/es/core/index.js +1 -1
- package/es/core/layer-service.js +2 -1
- package/es/core/layer.js +1 -1
- package/es/core/light.js +1 -1
- package/es/core/stage.js +1 -1
- package/es/core/window.js +1 -1
- package/es/entries/app-context.js +1 -1
- package/es/entries/browser.js +1 -1
- package/es/entries/index.js +1 -1
- package/es/entries/miniapp.js +1 -1
- package/es/entries/node.js +1 -1
- package/es/entries/runtime-installer.js +1 -1
- package/es/entries/types.js +1 -1
- package/es/graphic/graphic.d.ts +4 -0
- package/es/graphic/graphic.js +31 -4
- package/es/graphic/graphic.js.map +1 -1
- package/es/interface/animation/animate.d.ts +1 -0
- package/es/interface/animation/animate.js.map +1 -1
- package/package.json +3 -3
|
@@ -35,6 +35,7 @@ export interface IStep {
|
|
|
35
35
|
getFromProps: () => Record<string, any> | void;
|
|
36
36
|
getMergedEndProps: () => Record<string, any> | void;
|
|
37
37
|
deleteSelfAttr: (key: string) => void;
|
|
38
|
+
deleteSelfAttrs: (keys: string[]) => void;
|
|
38
39
|
stop: () => void;
|
|
39
40
|
release: () => void;
|
|
40
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interface/animation/animate.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../src/interface/animation/animate.ts"],"names":[],"mappings":";;;AA2KA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,iDAAe,CAAA;IACf,6EAA6B,CAAA;AAC/B,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB","file":"animate.js","sourcesContent":["import type { IGraphic } from '../graphic';\nimport type { EasingType, EasingTypeFunc } from './easing';\nimport type { AnimateStatus, IAnimateStepType } from './type';\nimport type { ITimeline } from './timeline';\n\nexport interface ICustomAnimate extends IStep {\n type: IAnimateStepType;\n}\n\nexport interface IStep {\n type: IAnimateStepType;\n prev?: IStep;\n // 持续时间\n duration: number;\n // 链表,下一个\n next?: IStep;\n // 属性\n props?: Record<string, any>;\n // 解析后的属性(用于性能优化,避免每次tick都解析)\n fromParsedProps?: Record<string, any>;\n toParsedProps?: Record<string, any>;\n fromProps?: Record<string, any>;\n // 解析后的属性列表(用于性能优化,避免每次tick都解析)\n propKeys?: string[];\n // 缓动函数\n easing?: EasingTypeFunc;\n\n // 添加一个\n append: (step: IStep) => void;\n // 获取上一个props,用于完成这次的fromValue 和 toValue的插值\n getLastProps: () => any;\n\n animate: IAnimate;\n\n // 设置持续时间\n setDuration: (duration: number, updateDownstream?: boolean) => void;\n // 获取持续时间\n getDuration: () => number;\n // 确定插值更新函数(在开始的时候就确定,避免每次tick都解析)\n determineInterpolateUpdateFunction: () => void;\n\n // 设置开始时间\n setStartTime: (time: number, updateDownstream?: boolean) => void;\n // 获取开始时间\n getStartTime: () => number;\n\n bind: (target: IGraphic, animate: IAnimate) => void;\n // 在第一次绑定到Animate的时候触发\n onBind: () => void;\n // 第一次执行的时候调用\n onFirstRun: () => void;\n // 开始执行的时候调用(如果有循环,那每个周期都会调用)\n onStart: () => void;\n // 结束执行的时候调用(如果有循环,那每个周期都会调用)\n onEnd: (cb?: (animate: IAnimate, step: IStep) => void) => void;\n // 更新执行的时候调用(如果有循环,那每个周期都会调用)\n update: (end: boolean, ratio: number, out: Record<string, any>) => void;\n onUpdate: (end: boolean, ratio: number, out: Record<string, any>) => void;\n\n getEndProps: () => Record<string, any> | void;\n getFromProps: () => Record<string, any> | void;\n getMergedEndProps: () => Record<string, any> | void;\n\n // 屏蔽自身属性,会直接从props等内容里删除掉\n deleteSelfAttr: (key: string) => void;\n // 批量屏蔽自身属性,避免大量图元切换时反复 splice/delete\n deleteSelfAttrs: (keys: string[]) => void;\n\n // 停止\n stop: () => void;\n\n // 释放\n release: () => void;\n}\n\nexport interface IAnimate {\n readonly id: string | number;\n status: AnimateStatus;\n target: IGraphic;\n priority: number;\n interpolateUpdateFunction:\n | ((from: Record<string, any>, to: Record<string, any>, ratio: number, step: IStep, target: IGraphic) => void)\n | null;\n\n _onStart?: (() => void)[];\n _onFrame?: ((step: IStep, ratio: number) => void)[];\n _onEnd?: (() => void)[];\n _onRemove?: (() => void)[];\n\n getStartProps: () => Record<string, any>;\n getEndProps: () => Record<string, any>;\n\n // 设置timeline\n setTimeline: (timeline: ITimeline) => void;\n // 获取timeline\n getTimeline: () => ITimeline;\n readonly timeline: ITimeline;\n\n bind: (target: IGraphic) => this;\n to: (props: Record<string, any>, duration: number, easing: EasingType) => this;\n from: (props: Record<string, any>, duration: number, easing: EasingType) => this;\n pause: () => void;\n resume: () => void;\n onStart: (cb?: () => void) => void;\n onEnd: (cb?: () => void) => void;\n onFrame: (cb: (step: IStep, ratio: number) => void) => void;\n onRemove: (cb?: () => void) => void;\n // 屏蔽属性\n preventAttr: (key: string) => void;\n // 屏蔽属性\n preventAttrs: (key: string[]) => void;\n // 属性是否合法\n validAttr: (key: string) => boolean;\n\n runCb: (cb: (a: IAnimate, step: IStep) => void) => IAnimate;\n\n // 自定义插值,返回false表示没有匹配上\n customInterpolate: (\n key: string,\n ratio: number,\n from: any,\n to: any,\n target: IGraphic,\n ret: Record<string, any>\n ) => boolean;\n play: (customAnimate: ICustomAnimate) => this;\n\n getFromValue: () => Record<string, any>;\n getToValue: () => Record<string, any>;\n // 停止,可以设置停止后设置target的属性为开始的值(fromValue),还是结束的值(toValue)\n stop: (type?: 'start' | 'end' | Record<string, any>) => void;\n /** 打上END标志,下一帧被删除 */\n release: () => void;\n // 获取持续的时长\n getDuration: () => number;\n getTotalDuration: () => number;\n // 获取动画开始时间(注意并不是子动画的startAt)\n getStartTime: () => number;\n // 等待delay\n wait: (delay: number) => this;\n\n /* 动画编排 */\n // 所有动画结束后执行\n afterAll: (list: IAnimate[]) => this;\n // 在某个动画结束后执行\n after: (animate: IAnimate) => this;\n // 并行执行\n parallel: (animate: IAnimate) => this;\n\n getLoop: () => number;\n\n // 反转动画\n // reversed: (r: boolean) => IAnimate;\n // 循环动画\n loop: (n: number | boolean) => IAnimate;\n // 反弹动画\n bounce: (b: boolean) => IAnimate;\n\n advance: (delta: number) => void;\n\n // 设置开始时间(startAt之前是完全不会进入动画生命周期的)\n // 它和wait不一样,如果调用的是wait,wait过程中还算是一个动画阶段,只是空的阶段,而startAt之前是完全不会进入动画生命周期的\n startAt: (t: number) => IAnimate;\n\n // 重新同步和计算props,用于内部某些step发生了变更后,重新计算自身\n reSyncProps: () => void;\n\n // 更新duration\n updateDuration: () => void;\n}\n\nexport enum AnimateMode {\n NORMAL = 0b0000,\n SET_ATTR_IMMEDIATELY = 0b0001\n}\n\nexport interface IAnimateTarget {\n onAnimateBind?: (animte: IAnimate) => void;\n // 获取属性\n getComputedAttribute: (name: string) => any;\n // 获取默认属性\n getDefaultAttribute: (name: string) => any;\n onStop: (props?: Record<string, any>) => void;\n animates: Map<string | number, IAnimate>;\n [key: string]: any;\n}\n\nexport interface BaseAnimateConfig {\n id?: number | string;\n interpolate?: (key: string, ratio: number, from: any, to: any, nextAttributes: any) => boolean;\n onStart?: () => void;\n onFrame?: (step: IStep, ratio: number) => void;\n onEnd?: () => void;\n onRemove?: () => void;\n}\n\nexport interface MorphingAnimateConfig extends Omit<BaseAnimateConfig, 'interpolate'> {\n duration?: number;\n easing?: EasingType; // 统一到easing\n delay?: number;\n}\n\nexport interface MultiMorphingAnimateConfig extends MorphingAnimateConfig {\n splitPath?: 'clone' | ((graphic: IGraphic, count: number, needAppend?: boolean) => IGraphic[]);\n individualDelay?: (index: number, count: number, fromGraphic: IGraphic, toGraphic: IGraphic) => number;\n}\n"]}
|
package/dist/index.es.js
CHANGED
|
@@ -11309,16 +11309,90 @@ class Graphic extends Node {
|
|
|
11309
11309
|
this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;
|
|
11310
11310
|
}
|
|
11311
11311
|
setAttributesAndPreventAnimate(params, forceUpdateTag = false, context, ignorePriority) {
|
|
11312
|
+
if (!params) {
|
|
11313
|
+
return;
|
|
11314
|
+
}
|
|
11315
|
+
const keys = Object.keys(params);
|
|
11316
|
+
this.captureTransientFromAttrsBeforePreventAnimate(params, keys, context);
|
|
11312
11317
|
this.visitTrackedAnimates(animate => {
|
|
11313
11318
|
if (animate.priority === Infinity && !ignorePriority) {
|
|
11314
11319
|
return;
|
|
11315
11320
|
}
|
|
11316
|
-
|
|
11317
|
-
animate.preventAttr(key);
|
|
11318
|
-
});
|
|
11321
|
+
animate.preventAttrs(keys);
|
|
11319
11322
|
});
|
|
11320
11323
|
this.applyTransientAttributes(params, forceUpdateTag, context);
|
|
11321
11324
|
}
|
|
11325
|
+
captureTransientFromAttrsBeforePreventAnimate(params, keys, context) {
|
|
11326
|
+
var _a;
|
|
11327
|
+
const graphicContext = this.context;
|
|
11328
|
+
const diffAttrs = graphicContext === null || graphicContext === void 0 ? void 0 : graphicContext.diffAttrs;
|
|
11329
|
+
const updateType = context === null || context === void 0 ? void 0 : context.type;
|
|
11330
|
+
if (!keys.length ||
|
|
11331
|
+
!graphicContext ||
|
|
11332
|
+
!diffAttrs ||
|
|
11333
|
+
updateType === AttributeUpdateType.STATE ||
|
|
11334
|
+
(updateType != null &&
|
|
11335
|
+
updateType >= AttributeUpdateType.ANIMATE_BIND &&
|
|
11336
|
+
updateType <= AttributeUpdateType.ANIMATE_END)) {
|
|
11337
|
+
return;
|
|
11338
|
+
}
|
|
11339
|
+
let fromAttrs = this.transientFromAttrsBeforePreventAnimateDiffAttrs === diffAttrs
|
|
11340
|
+
? (_a = this.transientFromAttrsBeforePreventAnimate) !== null && _a !== void 0 ? _a : null
|
|
11341
|
+
: null;
|
|
11342
|
+
let captured = false;
|
|
11343
|
+
for (let i = 0; i < keys.length; i++) {
|
|
11344
|
+
const key = keys[i];
|
|
11345
|
+
if (!Object.prototype.hasOwnProperty.call(diffAttrs, key)) {
|
|
11346
|
+
continue;
|
|
11347
|
+
}
|
|
11348
|
+
const previousValue = this.attribute[key];
|
|
11349
|
+
const nextValue = params[key];
|
|
11350
|
+
if (isEqual(previousValue, nextValue)) {
|
|
11351
|
+
continue;
|
|
11352
|
+
}
|
|
11353
|
+
fromAttrs !== null && fromAttrs !== void 0 ? fromAttrs : (fromAttrs = {});
|
|
11354
|
+
fromAttrs[key] = cloneAttributeValue(previousValue);
|
|
11355
|
+
captured = true;
|
|
11356
|
+
}
|
|
11357
|
+
if (captured) {
|
|
11358
|
+
this.transientFromAttrsBeforePreventAnimate = fromAttrs;
|
|
11359
|
+
this.transientFromAttrsBeforePreventAnimateDiffAttrs = diffAttrs;
|
|
11360
|
+
}
|
|
11361
|
+
}
|
|
11362
|
+
consumeTransientFromAttrsBeforePreventAnimate(rawDiffAttrs, diffAttrs) {
|
|
11363
|
+
const transientFromAttrs = this.transientFromAttrsBeforePreventAnimate;
|
|
11364
|
+
if (!transientFromAttrs || this.transientFromAttrsBeforePreventAnimateDiffAttrs !== rawDiffAttrs) {
|
|
11365
|
+
return null;
|
|
11366
|
+
}
|
|
11367
|
+
let fromAttrs = null;
|
|
11368
|
+
let remaining = false;
|
|
11369
|
+
for (const key in transientFromAttrs) {
|
|
11370
|
+
if (!Object.prototype.hasOwnProperty.call(transientFromAttrs, key)) {
|
|
11371
|
+
continue;
|
|
11372
|
+
}
|
|
11373
|
+
if (Object.prototype.hasOwnProperty.call(diffAttrs, key)) {
|
|
11374
|
+
fromAttrs !== null && fromAttrs !== void 0 ? fromAttrs : (fromAttrs = {});
|
|
11375
|
+
fromAttrs[key] = transientFromAttrs[key];
|
|
11376
|
+
continue;
|
|
11377
|
+
}
|
|
11378
|
+
remaining = true;
|
|
11379
|
+
}
|
|
11380
|
+
if (remaining) {
|
|
11381
|
+
const nextTransientFromAttrs = {};
|
|
11382
|
+
for (const key in transientFromAttrs) {
|
|
11383
|
+
if (Object.prototype.hasOwnProperty.call(transientFromAttrs, key) &&
|
|
11384
|
+
!Object.prototype.hasOwnProperty.call(diffAttrs, key)) {
|
|
11385
|
+
nextTransientFromAttrs[key] = transientFromAttrs[key];
|
|
11386
|
+
}
|
|
11387
|
+
}
|
|
11388
|
+
this.transientFromAttrsBeforePreventAnimate = nextTransientFromAttrs;
|
|
11389
|
+
}
|
|
11390
|
+
else {
|
|
11391
|
+
this.transientFromAttrsBeforePreventAnimate = null;
|
|
11392
|
+
this.transientFromAttrsBeforePreventAnimateDiffAttrs = null;
|
|
11393
|
+
}
|
|
11394
|
+
return fromAttrs;
|
|
11395
|
+
}
|
|
11322
11396
|
setAttributes(params, forceUpdateTag = false, context) {
|
|
11323
11397
|
if (!params) {
|
|
11324
11398
|
return;
|
|
@@ -51,4 +51,5 @@ function createConicGradient(context, color, x, y, w, h) {
|
|
|
51
51
|
return color.stops.forEach((stop => {
|
|
52
52
|
canvasGradient.addColorStop(stop.offset, stop.color);
|
|
53
53
|
})), canvasGradient.GetPattern ? canvasGradient.GetPattern(w + x, h + y, undefined) : canvasGradient;
|
|
54
|
-
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=canvas-utils.js.map
|
package/es/common/diff.js
CHANGED
|
@@ -7,4 +7,4 @@ export function resolveContainerBinding(container, serviceIdentifier) {
|
|
|
7
7
|
if (null == instance) throw new Error(`No binding found for ${describeServiceIdentifier(serviceIdentifier)}.`);
|
|
8
8
|
return instance;
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=explicit-binding.js.map
|
|
10
|
+
//# sourceMappingURL=explicit-binding.js.map
|
package/es/common/generator.js
CHANGED
package/es/common/matrix.js
CHANGED
|
@@ -118,4 +118,4 @@ export function transformMat4(out, a, m) {
|
|
|
118
118
|
return w = w || 1, out[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w, out[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w,
|
|
119
119
|
out[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w, out;
|
|
120
120
|
}
|
|
121
|
-
//# sourceMappingURL=matrix.js.map
|
|
121
|
+
//# sourceMappingURL=matrix.js.map
|
package/es/common/path-svg.js
CHANGED
package/es/common/polygon.js
CHANGED
package/es/common/rect-utils.js
CHANGED
package/es/common/render-area.js
CHANGED
package/es/common/seg-context.js
CHANGED
package/es/common/simplify.js
CHANGED
|
@@ -30,4 +30,4 @@ export function flatten_simplify(points, tolerance, highestQuality) {
|
|
|
30
30
|
if (points.length <= 10) return points;
|
|
31
31
|
return points = highestQuality ? points : simplifyRadialDist(points, void 0 !== tolerance ? tolerance * tolerance : 1);
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=simplify.js.map
|
|
33
|
+
//# sourceMappingURL=simplify.js.map
|
package/es/common/sort.js
CHANGED
package/es/common/split-path.js
CHANGED
package/es/common/store.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
class StageStore {}
|
|
2
|
-
//# sourceMappingURL=store.js.map
|
|
2
|
+
//# sourceMappingURL=store.js.map
|
package/es/common/text.js
CHANGED
|
@@ -24,4 +24,4 @@ export function textAttributesToStyle(attrs) {
|
|
|
24
24
|
attrs.underline ? style["text-decoration"] = "underline" : attrs.lineThrough && (style["text-decoration"] = "line-through"),
|
|
25
25
|
attrs.fill && isString(attrs.fill) && (style.color = attrs.fill), style;
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=text.js.map
|
|
27
|
+
//# sourceMappingURL=text.js.map
|
package/es/common/utils.js
CHANGED
package/es/core/camera.js
CHANGED
package/es/core/constants.js
CHANGED
|
@@ -9,4 +9,4 @@ export const StaticLayerHandlerContribution = Symbol.for("StaticLayerHandlerCont
|
|
|
9
9
|
export const DynamicLayerHandlerContribution = Symbol.for("DynamicLayerHandlerContribution");
|
|
10
10
|
|
|
11
11
|
export const VirtualLayerHandlerContribution = Symbol.for("VirtualLayerHandlerContribution");
|
|
12
|
-
//# sourceMappingURL=constants.js.map
|
|
12
|
+
//# sourceMappingURL=constants.js.map
|
package/es/core/core-modules.js
CHANGED
package/es/core/global-module.js
CHANGED
package/es/core/global.js
CHANGED
package/es/core/graphic-utils.js
CHANGED
package/es/core/index.js
CHANGED
package/es/core/layer-service.js
CHANGED
|
@@ -75,4 +75,5 @@ export class DefaultLayerService {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
DefaultLayerService.idprefix = "visactor_layer", DefaultLayerService.prefix_count = 0;
|
|
78
|
+
DefaultLayerService.idprefix = "visactor_layer", DefaultLayerService.prefix_count = 0;
|
|
79
|
+
//# sourceMappingURL=layer-service.js.map
|
package/es/core/layer.js
CHANGED
package/es/core/light.js
CHANGED
package/es/core/stage.js
CHANGED
package/es/core/window.js
CHANGED
package/es/entries/browser.js
CHANGED
package/es/entries/index.js
CHANGED
package/es/entries/miniapp.js
CHANGED
package/es/entries/node.js
CHANGED
|
@@ -127,4 +127,4 @@ export function installRuntimePickersToApp(app, serviceIdentifier) {
|
|
|
127
127
|
const pickers = bindingContext.getAll(serviceIdentifier);
|
|
128
128
|
app.registry.picker.clear(), registerRuntimeEntries(((key, picker) => app.registry.picker.register(key, picker)), pickers, "runtime-picker");
|
|
129
129
|
}
|
|
130
|
-
//# sourceMappingURL=runtime-installer.js.map
|
|
130
|
+
//# sourceMappingURL=runtime-installer.js.map
|
package/es/entries/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { };
|
|
2
|
-
//# sourceMappingURL=types.js.map
|
|
2
|
+
//# sourceMappingURL=types.js.map
|
package/es/graphic/graphic.d.ts
CHANGED
|
@@ -52,6 +52,8 @@ export declare abstract class Graphic<T extends Partial<IGraphicAttribute> = Par
|
|
|
52
52
|
static mixin(source: Dict<any>): void;
|
|
53
53
|
_events?: any;
|
|
54
54
|
context?: Record<string, any>;
|
|
55
|
+
private transientFromAttrsBeforePreventAnimate?;
|
|
56
|
+
private transientFromAttrsBeforePreventAnimateDiffAttrs?;
|
|
55
57
|
static userSymbolMap: Record<string, ISymbolClass>;
|
|
56
58
|
onBeforeAttributeUpdate?: (val: any, attributes: Partial<T>, key: null | string | string[], context?: ISetAttributeContext) => T | undefined;
|
|
57
59
|
parent: any;
|
|
@@ -189,6 +191,8 @@ export declare abstract class Graphic<T extends Partial<IGraphicAttribute> = Par
|
|
|
189
191
|
containsPoint(x: number, y: number, mode: IContainPointMode, picker?: IPickerService): boolean;
|
|
190
192
|
protected setWidthHeightWithoutTransform(aabbBounds: IAABBBounds): void;
|
|
191
193
|
setAttributesAndPreventAnimate(params: Partial<T>, forceUpdateTag?: boolean, context?: ISetAttributeContext, ignorePriority?: boolean): void;
|
|
194
|
+
protected captureTransientFromAttrsBeforePreventAnimate(params: Partial<T>, keys: string[], context?: ISetAttributeContext): void;
|
|
195
|
+
protected consumeTransientFromAttrsBeforePreventAnimate(rawDiffAttrs: Record<string, any>, diffAttrs: Record<string, any>): Record<string, any> | null;
|
|
192
196
|
setAttributes(params: Partial<T>, forceUpdateTag?: boolean, context?: ISetAttributeContext): void;
|
|
193
197
|
_setAttributes(params: Partial<T>, forceUpdateTag?: boolean, context?: ISetAttributeContext): void;
|
|
194
198
|
setAttribute(key: string, value: any, forceUpdateTag?: boolean, context?: ISetAttributeContext): void;
|
package/es/graphic/graphic.js
CHANGED
|
@@ -555,12 +555,39 @@ export class Graphic extends Node {
|
|
|
555
555
|
this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1, this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;
|
|
556
556
|
}
|
|
557
557
|
setAttributesAndPreventAnimate(params, forceUpdateTag = !1, context, ignorePriority) {
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
558
|
+
if (!params) return;
|
|
559
|
+
const keys = Object.keys(params);
|
|
560
|
+
this.captureTransientFromAttrsBeforePreventAnimate(params, keys, context), this.visitTrackedAnimates((animate => {
|
|
561
|
+
(animate.priority !== 1 / 0 || ignorePriority) && animate.preventAttrs(keys);
|
|
562
562
|
})), this.applyTransientAttributes(params, forceUpdateTag, context);
|
|
563
563
|
}
|
|
564
|
+
captureTransientFromAttrsBeforePreventAnimate(params, keys, context) {
|
|
565
|
+
var _a;
|
|
566
|
+
const graphicContext = this.context, diffAttrs = null == graphicContext ? void 0 : graphicContext.diffAttrs, updateType = null == context ? void 0 : context.type;
|
|
567
|
+
if (!keys.length || !graphicContext || !diffAttrs || updateType === AttributeUpdateType.STATE || null != updateType && updateType >= AttributeUpdateType.ANIMATE_BIND && updateType <= AttributeUpdateType.ANIMATE_END) return;
|
|
568
|
+
let fromAttrs = this.transientFromAttrsBeforePreventAnimateDiffAttrs === diffAttrs && null !== (_a = this.transientFromAttrsBeforePreventAnimate) && void 0 !== _a ? _a : null, captured = !1;
|
|
569
|
+
for (let i = 0; i < keys.length; i++) {
|
|
570
|
+
const key = keys[i];
|
|
571
|
+
if (!Object.prototype.hasOwnProperty.call(diffAttrs, key)) continue;
|
|
572
|
+
const previousValue = this.attribute[key], nextValue = params[key];
|
|
573
|
+
isEqual(previousValue, nextValue) || (null != fromAttrs || (fromAttrs = {}), fromAttrs[key] = cloneAttributeValue(previousValue),
|
|
574
|
+
captured = !0);
|
|
575
|
+
}
|
|
576
|
+
captured && (this.transientFromAttrsBeforePreventAnimate = fromAttrs, this.transientFromAttrsBeforePreventAnimateDiffAttrs = diffAttrs);
|
|
577
|
+
}
|
|
578
|
+
consumeTransientFromAttrsBeforePreventAnimate(rawDiffAttrs, diffAttrs) {
|
|
579
|
+
const transientFromAttrs = this.transientFromAttrsBeforePreventAnimate;
|
|
580
|
+
if (!transientFromAttrs || this.transientFromAttrsBeforePreventAnimateDiffAttrs !== rawDiffAttrs) return null;
|
|
581
|
+
let fromAttrs = null, remaining = !1;
|
|
582
|
+
for (const key in transientFromAttrs) Object.prototype.hasOwnProperty.call(transientFromAttrs, key) && (Object.prototype.hasOwnProperty.call(diffAttrs, key) ? (null != fromAttrs || (fromAttrs = {}),
|
|
583
|
+
fromAttrs[key] = transientFromAttrs[key]) : remaining = !0);
|
|
584
|
+
if (remaining) {
|
|
585
|
+
const nextTransientFromAttrs = {};
|
|
586
|
+
for (const key in transientFromAttrs) Object.prototype.hasOwnProperty.call(transientFromAttrs, key) && !Object.prototype.hasOwnProperty.call(diffAttrs, key) && (nextTransientFromAttrs[key] = transientFromAttrs[key]);
|
|
587
|
+
this.transientFromAttrsBeforePreventAnimate = nextTransientFromAttrs;
|
|
588
|
+
} else this.transientFromAttrsBeforePreventAnimate = null, this.transientFromAttrsBeforePreventAnimateDiffAttrs = null;
|
|
589
|
+
return fromAttrs;
|
|
590
|
+
}
|
|
564
591
|
setAttributes(params, forceUpdateTag = !1, context) {
|
|
565
592
|
params && ((params = this.onBeforeAttributeUpdate && this.onBeforeAttributeUpdate(params, this.attribute, null, context) || params).background && this.loadImage(params.background, !0),
|
|
566
593
|
isExternalTexture(params.texture) && this.loadImage(params.texture, !1), params.shadowGraphic && this.setShadowGraphic(params.shadowGraphic),
|