adaptor.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.adaptor = exports.statistic = void 0;
  4. var tslib_1 = require("tslib");
  5. var util_1 = require("@antv/util");
  6. var common_1 = require("../../adaptor/common");
  7. var utils_1 = require("../../utils");
  8. var adaptor_1 = require("../progress/adaptor");
  9. /**
  10. * coordinate 配置
  11. * @param params
  12. */
  13. function coordinate(params) {
  14. var chart = params.chart, options = params.options;
  15. var innerRadius = options.innerRadius, radius = options.radius;
  16. // coordinate
  17. chart.coordinate('theta', {
  18. innerRadius: innerRadius,
  19. radius: radius,
  20. });
  21. return params;
  22. }
  23. /**
  24. * statistic 配置
  25. * @param params
  26. */
  27. function statistic(params, updated) {
  28. var chart = params.chart, options = params.options;
  29. var innerRadius = options.innerRadius, statistic = options.statistic, percent = options.percent, meta = options.meta;
  30. // 先清空标注,再重新渲染
  31. chart.getController('annotation').clear(true);
  32. /** 中心文本 指标卡 */
  33. if (innerRadius && statistic) {
  34. var metaFormatter = (0, util_1.get)(meta, ['percent', 'formatter']) || (function (v) { return "".concat((v * 100).toFixed(2), "%"); });
  35. var contentOpt = statistic.content;
  36. if (contentOpt) {
  37. contentOpt = (0, utils_1.deepAssign)({}, contentOpt, {
  38. content: !(0, util_1.isNil)(contentOpt.content) ? contentOpt.content : metaFormatter(percent),
  39. });
  40. }
  41. (0, utils_1.renderStatistic)(chart, { statistic: tslib_1.__assign(tslib_1.__assign({}, statistic), { content: contentOpt }), plotType: 'ring-progress' }, { percent: percent });
  42. }
  43. if (updated) {
  44. chart.render(true);
  45. }
  46. return params;
  47. }
  48. exports.statistic = statistic;
  49. /**
  50. * 环形进度图适配器
  51. * @param chart
  52. * @param options
  53. */
  54. function adaptor(params) {
  55. return (0, utils_1.flow)(adaptor_1.geometry, (0, common_1.scale)({}), coordinate, statistic, common_1.animation, common_1.theme, (0, common_1.annotation)())(params);
  56. }
  57. exports.adaptor = adaptor;
  58. //# sourceMappingURL=adaptor.js.map