group.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. "use strict";
  2. exports.__esModule = true;
  3. exports["default"] = void 0;
  4. var _common = require("../util/common");
  5. var _shape = _interopRequireDefault(require("../graphic/engine/shape"));
  6. var _timeline = _interopRequireDefault(require("../graphic/animate/timeline"));
  7. var _animator = _interopRequireDefault(require("../graphic/animate/animator"));
  8. var _animate = _interopRequireDefault(require("./animate"));
  9. var Action = _interopRequireWildcard(require("./group-action"));
  10. function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
  11. function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
  12. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  13. /**
  14. * Group animation
  15. * @author sima.zhang1990@gmail.com
  16. */
  17. var timeline;
  18. _shape["default"].prototype.animate = function () {
  19. var attrs = (0, _common.mix)({}, this.get('attrs'));
  20. return new _animator["default"](this, attrs, timeline);
  21. };
  22. _animate["default"].Action = Action;
  23. _animate["default"].defaultCfg = {
  24. line: function line(coord) {
  25. if (coord.isPolar) {
  26. return Action.groupScaleInXY;
  27. }
  28. return Action.groupWaveIn;
  29. },
  30. area: function area(coord) {
  31. if (coord.isPolar) {
  32. return Action.groupScaleInXY;
  33. }
  34. return Action.groupWaveIn;
  35. },
  36. path: function path(coord) {
  37. if (coord.isPolar) {
  38. return Action.groupScaleInXY;
  39. }
  40. return Action.groupWaveIn;
  41. },
  42. point: function point() {
  43. return Action.shapesScaleInXY;
  44. },
  45. interval: function interval(coord) {
  46. var result;
  47. if (coord.isPolar) {
  48. result = Action.groupScaleInXY;
  49. if (coord.transposed) {
  50. result = Action.groupWaveIn;
  51. }
  52. } else {
  53. result = coord.transposed ? Action.groupScaleInX : Action.groupScaleInY;
  54. }
  55. return result;
  56. },
  57. schema: function schema() {
  58. return Action.groupWaveIn;
  59. }
  60. };
  61. function getAnimate(geomType, coord, animationName) {
  62. var result;
  63. if (animationName) {
  64. result = _animate["default"].Action[animationName];
  65. } else {
  66. result = _animate["default"].getAnimation(geomType, coord, 'appear');
  67. }
  68. return result;
  69. }
  70. function getAnimateCfg(geomType, animateCfg) {
  71. var defaultCfg = _animate["default"].getAnimateCfg(geomType, 'appear');
  72. if (animateCfg && animateCfg.appear) {
  73. return (0, _common.deepMix)({}, defaultCfg, animateCfg.appear);
  74. }
  75. return defaultCfg;
  76. }
  77. var _default = {
  78. afterCanvasInit: function afterCanvasInit()
  79. /* chart */
  80. {
  81. timeline = new _timeline["default"]();
  82. timeline.play();
  83. },
  84. beforeCanvasDraw: function beforeCanvasDraw(chart) {
  85. if (chart.get('animate') === false) {
  86. return;
  87. }
  88. var geoms = chart.get('geoms');
  89. var coord = chart.get('coord');
  90. var animateCfg;
  91. var animate;
  92. (0, _common.each)(geoms, function (geom) {
  93. var type = geom.get('type');
  94. var container = geom.get('container');
  95. if (geom.get('animateCfg') !== false) {
  96. animateCfg = getAnimateCfg(type, geom.get('animateCfg'));
  97. animate = getAnimate(type, coord, animateCfg.animation);
  98. if ((0, _common.isFunction)(animate)) {
  99. animate(container, animateCfg);
  100. } else if (_animate["default"].defaultCfg[type]) {
  101. animate = _animate["default"].defaultCfg[type](coord);
  102. var yScale = geom.getYScale();
  103. var zeroY = coord.convertPoint({
  104. x: 0,
  105. y: yScale.scale(geom.getYMinValue())
  106. });
  107. animate && animate(container, animateCfg, coord, zeroY);
  108. }
  109. }
  110. });
  111. },
  112. afterCanvasDestroyed: function afterCanvasDestroyed()
  113. /* chart */
  114. {
  115. timeline.stop();
  116. }
  117. };
  118. exports["default"] = _default;