import 'react'; import warn from 'warning'; import { Rose, RoseOptions as Options } from '@antv/g2plot/lib/plots/rose'; import createPlot, { BasePlotOptions } from '../createPlot'; import { polyfillOptions, replaceApi } from './core/polyfill'; import { LengendAPIOptions, TooltipAPIOptions, LabelAPIOptions } from './core/interface'; import { get } from '@antv/util'; const REPLACEAPILIST = [{ sourceKey: 'groupField', targetKey: 'seriesField', notice: 'groupField 是 g2@1.0的属性,即将废弃,请使用seriesField替代', }, { sourceKey: 'categoryField', targetKey: 'xField', notice: 'categoryField 是 g2@1.0的属性,即将废弃,请使用xField替代', }, { sourceKey: 'radiusField', targetKey: 'yField', notice: 'radiusField 是 g2@1.0的属性,即将废弃,请使用yFeild替代', }]; interface GroupedRoseOptions extends Options, BasePlotOptions { /** 请使用seriesField替代 */ groupField?: string; /** 请使用xField替代 */ categoryField?: string; /** 请使用yFeild替代 */ radiusField?: string; /** 图例 */ legend?: LengendAPIOptions; /** 图表提示框 */ tooltip?: TooltipAPIOptions; /** 数据标注label */ label?: LabelAPIOptions; } const polyfill = (opt: GroupedRoseOptions): GroupedRoseOptions => { warn(false, ' 即将在5.0后废弃,请使用。') const options = polyfillOptions(opt); replaceApi(REPLACEAPILIST, options); if (get(options, 'label.type') === 'inner') { options.label.offset = -15; delete options.label.type; } if (get(options, 'label.type') === 'outer') { delete options.label.type; } return { ...options, isGroup: true }; } export { GroupedRoseOptions }; export default createPlot(Rose, 'GroupedRoseChart', polyfill);