UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

39 lines (35 loc) 1.48 kB
import { StateManager } from "../compile/signal/state-manager"; import { PREFIX } from "../constant/base"; import { createID } from "../util/id"; import { AnimationStateEnum } from "./interface"; export class AnimateManager extends StateManager { constructor() { super(...arguments), this.id = createID(), this.stateKeyToSignalName = key => `${PREFIX}_animate_${this.id}_${key}`; } getAnimationStateSignalName() { return this.stateKeyToSignalName("animationState"); } updateAnimateState(state, noRender) { state === AnimationStateEnum.update ? this.updateState({ animationState: { callback: (datum, element) => element.diffState } }, noRender) : state === AnimationStateEnum.appear ? this.updateState({ animationState: { callback: (datum, element) => "exit" === element.diffState ? AnimationStateEnum.none : AnimationStateEnum.appear } }, noRender) : this.updateState({ animationState: { callback: (datum, element) => state } }, noRender); } _getDefaultStateMap() { return { animationState: { callback: (datum, element) => "exit" === element.diffState ? AnimationStateEnum.exit : "update" === element.diffState ? AnimationStateEnum.update : AnimationStateEnum.appear } }; } } //# sourceMappingURL=animate-manager.js.map