File size: 1,957 Bytes
8e222fd
d3e0754
36b496a
1a156e6
d3e0754
 
0a903c7
1a156e6
36b496a
 
0a903c7
 
36b496a
 
d3e0754
1a156e6
 
0a903c7
 
1a156e6
 
0a903c7
 
 
 
 
1a156e6
 
0a903c7
 
 
 
 
 
b0b89da
8d2a400
d3e0754
 
 
8d2a400
d3e0754
 
 
 
 
8e222fd
1a156e6
0a903c7
 
 
 
1a156e6
36b496a
 
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
72
73
74
import NewDocumentLink from '@/components/new-document-link';
import { useTranslate } from '@/hooks/common-hooks';
import { useSelectTestingResult } from '@/hooks/knowledge-hooks';
import { ITestingDocument } from '@/interfaces/database/knowledge';
import { EyeOutlined } from '@ant-design/icons';
import { Button, Table, TableProps, Tooltip } from 'antd';

interface IProps {
  handleTesting: (ids: string[]) => void;
  setSelectedDocumentIds: (ids: string[]) => void;
}

const SelectFiles = ({ setSelectedDocumentIds, handleTesting }: IProps) => {
  const { documents } = useSelectTestingResult();
  const { t } = useTranslate('fileManager');

  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
          documentName={doc_name}
          documentId={doc_id}
          prefix="document"
        >
          <Tooltip title={t('preview')}>
            <Button type="text">
              <EyeOutlined size={20} />
            </Button>
          </Tooltip>
        </NewDocumentLink>
      ),
    },
  ];

  const rowSelection = {
    onChange: (selectedRowKeys: React.Key[]) => {
      handleTesting(selectedRowKeys as string[]);
      setSelectedDocumentIds(selectedRowKeys as string[]);
    },
    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;