import { DeleteOutlined, EditOutlined } from '@ant-design/icons'; import type { TableProps } from 'antd'; import { Collapse, Space, Table, Tooltip } from 'antd'; import { BeginQuery } from '../../interface'; import { useTranslation } from 'react-i18next'; import styles from './index.less'; interface IProps { data: BeginQuery[]; deleteRecord(index: number): void; showModal(index: number, record: BeginQuery): void; } const QueryTable = ({ data, deleteRecord, showModal }: IProps) => { const { t } = useTranslation(); const columns: TableProps['columns'] = [ { title: 'Key', dataIndex: 'key', key: 'key', ellipsis: { showTitle: false, }, render: (key) => ( {key} ), }, { title: t('flow.name'), dataIndex: 'name', key: 'name', ellipsis: { showTitle: false, }, render: (name) => ( {name} ), }, { title: t('flow.type'), dataIndex: 'type', key: 'type', }, { title: t('flow.optional'), dataIndex: 'optional', key: 'optional', render: (optional) => (optional ? 'Yes' : 'No'), }, { title: t('common.action'), key: 'action', render: (_, record, idx) => ( showModal(idx, record)} /> deleteRecord(idx)} /> ), }, ]; return ( {t('flow.input')}, children: ( columns={columns} dataSource={data} pagination={false} /> ), }, ]} /> ); }; export default QueryTable;