@visactor/vgrammar-core 0.14.0-alpha.0 → 0.14.0-alpha.1
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/graph/animation/morph.d.ts +2 -12
- package/cjs/graph/animation/morph.js +76 -163
- package/cjs/graph/animation/morph.js.map +1 -1
- package/cjs/graph/element.d.ts +1 -0
- package/cjs/graph/element.js +12 -6
- package/cjs/graph/element.js.map +1 -1
- package/cjs/graph/glyph-element.js +1 -1
- package/cjs/graph/glyph-element.js.map +1 -1
- package/cjs/graph/view-diff.d.ts +8 -0
- package/cjs/graph/view-diff.js +93 -0
- package/cjs/graph/view-diff.js.map +1 -0
- package/cjs/index.d.ts +3 -1
- package/cjs/index.js +17 -2
- package/cjs/index.js.map +1 -1
- package/cjs/interactions/brush-base.js +1 -2
- package/cjs/interactions/brush-filter.js +2 -1
- package/cjs/interactions/fish-eye.js +1 -2
- package/cjs/interactions/index.js +2 -1
- package/cjs/interactions/tooltip.js +1 -1
- package/cjs/parse/util.js.map +1 -1
- package/cjs/types/morph.d.ts +1 -2
- package/cjs/types/morph.js.map +1 -1
- package/cjs/view/View.d.ts +1 -2
- package/cjs/view/View.js +32 -30
- package/cjs/view/View.js.map +1 -1
- package/cjs/view/animate.js +2 -1
- package/cjs/view/animate.js.map +1 -1
- package/cjs/view/mark-animate-mixin.d.ts +1 -0
- package/cjs/view/mark-animate-mixin.js +29 -0
- package/cjs/view/mark-animate-mixin.js.map +1 -0
- package/cjs/view/mark.js +18 -14
- package/cjs/view/mark.js.map +1 -1
- package/cjs/view/view-animate-mixin.d.ts +1 -0
- package/cjs/view/view-animate-mixin.js +26 -0
- package/cjs/view/view-animate-mixin.js.map +1 -0
- package/cjs/view/view-morph-mixin.d.ts +1 -0
- package/cjs/view/view-morph-mixin.js +32 -0
- package/cjs/view/view-morph-mixin.js.map +1 -0
- package/es/graph/animation/morph.d.ts +2 -12
- package/es/graph/animation/morph.js +72 -159
- package/es/graph/animation/morph.js.map +1 -1
- package/es/graph/element.d.ts +1 -0
- package/es/graph/element.js +12 -6
- package/es/graph/element.js.map +1 -1
- package/es/graph/glyph-element.js +1 -1
- package/es/graph/glyph-element.js.map +1 -1
- package/es/graph/view-diff.d.ts +8 -0
- package/es/graph/view-diff.js +89 -0
- package/es/graph/view-diff.js.map +1 -0
- package/es/index.d.ts +3 -1
- package/es/index.js +11 -1
- package/es/index.js.map +1 -1
- package/es/interactions/element-active.js +1 -2
- package/es/interactions/element-highlight-by-group.js +2 -1
- package/es/interactions/fish-eye.js +1 -1
- package/es/parse/option.js +1 -2
- package/es/parse/scale.js +2 -1
- package/es/parse/util.js.map +1 -1
- package/es/types/morph.d.ts +1 -2
- package/es/types/morph.js.map +1 -1
- package/es/view/View.d.ts +1 -2
- package/es/view/View.js +33 -32
- package/es/view/View.js.map +1 -1
- package/es/view/animate.js +2 -1
- package/es/view/animate.js.map +1 -1
- package/es/view/mark-animate-mixin.d.ts +1 -0
- package/es/view/mark-animate-mixin.js +25 -0
- package/es/view/mark-animate-mixin.js.map +1 -0
- package/es/view/mark.js +17 -15
- package/es/view/mark.js.map +1 -1
- package/es/view/view-animate-mixin.d.ts +1 -0
- package/es/view/view-animate-mixin.js +16 -0
- package/es/view/view-animate-mixin.js.map +1 -0
- package/es/view/view-morph-mixin.d.ts +1 -0
- package/es/view/view-morph-mixin.js +22 -0
- package/es/view/view-morph-mixin.js.map +1 -0
- package/package.json +5 -5
|
@@ -387,4 +387,5 @@ const registerFishEye = () => {
|
|
|
387
387
|
factory_1.Factory.registerInteraction(fish_eye_1.FishEye.type, fish_eye_1.FishEye);
|
|
388
388
|
};
|
|
389
389
|
|
|
390
|
-
exports.registerFishEye = registerFishEye;
|
|
390
|
+
exports.registerFishEye = registerFishEye;
|
|
391
|
+
//# sourceMappingURL=index.js.map
|
package/cjs/parse/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/parse/util.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/parse/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { isString, isFunction, isNil, array, Color } from '@visactor/vutils';\nimport type { IElement } from '../types/element';\nimport type {\n FunctionCallback,\n SignalDependency,\n SignalReference,\n IView,\n GenericFunctionType,\n SignalFunction,\n ParameterFunctionType,\n ParameterCallback,\n Nil\n} from '../types';\nimport type { IGrammarBase } from '../types/grammar';\n\nexport function parseReference(dependency: SignalDependency | SignalDependency[], view: IView): IGrammarBase[] {\n const dependencies: SignalDependency[] = array(dependency);\n return dependencies.reduce((refs: IGrammarBase[], dep: string | IGrammarBase) => {\n const ref = (isString(dep) ? view.getGrammarById(dep as string) : dep) as IGrammarBase;\n\n if (ref) {\n refs.push(ref);\n }\n return refs;\n }, []);\n}\n\nfunction isSignalReferenceType(signal: any): signal is SignalReference {\n return !isFunction(signal) && !!(signal as SignalReference)?.signal;\n}\n\nfunction isSignalFunctionType<Callback extends FunctionCallback<T>, T>(\n signal: any\n): signal is SignalFunction<Callback, T> {\n return !isFunction(signal) && !!(signal as SignalFunction<Callback, T>)?.callback;\n}\n\nexport function parseFunctionType<Callback extends FunctionCallback<T>, T>(\n spec: GenericFunctionType<Callback, T> | Nil,\n view: IView\n): IGrammarBase[] {\n if (isNil(spec)) {\n return [];\n }\n if (isSignalReferenceType(spec)) {\n const signal = spec.signal;\n if (isString(signal)) {\n return array<IGrammarBase>(view.getGrammarById(signal as string) as IGrammarBase);\n } else if ((signal as IGrammarBase)?.grammarType === 'signal') {\n return [signal as IGrammarBase];\n }\n } else if (isSignalFunctionType(spec)) {\n return parseReference((spec as SignalFunction<Callback, T>).dependency, view);\n }\n return [];\n}\n\nexport function isFunctionType<Callback extends FunctionCallback<T>, T>(\n spec: any\n): spec is Callback | SignalReference | SignalFunction<Callback, T> {\n return isFunction(spec) || spec?.signal || !!(spec as SignalFunction<Callback, T>)?.callback;\n}\n\nexport function invokeFunctionType<Callback extends FunctionCallback<T>, T>(\n spec: GenericFunctionType<Callback, T> | Nil,\n parameters: any,\n datumOrGrammarInstance?: any | IGrammarBase,\n element?: IElement | any\n): T {\n if (isNil(spec)) {\n return spec as T;\n }\n\n if (isFunction(spec)) {\n if (element) {\n return (spec as Callback).call(null, datumOrGrammarInstance, element, parameters);\n }\n return (spec as Callback).call(null, datumOrGrammarInstance, parameters);\n } else if ((spec as SignalReference).signal) {\n const signal = (spec as SignalReference).signal;\n if (isString(signal)) {\n return parameters?.[signal as string];\n }\n return (signal as IGrammarBase).output();\n } else if ((spec as SignalFunction<Callback, T>).callback) {\n if (element) {\n return (spec as SignalFunction<Callback, T>).callback.call(null, datumOrGrammarInstance, element, parameters);\n }\n return (spec as SignalFunction<Callback, T>).callback.call(null, datumOrGrammarInstance, parameters);\n }\n return spec as T;\n}\n\nexport function invokeParameterFunctionType<T>(spec: ParameterFunctionType<T>, parameters: any): T {\n if (isNil(spec)) {\n return spec as T;\n }\n\n if (isFunction(spec)) {\n return spec.call(null, parameters);\n } else if ((spec as SignalReference).signal) {\n const signal = (spec as SignalReference).signal;\n if (isString(signal)) {\n return parameters?.[signal as string];\n }\n return (signal as IGrammarBase).output();\n } else if ((spec as SignalFunction<ParameterCallback<T>, T>).callback) {\n return (spec as SignalFunction<ParameterCallback<T>, T>).callback.call(null, parameters);\n }\n return spec as T;\n}\n\nexport function getGrammarOutput(grammar: IGrammarBase | string, parameters: any) {\n return isGrammar(grammar) ? grammar.output() : parameters[grammar];\n}\n\n/**\n * 判断是否是依赖signal\n */\nexport function isSignal(obj: any) {\n return obj && (obj.signal || obj.callback);\n}\n\nexport const isGrammar = (el: any): el is IGrammarBase => {\n return el && !isNil(el.grammarType);\n};\n\nexport const parseField = <T>(field: ((datum: T) => symbol | string) | string | symbol) => {\n if (isFunction(field)) {\n return field as (datum: T) => symbol | string;\n }\n return (datum: T) => datum[field as string | symbol];\n};\n\nexport const parseColor = (color: any): string | null => {\n if (isString(color) && Color.parseColorString(color)) {\n return color;\n }\n return null;\n};\n"]}
|
package/cjs/types/morph.d.ts
CHANGED
|
@@ -22,8 +22,7 @@ export interface IMorphAnimationConfig {
|
|
|
22
22
|
oneByOne?: MorphFunctionValueType<boolean | number>;
|
|
23
23
|
splitPath?: MorphFunctionValueType<'clone' | Nil>;
|
|
24
24
|
}
|
|
25
|
-
export interface
|
|
25
|
+
export interface IViewDiff {
|
|
26
26
|
diffGrammar: <U extends IGrammarBase>(prevGrammars: U[], nextGrammars: U[]) => DiffResult<U, U>;
|
|
27
27
|
diffMark: (prevMarks: IMark[], nextMarks: IMark[], runningConfig: IRunningConfig) => DiffResult<IMark[], IMark[]>;
|
|
28
|
-
morph: (prevMarks: IMark[], nextMarks: IMark[], runningConfig: IRunningConfig) => void;
|
|
29
28
|
}
|
package/cjs/types/morph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types/morph.ts"],"names":[],"mappings":"","file":"morph.js","sourcesContent":["import type { EasingType } from '@visactor/vrender-core';\nimport type { DiffResult, Nil } from './base';\nimport type { IElement } from './element';\nimport type { IGrammarBase, IMark } from './grammar';\nimport type { GenericFunctionType } from './signal';\nimport type { IRunningConfig } from './view';\n\nexport type MorphData = { prev: any[]; next: any[] };\nexport type MorphElements = { prev: IElement[]; next: IElement[] };\n\nexport type MorphFunctionCallback<T> = (datum: MorphData, element: MorphElements, parameters: any) => T;\n\nexport type MorphFunctionType<T> = GenericFunctionType<MorphFunctionCallback<T>, T>;\n\nexport type MorphFunctionValueType<T> = MorphFunctionType<T> | T;\n\nexport interface IMorphAnimationConfig {\n easing?: EasingType;\n delay?: MorphFunctionValueType<number>;\n duration?: MorphFunctionValueType<number>;\n oneByOne?: MorphFunctionValueType<boolean | number>;\n splitPath?: MorphFunctionValueType<'clone' | Nil>;\n}\n\nexport interface
|
|
1
|
+
{"version":3,"sources":["../src/types/morph.ts"],"names":[],"mappings":"","file":"morph.js","sourcesContent":["import type { EasingType } from '@visactor/vrender-core';\nimport type { DiffResult, Nil } from './base';\nimport type { IElement } from './element';\nimport type { IGrammarBase, IMark } from './grammar';\nimport type { GenericFunctionType } from './signal';\nimport type { IRunningConfig } from './view';\n\nexport type MorphData = { prev: any[]; next: any[] };\nexport type MorphElements = { prev: IElement[]; next: IElement[] };\n\nexport type MorphFunctionCallback<T> = (datum: MorphData, element: MorphElements, parameters: any) => T;\n\nexport type MorphFunctionType<T> = GenericFunctionType<MorphFunctionCallback<T>, T>;\n\nexport type MorphFunctionValueType<T> = MorphFunctionType<T> | T;\n\nexport interface IMorphAnimationConfig {\n easing?: EasingType;\n delay?: MorphFunctionValueType<number>;\n duration?: MorphFunctionValueType<number>;\n oneByOne?: MorphFunctionValueType<boolean | number>;\n splitPath?: MorphFunctionValueType<'clone' | Nil>;\n}\n\nexport interface IViewDiff {\n diffGrammar: <U extends IGrammarBase>(prevGrammars: U[], nextGrammars: U[]) => DiffResult<U, U>;\n diffMark: (prevMarks: IMark[], nextMarks: IMark[], runningConfig: IRunningConfig) => DiffResult<IMark[], IMark[]>;\n}\n"]}
|
package/cjs/view/View.d.ts
CHANGED
|
@@ -18,8 +18,7 @@ export default class View extends EventEmitter implements IView {
|
|
|
18
18
|
private _config;
|
|
19
19
|
private _options;
|
|
20
20
|
private _cachedGrammars;
|
|
21
|
-
private
|
|
22
|
-
private _morph;
|
|
21
|
+
private _differ;
|
|
23
22
|
private _eventConfig;
|
|
24
23
|
private _eventListeners;
|
|
25
24
|
private _theme;
|
package/cjs/view/View.js
CHANGED
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
10
10
|
value: !0
|
|
11
11
|
});
|
|
12
12
|
|
|
13
|
-
const vutils_1 = require("@visactor/vutils"), vrender_core_1 = require("@visactor/vrender-core"), data_1 = require("./data"), dataflow_1 = __importDefault(require("./dataflow")), mark_tree_1 = require("../graph/mark-tree"), constants_1 = require("../graph/constants"), canvas_renderer_1 = __importDefault(require("../graph/canvas-renderer")), events_extend_1 = __importDefault(require("../graph/util/events-extend")), constants_2 = require("./constants"), signal_1 = require("./signal"), view_1 = require("../parse/view"), util_1 = require("../parse/util"), env_1 = require("../graph/util/env"), group_1 = require("./group"), mark_1 = require("./mark"),
|
|
13
|
+
const vutils_1 = require("@visactor/vutils"), vrender_core_1 = require("@visactor/vrender-core"), data_1 = require("./data"), dataflow_1 = __importDefault(require("./dataflow")), mark_tree_1 = require("../graph/mark-tree"), constants_1 = require("../graph/constants"), canvas_renderer_1 = __importDefault(require("../graph/canvas-renderer")), events_extend_1 = __importDefault(require("../graph/util/events-extend")), constants_2 = require("./constants"), signal_1 = require("./signal"), view_1 = require("../parse/view"), util_1 = require("../parse/util"), env_1 = require("../graph/util/env"), group_1 = require("./group"), mark_1 = require("./mark"), grammar_record_1 = require("./grammar-record"), enums_1 = require("../graph/enums"), text_1 = require("../semantic-marks/text"), theme_manager_1 = require("../theme/theme-manager"), factory_1 = require("../core/factory"), component_1 = require("./component"), graphic_1 = require("../graph/util/graphic"), view_diff_1 = require("../graph/view-diff");
|
|
14
14
|
|
|
15
15
|
class View extends vutils_1.EventEmitter {
|
|
16
16
|
static useRegisters(comps) {
|
|
@@ -222,7 +222,7 @@ class View extends vutils_1.EventEmitter {
|
|
|
222
222
|
})), this;
|
|
223
223
|
}
|
|
224
224
|
parseSpec(spec) {
|
|
225
|
-
var _a, _b, _c, _d, _e, _f;
|
|
225
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
226
226
|
if (this.emit(enums_1.HOOK_EVENT.BEFORE_PARSE_VIEW), this._spec = spec, (0, view_1.normalizeMarkTree)(spec),
|
|
227
227
|
spec.theme ? this.theme(spec.theme) : this.theme(theme_manager_1.ThemeManager.getDefaultTheme()),
|
|
228
228
|
spec.width && this.width(spec.width), spec.height && this.height(spec.height), this.padding(null !== (_b = null !== (_a = spec.padding) && void 0 !== _a ? _a : this._options.padding) && void 0 !== _b ? _b : this._theme.padding),
|
|
@@ -254,9 +254,9 @@ class View extends vutils_1.EventEmitter {
|
|
|
254
254
|
null === (_b = this.event) || void 0 === _b || _b.call(this, eventConfig);
|
|
255
255
|
})), spec.interactions && spec.interactions.length && spec.interactions.forEach((interaction => {
|
|
256
256
|
this.interaction(interaction.type, interaction);
|
|
257
|
-
})), !1 === spec.animation ? this.animate.disable() : this.animate
|
|
258
|
-
this.
|
|
259
|
-
this;
|
|
257
|
+
})), !1 === spec.animation ? null === (_g = this.animate) || void 0 === _g || _g.disable() : null === (_h = this.animate) || void 0 === _h || _h.enable(),
|
|
258
|
+
this.emit(enums_1.HOOK_EVENT.AFTER_PARSE_VIEW), this._needBuildLayoutTree = !0,
|
|
259
|
+
this._layoutState = enums_1.LayoutState.before, this;
|
|
260
260
|
}
|
|
261
261
|
updateSpec(spec) {
|
|
262
262
|
return this.removeAllInteractions(), this.removeAllGrammars(), this.parseSpec(spec);
|
|
@@ -399,11 +399,11 @@ class View extends vutils_1.EventEmitter {
|
|
|
399
399
|
return this.evaluate(runningConfig), this;
|
|
400
400
|
}
|
|
401
401
|
doRender(immediately) {
|
|
402
|
-
this.emit(enums_1.HOOK_EVENT.BEFORE_DO_RENDER), this.renderer && (this._progressiveMarks
|
|
402
|
+
this.emit(enums_1.HOOK_EVENT.BEFORE_DO_RENDER), this.renderer && (!this._progressiveMarks && this.animate && this.animate.animate(),
|
|
403
403
|
this.renderer.render(immediately), this.handleRenderEnd()), this.emit(enums_1.HOOK_EVENT.AFTER_DO_RENDER);
|
|
404
404
|
}
|
|
405
405
|
evaluate(runningConfig) {
|
|
406
|
-
var _a,
|
|
406
|
+
var _a, _c;
|
|
407
407
|
const normalizedRunningConfig = (0, view_1.normalizeRunningConfig)(runningConfig), grammarWillDetach = this._cachedGrammars.size() > 0;
|
|
408
408
|
grammarWillDetach && (this.reuseCachedGrammars(normalizedRunningConfig), this.detachCachedGrammar());
|
|
409
409
|
const hasResize = this._resizeRenderer(), hasUpdate = this._dataflow.hasCommitted();
|
|
@@ -412,28 +412,28 @@ class View extends vutils_1.EventEmitter {
|
|
|
412
412
|
this._needBuildLayoutTree = !1), this._layoutState && (this._layoutState = enums_1.LayoutState.layouting,
|
|
413
413
|
this.doLayout(), this._dataflow.hasCommitted() && (this._layoutState = enums_1.LayoutState.reevaluate,
|
|
414
414
|
this._dataflow.evaluate()), this._layoutState = enums_1.LayoutState.after, (null === (_a = this._layoutMarks) || void 0 === _a ? void 0 : _a.length) && this.handleLayoutEnd()),
|
|
415
|
-
this._layoutState = null, this.findProgressiveMarks(), this._resizeRenderer(), null === (
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
this.doRender(!0), this.doPreProgressive(), this) : this;
|
|
415
|
+
this._layoutState = null, this.findProgressiveMarks(), this._resizeRenderer(), null === (_c = this.morph) || void 0 === _c || _c.call(this, normalizedRunningConfig),
|
|
416
|
+
this.releaseCachedGrammars(normalizedRunningConfig), this.doRender(!0), this.doPreProgressive(),
|
|
417
|
+
this) : this;
|
|
419
418
|
}
|
|
420
419
|
reuseCachedGrammars(runningConfig) {
|
|
421
|
-
if (
|
|
420
|
+
if (runningConfig.reuse) {
|
|
422
421
|
const reuseDiffUpdate = diff => {
|
|
423
422
|
diff.next.reuse(diff.prev), diff.prev.detachAll(), diff.prev.clear(), this._cachedGrammars.unrecord(diff.prev);
|
|
424
423
|
};
|
|
425
|
-
this.
|
|
426
|
-
this.
|
|
427
|
-
this.
|
|
428
|
-
this.
|
|
424
|
+
this._differ.diffGrammar(this._cachedGrammars.getAllSignals(), this.grammars.getAllSignals().filter((signal => !view_1.BuiltInSignalID.includes(signal.id())))).update.forEach(reuseDiffUpdate);
|
|
425
|
+
this._differ.diffGrammar(this._cachedGrammars.getAllData(), this.grammars.getAllData()).update.forEach(reuseDiffUpdate);
|
|
426
|
+
this._differ.diffGrammar(this._cachedGrammars.getAllScales(), this.grammars.getAllScales()).update.forEach(reuseDiffUpdate);
|
|
427
|
+
this._differ.diffGrammar(this._cachedGrammars.getAllCoordinates(), this.grammars.getAllCoordinates()).update.forEach(reuseDiffUpdate);
|
|
429
428
|
}
|
|
430
|
-
this.
|
|
429
|
+
this._differ.diffMark(this._cachedGrammars.getAllMarks(), this.grammars.getAllMarks().filter((mark => "root" !== mark.id())), runningConfig).update.forEach((diff => {
|
|
430
|
+
var _b;
|
|
431
431
|
const matched = 1 === diff.prev.length && 1 === diff.next.length && diff.prev[0].markType === diff.next[0].markType, enableMarkMorphConfig = diff.prev.every((mark => mark.getMorphConfig().morph)) && diff.next.every((mark => mark.getMorphConfig().morph));
|
|
432
432
|
matched && runningConfig.reuse ? (diff.next[0].reuse(diff.prev[0]), diff.prev[0].detachAll(),
|
|
433
|
-
diff.prev[0].clear(), this._cachedGrammars.unrecord(diff.prev[0])) : (runningConfig.morph && enableMarkMorphConfig || runningConfig.morphAll) && this.
|
|
433
|
+
diff.prev[0].clear(), this._cachedGrammars.unrecord(diff.prev[0])) : (runningConfig.morph && enableMarkMorphConfig || runningConfig.morphAll) && (null === (_b = this.addMorphMarks) || void 0 === _b || _b.call(this, {
|
|
434
434
|
prev: diff.prev,
|
|
435
435
|
next: diff.next
|
|
436
|
-
});
|
|
436
|
+
}));
|
|
437
437
|
}));
|
|
438
438
|
}
|
|
439
439
|
detachCachedGrammar() {
|
|
@@ -451,10 +451,11 @@ class View extends vutils_1.EventEmitter {
|
|
|
451
451
|
}));
|
|
452
452
|
const markNodes = this._cachedGrammars.getAllMarkNodes();
|
|
453
453
|
markNodes.forEach((node => {
|
|
454
|
-
|
|
454
|
+
var _a;
|
|
455
|
+
null === (_a = node.mark.animate) || void 0 === _a || _a.stop(), runningConfig.enableExitAnimation && this.animate && this.animate.animateAddition(node.mark);
|
|
455
456
|
}));
|
|
456
457
|
const releaseUp = node => {
|
|
457
|
-
if (node.mark.view && 0 === node.mark.animate.getAnimatorCount() && (!node.children || 0 === node.children.length)) {
|
|
458
|
+
if (node.mark.view && (!node.mark.animate || 0 === node.mark.animate.getAnimatorCount()) && (!node.children || 0 === node.children.length)) {
|
|
458
459
|
node.mark.release();
|
|
459
460
|
const parent = node.parent;
|
|
460
461
|
parent && (node.parent.children = node.parent.children.filter((n => n !== node)),
|
|
@@ -463,8 +464,8 @@ class View extends vutils_1.EventEmitter {
|
|
|
463
464
|
};
|
|
464
465
|
markNodes.forEach((node => {
|
|
465
466
|
const mark = node.mark;
|
|
466
|
-
0 === mark.animate.getAnimatorCount() ? releaseUp(node) : mark.addEventListener("animationEnd", (() => {
|
|
467
|
-
0 === mark.animate.getAnimatorCount() && releaseUp(node);
|
|
467
|
+
mark.animate && 0 === mark.animate.getAnimatorCount() ? releaseUp(node) : mark.addEventListener("animationEnd", (() => {
|
|
468
|
+
mark.animate && 0 === mark.animate.getAnimatorCount() && releaseUp(node);
|
|
468
469
|
}));
|
|
469
470
|
})), this._cachedGrammars.clear();
|
|
470
471
|
}
|
|
@@ -589,12 +590,12 @@ class View extends vutils_1.EventEmitter {
|
|
|
589
590
|
this.renderer = new canvas_renderer_1.default(this), this.renderer.initialize(width, height, this._options, this._eventConfig).background(this._background);
|
|
590
591
|
}
|
|
591
592
|
initialize() {
|
|
592
|
-
var _a;
|
|
593
|
+
var _a, _c;
|
|
593
594
|
this.grammars = new grammar_record_1.RecordedGrammars((grammar => grammar.id()), ((key, grammar) => this.logger.warn(`Grammar id '${key}' has been occupied`, grammar))),
|
|
594
595
|
this._cachedGrammars = new grammar_record_1.RecordedTreeGrammars((grammar => grammar.id())),
|
|
595
596
|
this._options.logger && vutils_1.Logger.setInstance(this._options.logger), this.logger = vutils_1.Logger.getInstance(null !== (_a = this._options.logLevel) && void 0 !== _a ? _a : 0),
|
|
596
|
-
this._dataflow = new dataflow_1.default, this.animate =
|
|
597
|
-
this.
|
|
597
|
+
this._dataflow = new dataflow_1.default, this.animate = null === (_c = this.initAnimate) || void 0 === _c ? void 0 : _c.call(this, this),
|
|
598
|
+
this._differ = new view_diff_1.ViewDiff, this._options.hooks && (Object.keys(this._options.hooks).forEach((key => {
|
|
598
599
|
this.on(key, this._options.hooks[key]);
|
|
599
600
|
})), this.hooks = this._options.hooks), this.container = null, this.renderer = null,
|
|
600
601
|
this._eventListeners = [], this._eventConfig = this.initializeEventConfig(this._options.eventConfig),
|
|
@@ -635,13 +636,14 @@ class View extends vutils_1.EventEmitter {
|
|
|
635
636
|
})), this._progressiveMarks = null);
|
|
636
637
|
}
|
|
637
638
|
release() {
|
|
638
|
-
var _a, _b, _c;
|
|
639
|
+
var _a, _b, _c, _d;
|
|
639
640
|
this.removeAllInteractions(), this.releaseStageEvent(), this._unBindResizeEvent(),
|
|
640
641
|
this.clearProgressive(), factory_1.Factory.unregisterRuntimeTransforms(), vutils_1.Logger.setInstance(null),
|
|
641
|
-
|
|
642
|
-
this.
|
|
642
|
+
null === (_a = this.animate) || void 0 === _a || _a.stop(), this.grammars.release(),
|
|
643
|
+
this._cachedGrammars.release(), this._dataflow.release(), this._dataflow = null,
|
|
644
|
+
null === (_c = null === (_b = this.renderer) || void 0 === _b ? void 0 : _b.release) || void 0 === _c || _c.call(_b),
|
|
643
645
|
this.renderer = null, this._boundInteractions = null, this.removeAllListeners(),
|
|
644
|
-
null === (
|
|
646
|
+
null === (_d = this._eventListeners) || void 0 === _d || _d.forEach((listener => {
|
|
645
647
|
listener.source.removeEventListener(listener.type, listener.handler);
|
|
646
648
|
})), this._eventListeners = null;
|
|
647
649
|
}
|