UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

74 lines (61 loc) 2.16 kB
import { AnimationStateEnum } from "../../../animation/interface"; import { Factory } from "../../../core/factory"; export function pieGrowOption(pieParams, isOverall, state) { return (datum, graphic, params) => isOverall ? "radius" === pieParams.growField ? { overall: 0 } : { overall: pieParams.growFrom(datum, graphic, state) } : { overall: !1 }; } export const Appear_Grow = params => ({ type: "radius" === params.growField ? "growRadiusIn" : "growAngleIn", options: pieGrowOption(params, !0, AnimationStateEnum.appear) }); export const Appear_FadeIn = { type: "fadeIn" }; export const pieEnter = params => ({ type: "radius" === params.growField ? "growRadiusIn" : "growAngleIn", easing: "linear", options: pieGrowOption(params, !0, AnimationStateEnum.enter) }); export const pieExit = params => ({ type: "radius" === params.growField ? "growRadiusOut" : "growAngleOut", easing: "linear", options: pieGrowOption(params, !0, AnimationStateEnum.exit) }); export const pieDisappear = params => ({ type: "radius" === params.growField ? "growRadiusOut" : "growAngleOut", options: pieGrowOption(params, !0, AnimationStateEnum.exit) }); export function piePresetAnimation(params, preset) { if (!1 === preset) return {}; switch (preset) { case "fadeIn": return Appear_FadeIn; case "growRadius": return Appear_Grow(Object.assign(Object.assign({}, params), { growField: "radius" })); default: return Appear_Grow(Object.assign(Object.assign({}, params), { growField: "angle" })); } } export const registerPieAnimation = () => { Factory.registerAnimation("pie", ((params, preset) => ({ appear: piePresetAnimation(params, preset), enter: pieEnter(params), exit: pieExit(params), disappear: pieDisappear(params) }))); }; export const registerEmptyCircleAnimation = () => { Factory.registerAnimation("emptyCircle", ((params, preset) => ({ appear: piePresetAnimation(params, preset) }))); }; //# sourceMappingURL=animation.js.map