UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

130 lines (116 loc) 5.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.registerRadarAnimation = exports.radarGroupClipAnimation = exports.radarSymbolPresetAnimation = exports.radarSymbolMoveAnimation = exports.radarPresetAnimation = exports.radarGrowAnimation = exports.radarFadeAnimation = void 0; const vrender_animate_1 = require("@visactor/vrender-animate"), factory_1 = require("../../core/factory"), animation_1 = require("../polar/animation"), config_1 = require("../../animation/config"), vrender_kits_1 = require("@visactor/vrender-kits"), radarFadeAnimation = animationType => ({ type: "in" === animationType ? "fadeIn" : "fadeOut" }); exports.radarFadeAnimation = radarFadeAnimation; const radarGrowAnimation = (params, animationType) => ({ type: "in" === animationType ? "growPointsIn" : "growPointsOut", options: () => ({ center: params.center() }) }); function radarPresetAnimation(params, preset, animationType) { return "fadeIn" === preset ? (0, exports.radarFadeAnimation)(animationType) : (0, exports.radarGrowAnimation)(params, animationType); } exports.radarGrowAnimation = radarGrowAnimation, exports.radarPresetAnimation = radarPresetAnimation; const radarSymbolMoveAnimation = (params, animationType) => { const xFrom = () => { var _a; return null === (_a = params.center()) || void 0 === _a ? void 0 : _a.x; }, xTo = (datum, element) => element.getGraphicAttribute("x"), yFrom = () => { var _a; return null === (_a = params.center()) || void 0 === _a ? void 0 : _a.y; }, yTo = (datum, element) => element.getGraphicAttribute("y"); return "in" === animationType ? { channel: { x: { from: xFrom, to: xTo }, y: { from: yFrom, to: yTo } } } : { channel: { x: { from: xTo, to: xFrom }, y: { from: yTo, to: yFrom } } }; }; function radarSymbolPresetAnimation(params, preset, animationType) { return "fadeIn" === preset ? (0, exports.radarFadeAnimation)(animationType) : (0, exports.radarSymbolMoveAnimation)(params, animationType); } exports.radarSymbolMoveAnimation = radarSymbolMoveAnimation, exports.radarSymbolPresetAnimation = radarSymbolPresetAnimation; const radarGroupClipAnimation = (params, animationType) => ({ custom: vrender_animate_1.ClipAngleAnimate, customParameters: (datum, graphic) => { var _a; return { group: graphic, startAngle: null !== (_a = params.startAngle) && void 0 !== _a ? _a : Math.PI / 2, orient: "clockwise", center: params.center(), radius: params.radius(), animationType: animationType }; } }); exports.radarGroupClipAnimation = radarGroupClipAnimation; const registerRadarAnimation = () => { factory_1.Factory.registerAnimation("radar", ((params, preset) => ({ appear: "clipIn" === preset ? void 0 : radarPresetAnimation(params, preset, "in"), enter: radarPresetAnimation(params, preset, "in"), exit: radarPresetAnimation(params, preset, "out"), disappear: "clipIn" === preset ? void 0 : radarPresetAnimation(params, preset, "out"), update: [ { channel: [ "points", "center" ], custom: animation_1.PolarTagPointsUpdate, customParameters: params, duration: config_1.DEFAULT_ANIMATION_CONFIG.update.duration, easing: config_1.DEFAULT_ANIMATION_CONFIG.update.easing }, { type: "update", options: { excludeChannels: [ "points", "defined", "center" ] } } ] }))), factory_1.Factory.registerAnimation("radarSymbol", ((params, preset) => ({ appear: "clipIn" === preset ? void 0 : radarSymbolPresetAnimation(params, preset, "in"), enter: { type: "scaleIn" }, exit: { type: "scaleOut" }, disappear: "clipIn" === preset ? void 0 : radarSymbolPresetAnimation(params, preset, "out"), update: [ { options: { excludeChannels: [ "x", "y", "center" ] } }, { channel: [ "x", "y", "center" ], custom: animation_1.PolarPointUpdate, customParameters: params, duration: config_1.DEFAULT_ANIMATION_CONFIG.update.duration, easing: config_1.DEFAULT_ANIMATION_CONFIG.update.easing } ] }))), factory_1.Factory.registerAnimation("radarGroup", ((params, preset) => ({ appear: (0, exports.radarGroupClipAnimation)(params, "in"), disappear: (0, exports.radarGroupClipAnimation)(params, "out") }))), (0, vrender_kits_1.registerArc)(); }; exports.registerRadarAnimation = registerRadarAnimation; //# sourceMappingURL=animation.js.map