@visactor/vchart
Version:
charts lib based @visactor/VGrammar
90 lines (70 loc) • 2.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.registerEmptyCircleAnimation = exports.registerPieAnimation = exports.piePresetAnimation = exports.pieDisappear = exports.pieExit = exports.pieEnter = exports.Appear_FadeIn = exports.Appear_Grow = exports.pieGrowOption = void 0;
const interface_1 = require("../../../animation/interface"), factory_1 = require("../../../core/factory");
function pieGrowOption(pieParams, isOverall, state) {
return (datum, graphic, params) => isOverall ? "radius" === pieParams.growField ? {
overall: 0
} : {
overall: pieParams.growFrom(datum, graphic, state)
} : {
overall: !1
};
}
exports.pieGrowOption = pieGrowOption;
const Appear_Grow = params => ({
type: "radius" === params.growField ? "growRadiusIn" : "growAngleIn",
options: pieGrowOption(params, !0, interface_1.AnimationStateEnum.appear)
});
exports.Appear_Grow = Appear_Grow, exports.Appear_FadeIn = {
type: "fadeIn"
};
const pieEnter = params => ({
type: "radius" === params.growField ? "growRadiusIn" : "growAngleIn",
easing: "linear",
options: pieGrowOption(params, !0, interface_1.AnimationStateEnum.enter)
});
exports.pieEnter = pieEnter;
const pieExit = params => ({
type: "radius" === params.growField ? "growRadiusOut" : "growAngleOut",
easing: "linear",
options: pieGrowOption(params, !0, interface_1.AnimationStateEnum.exit)
});
exports.pieExit = pieExit;
const pieDisappear = params => ({
type: "radius" === params.growField ? "growRadiusOut" : "growAngleOut",
options: pieGrowOption(params, !0, interface_1.AnimationStateEnum.exit)
});
function piePresetAnimation(params, preset) {
if (!1 === preset) return {};
switch (preset) {
case "fadeIn":
return exports.Appear_FadeIn;
case "growRadius":
return (0, exports.Appear_Grow)(Object.assign(Object.assign({}, params), {
growField: "radius"
}));
default:
return (0, exports.Appear_Grow)(Object.assign(Object.assign({}, params), {
growField: "angle"
}));
}
}
exports.pieDisappear = pieDisappear, exports.piePresetAnimation = piePresetAnimation;
const registerPieAnimation = () => {
factory_1.Factory.registerAnimation("pie", ((params, preset) => ({
appear: piePresetAnimation(params, preset),
enter: (0, exports.pieEnter)(params),
exit: (0, exports.pieExit)(params),
disappear: (0, exports.pieDisappear)(params)
})));
};
exports.registerPieAnimation = registerPieAnimation;
const registerEmptyCircleAnimation = () => {
factory_1.Factory.registerAnimation("emptyCircle", ((params, preset) => ({
appear: piePresetAnimation(params, preset)
})));
};
exports.registerEmptyCircleAnimation = registerEmptyCircleAnimation;
//# sourceMappingURL=animation.js.map