( dataIndex: DataIndex )
| 85 | }; |
| 86 | |
| 87 | const getColumnSearchProps = ( dataIndex: DataIndex ): ColumnType<DataType> => ( { |
| 88 | filterDropdown: ( { setSelectedKeys, selectedKeys, confirm, clearFilters, close } ) => ( |
| 89 | <div style={{ padding: 8 }} onKeyDown={( e ) => e.stopPropagation()}> |
| 90 | <Input |
| 91 | ref={searchInput} |
| 92 | placeholder={`Search ${ dataIndex }`} |
| 93 | value={selectedKeys[ 0 ]} |
| 94 | onChange={( e ) => setSelectedKeys( e.target.value ? [ e.target.value ] : [] )} |
| 95 | onPressEnter={() => handleSearch( selectedKeys as string[], confirm, dataIndex )} |
| 96 | style={{ marginBottom: 8, display: 'block' }} |
| 97 | /> |
| 98 | <Space> |
| 99 | <Button |
| 100 | type="primary" |
| 101 | onClick={() => handleSearch( selectedKeys as string[], confirm, dataIndex )} |
| 102 | icon={<SearchOutlined />} |
| 103 | size="small" |
| 104 | style={{ width: 90 }} |
| 105 | > |
| 106 | Search |
| 107 | </Button> |
| 108 | <Button |
| 109 | onClick={() => clearFilters && handleReset( clearFilters )} |
| 110 | size="small" |
| 111 | style={{ width: 90 }} |
| 112 | > |
| 113 | Reset |
| 114 | </Button> |
| 115 | <Button |
| 116 | type="link" |
| 117 | size="small" |
| 118 | onClick={() => { |
| 119 | confirm( { closeDropdown: false } ); |
| 120 | setSearchText( ( selectedKeys as string[] )[ 0 ] ); |
| 121 | setSearchedColumn( dataIndex ); |
| 122 | }} |
| 123 | > |
| 124 | Filter |
| 125 | </Button> |
| 126 | <Button |
| 127 | type="link" |
| 128 | size="small" |
| 129 | onClick={() => { |
| 130 | close(); |
| 131 | }} |
| 132 | > |
| 133 | Close |
| 134 | </Button> |
| 135 | </Space> |
| 136 | </div> |
| 137 | ), |
| 138 | filterIcon: ( filtered: boolean ) => ( |
| 139 | <SearchOutlined style={{ color: filtered ? '#1890ff' : undefined }} /> |
| 140 | ), |
| 141 | onFilter: ( value, record ) => |
| 142 | record[ dataIndex ] |
| 143 | .toString() |
| 144 | .toLowerCase() |
no test coverage detected