UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

39 lines (33 loc) 1.44 kB
import { DEFAULT_ANIMATION_CONFIG } from "../../animation/config"; import { Factory } from "../../core/factory"; function computeWordDelay(duration, totalTime, wordCount) { return duration * wordCount < totalTime ? duration + (totalTime - wordCount * duration) / (wordCount - 1) : (totalTime - duration) / (wordCount - 1); } export const WordCloudScaleInAnimation = params => ({ type: "scaleIn", duration: 200, delay: (datum, graphic) => { const animationConfig = params.animationConfig(), duration = (null == animationConfig ? void 0 : animationConfig.duration) || 200, totalTime = (null == animationConfig ? void 0 : animationConfig.totalTime) || DEFAULT_ANIMATION_CONFIG.appear.duration, count = graphic.context.graphicCount; return graphic.context.graphicIndex * computeWordDelay(duration, totalTime, count); } }); export function wordcloudPresetAnimation(params, preset) { return !1 === preset ? {} : "fadeIn" === preset ? { type: "fadeIn" } : WordCloudScaleInAnimation(params); } export const registerWordCloudAnimation = () => { Factory.registerAnimation("wordCloud", ((params, preset) => ({ appear: wordcloudPresetAnimation(params, preset), enter: { type: "fadeIn" }, exit: { type: "fadeOut" }, disappear: { type: "fadeOut" } }))); }; //# sourceMappingURL=animation.js.map