@visactor/vchart
Version:
charts lib based @visactor/VGrammar
130 lines (116 loc) • 5.04 kB
JavaScript
;
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