@antv/g2plot
Version:
G2 Plot, a market of plots built with the Grammar of Graphics'
30 lines • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var g2_1 = require("@antv/g2");
var _ = tslib_1.__importStar(require("@antv/util"));
function liquidMoveIn(shape, animateCfg) {
var container = shape.get('parent');
var box = container.getBBox();
var factor = Math.min(Math.max(0, _.get(animateCfg, 'factor', 0.5)), 1);
var delay = _.get(animateCfg, 'delay', 0);
var duration = _.get(animateCfg, 'duration', 800);
var callback = animateCfg.callback;
var originX = (box.minX + box.maxX) / 2;
var originY = box.maxY;
var wrap = container.find(function (shape) { return shape.get('name') == 'wrap'; });
var wrapTargetOpacity = wrap.attr('opacity');
wrap.attr('opacity', 0);
wrap.animate({ opacity: wrapTargetOpacity }, duration * factor, 'easeLinear', null, delay);
var waves = container.find(function (shape) { return shape.get('name') == 'waves'; });
var wavesTargetMatrix = _.clone(waves.attr('matrix'));
waves.attr('transform', [
['t', -originX, -originY],
['s', 1, 0],
['t', originX, originY],
]);
waves.animate({ matrix: wavesTargetMatrix }, duration, animateCfg.easing, function () { return callback && callback(container, wrap, waves); }, delay);
}
liquidMoveIn.animationName = 'liquidMoveIn';
g2_1.Animate.registerAnimation('appear', 'liquidMoveIn', liquidMoveIn);
//# sourceMappingURL=liquid-move-in.js.map