File size: 1,790 Bytes
0a903c7 8e222fd 1a156e6 b0b89da 0a903c7 1a156e6 0a903c7 1a156e6 0a903c7 1a156e6 0a903c7 1a156e6 0a903c7 1a156e6 0a903c7 b0b89da 1a156e6 8e222fd 1a156e6 0a903c7 1a156e6 0a903c7 1a156e6 0a903c7 1a156e6 0a903c7 1a156e6 0a903c7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
import { ReactComponent as NavigationPointerIcon } from '@/assets/svg/navigation-pointer.svg';
import NewDocumentLink from '@/components/new-document-link';
import { ITestingDocument } from '@/interfaces/database/knowledge';
import { isPdf } from '@/utils/documentUtils';
import { Table, TableProps } from 'antd';
import { useDispatch, useSelector } from 'umi';
interface IProps {
handleTesting: () => Promise<any>;
}
const SelectFiles = ({ handleTesting }: IProps) => {
const documents: ITestingDocument[] = useSelector(
(state: any) => state.testingModel.documents,
);
const dispatch = useDispatch();
const columns: TableProps<ITestingDocument>['columns'] = [
{
title: 'Name',
dataIndex: 'doc_name',
key: 'doc_name',
render: (text) => <p>{text}</p>,
},
{
title: 'Hits',
dataIndex: 'count',
key: 'count',
width: 80,
},
{
title: 'View',
key: 'view',
width: 50,
render: (_, { doc_id, doc_name }) => (
<NewDocumentLink documentId={doc_id} preventDefault={!isPdf(doc_name)}>
<NavigationPointerIcon />
</NewDocumentLink>
),
},
];
const rowSelection = {
onChange: (selectedRowKeys: React.Key[]) => {
dispatch({
type: 'testingModel/setSelectedDocumentIds',
payload: selectedRowKeys,
});
handleTesting();
},
getCheckboxProps: (record: ITestingDocument) => ({
disabled: record.doc_name === 'Disabled User', // Column configuration not to be checked
name: record.doc_name,
}),
};
return (
<Table
columns={columns}
dataSource={documents}
showHeader={false}
rowSelection={rowSelection}
rowKey={'doc_id'}
/>
);
};
export default SelectFiles;
|