suoqiu-f2
Version:
Charts for mobile visualization.
114 lines (112 loc) • 4.16 kB
JavaScript
;
exports.__esModule = true;
exports["default"] = void 0;
var _common = require("../util/common");
var _shape = _interopRequireDefault(require("../graphic/engine/shape"));
var _timeline = _interopRequireDefault(require("../graphic/animate/timeline"));
var _animator = _interopRequireDefault(require("../graphic/animate/animator"));
var _animate = _interopRequireDefault(require("./animate"));
var Action = _interopRequireWildcard(require("./group-action"));
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
/**
* Group animation
* @author sima.zhang1990@gmail.com
*/
var timeline;
_shape["default"].prototype.animate = function () {
var attrs = (0, _common.mix)({}, this.get('attrs'));
return new _animator["default"](this, attrs, timeline);
};
_animate["default"].Action = Action;
_animate["default"].defaultCfg = {
line: function line(coord) {
if (coord.isPolar) {
return Action.groupScaleInXY;
}
return Action.groupWaveIn;
},
area: function area(coord) {
if (coord.isPolar) {
return Action.groupScaleInXY;
}
return Action.groupWaveIn;
},
path: function path(coord) {
if (coord.isPolar) {
return Action.groupScaleInXY;
}
return Action.groupWaveIn;
},
point: function point() {
return Action.shapesScaleInXY;
},
interval: function interval(coord) {
var result;
if (coord.isPolar) {
result = Action.groupScaleInXY;
if (coord.transposed) {
result = Action.groupWaveIn;
}
} else {
result = coord.transposed ? Action.groupScaleInX : Action.groupScaleInY;
}
return result;
},
schema: function schema() {
return Action.groupWaveIn;
}
};
function getAnimate(geomType, coord, animationName) {
var result;
if (animationName) {
result = _animate["default"].Action[animationName];
} else {
result = _animate["default"].getAnimation(geomType, coord, 'appear');
}
return result;
}
function getAnimateCfg(geomType, animateCfg) {
var defaultCfg = _animate["default"].getAnimateCfg(geomType, 'appear');
if (animateCfg && animateCfg.appear) {
return (0, _common.deepMix)({}, defaultCfg, animateCfg.appear);
}
return defaultCfg;
}
var _default = exports["default"] = {
afterCanvasInit: function afterCanvasInit() {
timeline = new _timeline["default"]();
timeline.play();
} /* chart */,
beforeCanvasDraw: function beforeCanvasDraw(chart) {
if (chart.get('animate') === false) {
return;
}
var geoms = chart.get('geoms');
var coord = chart.get('coord');
var animateCfg;
var animate;
(0, _common.each)(geoms, function (geom) {
var type = geom.get('type');
var container = geom.get('container');
if (geom.get('animateCfg') !== false) {
animateCfg = getAnimateCfg(type, geom.get('animateCfg'));
animate = getAnimate(type, coord, animateCfg.animation);
if ((0, _common.isFunction)(animate)) {
animate(container, animateCfg);
} else if (_animate["default"].defaultCfg[type]) {
animate = _animate["default"].defaultCfg[type](coord);
var yScale = geom.getYScale();
var zeroY = coord.convertPoint({
x: 0,
y: yScale.scale(geom.getYMinValue())
});
animate && animate(container, animateCfg, coord, zeroY);
}
}
});
},
afterCanvasDestroyed: function afterCanvasDestroyed() {
timeline.stop();
} /* chart */
};