|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import { DeleteOutlined, EditOutlined } from '@ant-design/icons';
- import type { TableProps } from 'antd';
- import { Space, Table, Tooltip } from 'antd';
- import { BeginQuery } from '../../interface';
-
- interface IProps {
- data: BeginQuery[];
- deleteRecord(index: number): void;
- showModal(index: number, record: BeginQuery): void;
- }
-
- const QueryTable = ({ data, deleteRecord, showModal }: IProps) => {
- const columns: TableProps<BeginQuery>['columns'] = [
- {
- title: 'Key',
- dataIndex: 'key',
- key: 'key',
- ellipsis: {
- showTitle: false,
- },
- render: (key) => (
- <Tooltip placement="topLeft" title={key}>
- {key}
- </Tooltip>
- ),
- },
- {
- title: 'Name',
- dataIndex: 'name',
- key: 'name',
- ellipsis: {
- showTitle: false,
- },
- render: (name) => (
- <Tooltip placement="topLeft" title={name}>
- {name}
- </Tooltip>
- ),
- },
- {
- title: 'Type',
- dataIndex: 'type',
- key: 'type',
- },
- {
- title: 'Optional',
- dataIndex: 'optional',
- key: 'optional',
- render: (optional) => (optional ? 'Yes' : 'No'),
- },
- {
- title: 'Action',
- key: 'action',
- render: (_, record, idx) => (
- <Space>
- <EditOutlined onClick={() => showModal(idx, record)} />
- <DeleteOutlined
- className="cursor-pointer"
- onClick={() => deleteRecord(idx)}
- />
- </Space>
- ),
- },
- ];
-
- return (
- <Table<BeginQuery> columns={columns} dataSource={data} pagination={false} />
- );
- };
-
- export default QueryTable;
|