* fix: g2plot render wrong when fields contains `.` * fix: build * fix: test * fix: dual axes bug * chore: add comment * fix: code style
44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
import { RenderProps } from '../chart';
|
|
import { AntdChart } from './antd';
|
|
import { Table as AntdTable } from 'antd';
|
|
|
|
export class Table extends AntdChart {
|
|
constructor() {
|
|
super('table', 'Table', AntdTable);
|
|
}
|
|
|
|
getProps({ data, fieldProps, general, advanced }: RenderProps) {
|
|
const columns = data.length
|
|
? Object.keys(data[0]).map((item) => ({
|
|
title: fieldProps[item]?.label || item,
|
|
dataIndex: item,
|
|
key: item,
|
|
}))
|
|
: [];
|
|
const dataSource = data.map((item: any) => {
|
|
Object.keys(item).map((key: string) => {
|
|
const props = fieldProps[key];
|
|
if (props?.transformer) {
|
|
item[key] = props.transformer(item[key]);
|
|
}
|
|
});
|
|
return item;
|
|
});
|
|
const pageSize = advanced?.pagination?.pageSize || 10;
|
|
return {
|
|
bordered: true,
|
|
size: 'middle',
|
|
pagination:
|
|
dataSource.length < pageSize
|
|
? false
|
|
: {
|
|
pageSize,
|
|
},
|
|
dataSource,
|
|
columns,
|
|
...general,
|
|
...advanced,
|
|
};
|
|
}
|
|
}
|