index.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.Pie = void 0;
  4. var tslib_1 = require("tslib");
  5. var g2_1 = require("@antv/g2");
  6. var plot_1 = require("../../core/plot");
  7. var utils_1 = require("../../utils");
  8. var adaptor_1 = require("./adaptor");
  9. var contants_1 = require("./contants");
  10. require("./interactions");
  11. var utils_2 = require("./utils");
  12. var Pie = /** @class */ (function (_super) {
  13. tslib_1.__extends(Pie, _super);
  14. function Pie() {
  15. var _this = _super !== null && _super.apply(this, arguments) || this;
  16. /** 图表类型 */
  17. _this.type = 'pie';
  18. return _this;
  19. }
  20. /**
  21. * 获取 饼图 默认配置项
  22. * 供外部使用
  23. */
  24. Pie.getDefaultOptions = function () {
  25. return contants_1.DEFAULT_OPTIONS;
  26. };
  27. /**
  28. * 更新数据
  29. * @param data
  30. */
  31. Pie.prototype.changeData = function (data) {
  32. this.chart.emit(g2_1.VIEW_LIFE_CIRCLE.BEFORE_CHANGE_DATA, g2_1.Event.fromData(this.chart, g2_1.VIEW_LIFE_CIRCLE.BEFORE_CHANGE_DATA, null));
  33. var prevOptions = this.options;
  34. var angleField = this.options.angleField;
  35. var prevData = (0, utils_1.processIllegalData)(prevOptions.data, angleField);
  36. var curData = (0, utils_1.processIllegalData)(data, angleField);
  37. // 如果上一次或当前数据全为 0,则重新渲染
  38. if ((0, utils_2.isAllZero)(prevData, angleField) || (0, utils_2.isAllZero)(curData, angleField)) {
  39. this.update({ data: data });
  40. }
  41. else {
  42. this.updateOption({ data: data });
  43. this.chart.data(curData);
  44. // todo 后续让 G2 层在 afterrender 之后,来重绘 annotations
  45. (0, adaptor_1.pieAnnotation)({ chart: this.chart, options: this.options });
  46. this.chart.render(true);
  47. }
  48. this.chart.emit(g2_1.VIEW_LIFE_CIRCLE.AFTER_CHANGE_DATA, g2_1.Event.fromData(this.chart, g2_1.VIEW_LIFE_CIRCLE.AFTER_CHANGE_DATA, null));
  49. };
  50. /**
  51. * 获取 饼图 默认配置项, 供 base 获取
  52. */
  53. Pie.prototype.getDefaultOptions = function () {
  54. return Pie.getDefaultOptions();
  55. };
  56. /**
  57. * 获取 饼图 的适配器
  58. */
  59. Pie.prototype.getSchemaAdaptor = function () {
  60. return adaptor_1.adaptor;
  61. };
  62. return Pie;
  63. }(plot_1.Plot));
  64. exports.Pie = Pie;
  65. //# sourceMappingURL=index.js.map