tachybase_todo/packages/plugins/data-visualization/src/client/chart/antd/table.ts
YANG QIA f82b6a9d38
fix(bi): g2plot render wrong when fields contain . (#2363)
* fix: g2plot render wrong when fields contains `.`

* fix: build

* fix: test

* fix: dual axes bug

* chore: add comment

* fix: code style
2023-07-31 23:51:23 +08:00

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,
};
}
}