/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ import { IPublicTypeComponentMetadata, IPublicTypeSnippet } from '@alilc/lowcode-types'; import { actionConfigure } from '../utils/chart-action'; import { plotConfigure } from '../utils/chart-plot'; const AreaChartMeta: IPublicTypeComponentMetadata = { componentName: 'AreaChart', title: 'AreaChart', docUrl: '', group: '图形', category: '图表', screenshot: '', devMode: 'proCode', npm: { package: 'yl-ssa-lowcode-antd-comps', version: '0.1.62', exportName: 'AreaChart', main: 'src\\index.tsx', destructuring: true, subName: '', }, configure: { props: [ // 数据 { name: 'data', type: 'group', display: 'accordion', title: { label: '数据', }, items: [ { name: 'data', title: '图表数据', setter: 'JsonSetter', }, { name: 'xField', title: { label: 'x轴字段名', tip: 'x 方向映射对应的数据字段名', }, setter: 'StringSetter', }, { name: 'yField', title: { label: 'y轴字段名', tip: 'y 方向映射所对应的数据字段名', }, setter: 'StringSetter', }, { name: 'seriesField', title: { label: '区分系列的字段', tip: '支持多条线段展示', }, setter: 'StringSetter', }, ], }, { name: 'legend', type: 'group', display: 'accordion', title: { label: '图例', }, items: [ { name: 'legend.position', title: '位置', setter: { componentName: 'SelectSetter', props: { options: [ { title: '左', value: 'left' }, { title: '左上', value: 'left-top' }, { title: '左下', value: 'left-bottom' }, { title: '右', value: 'right' }, { title: '右上', value: 'right-top' }, { title: '右下', value: 'right-bottom' }, { title: '上', value: 'top' }, { title: '上左', value: 'top-left' }, { title: '上右', value: 'top-right' }, { title: '下', value: 'bottom' }, { title: '下左', value: 'bottom-left' }, { title: '下右', value: 'bottom-right' }, ], }, }, }, { name: 'legend.visible', title: '显示位置', setter: 'BoolSetter', }, ], }, // 图形属性 { name: '', type: 'group', display: 'accordion', title: { label: '图形属性', }, items: [ { name: 'color', title: '颜色', setter: ['ColorSetter', 'JsonSetter'], }, { name: 'line.size', title: '粗细', setter: 'NumberSetter', }, { name: 'smooth', title: '平滑', setter: 'BoolSetter', }, { name: 'point.visible', title: '显示点', setter: 'BoolSetter', }, { name: 'label.visible', title: '显示标签', setter: 'BoolSetter', }, { name: 'yAxis.tickCount', title: 'Y轴刻度数量', setter: 'NumberSetter', }, ], }, ...plotConfigure, ...actionConfigure, ], }, }; const snippets: IPublicTypeSnippet[] = [ { title: '面积图', screenshot: require('./__screenshots__/areaChart.png'), schema: { componentName: 'AreaChart', props: { data: [ { year: '1991', name: 'Series 1', value: 72345678 }, { year: '1994', name: 'Series 1', value: 6322532 }, { year: '1999', name: 'Series 1', value: 33121112.5 }, { year: '1991', name: 'Series 2', value: 45227221 }, { year: '1994', name: 'Series 2', value: 3326921.9 }, { year: '1999', name: 'Series 2', value: 6322121 }, { year: '1991', name: 'Series 3', value: 78312213 }, { year: '1994', name: 'Series 3', value: 1196312 }, { year: '1999', name: 'Series 3', value: 6212332 }, ], xField: 'year', yField: 'value', seriesField: 'name', color: ['#1890ff', '#2fc25b', '#ffcc00'], // 自定义颜色数组 label: { visible: true, }, yAxis: { tickCount: 10, // 尝试设置 Y 轴刻度的数量为 10,但请注意这可能会根据数据的实际范围进行调整 }, }, }, }, ]; export default { ...AreaChartMeta, snippets, };