| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import { __assign } from "tslib";
- import { get, isNil } from '@antv/util';
- import { animation, annotation, scale, theme } from '../../adaptor/common';
- import { deepAssign, flow, renderStatistic } from '../../utils';
- import { geometry } from '../progress/adaptor';
- /**
- * coordinate 配置
- * @param params
- */
- function coordinate(params) {
- var chart = params.chart, options = params.options;
- var innerRadius = options.innerRadius, radius = options.radius;
- // coordinate
- chart.coordinate('theta', {
- innerRadius: innerRadius,
- radius: radius,
- });
- return params;
- }
- /**
- * statistic 配置
- * @param params
- */
- export function statistic(params, updated) {
- var chart = params.chart, options = params.options;
- var innerRadius = options.innerRadius, statistic = options.statistic, percent = options.percent, meta = options.meta;
- // 先清空标注,再重新渲染
- chart.getController('annotation').clear(true);
- /** 中心文本 指标卡 */
- if (innerRadius && statistic) {
- var metaFormatter = get(meta, ['percent', 'formatter']) || (function (v) { return "".concat((v * 100).toFixed(2), "%"); });
- var contentOpt = statistic.content;
- if (contentOpt) {
- contentOpt = deepAssign({}, contentOpt, {
- content: !isNil(contentOpt.content) ? contentOpt.content : metaFormatter(percent),
- });
- }
- renderStatistic(chart, { statistic: __assign(__assign({}, statistic), { content: contentOpt }), plotType: 'ring-progress' }, { percent: percent });
- }
- if (updated) {
- chart.render(true);
- }
- return params;
- }
- /**
- * 环形进度图适配器
- * @param chart
- * @param options
- */
- export function adaptor(params) {
- return flow(geometry, scale({}), coordinate, statistic, animation, theme, annotation())(params);
- }
- //# sourceMappingURL=adaptor.js.map
|