react-antd-admin-panel
Version:
Easy prototyping admin panel using React and Antd
34 lines • 1.9 kB
JavaScript
import React from "react";
import { Button, Input, Space } from "antd";
import { SearchOutlined } from "@ant-design/icons/lib";
let searchInput;
const handleSearch = (selectedKeys, confirm, dataIndex, props) => {
confirm();
};
const handleReset = (clearFilters, props) => {
clearFilters();
};
const handleSearchProps = (col, props) => ({
filterDropdown: ({ setSelectedKeys, selectedKeys, confirm, clearFilters }) => {
return (React.createElement("div", { style: { padding: 8 } },
React.createElement(Input, { ref: node => {
searchInput = node;
}, placeholder: `Søg ${col.dataIndex}`, value: selectedKeys[0], onChange: e => setSelectedKeys(e.target.value ? [e.target.value] : []), onPressEnter: () => handleSearch(selectedKeys, confirm, col.dataIndex, props), style: { width: 188, marginBottom: 8, display: 'block' } }),
React.createElement(Space, null,
React.createElement(Button, { type: "primary", onClick: () => handleSearch(selectedKeys, confirm, col.dataIndex, props), icon: React.createElement(SearchOutlined, null), size: "small", style: { width: 90 } }, "S\u00F8g"),
React.createElement(Button, { onClick: () => handleReset(clearFilters, props), size: "small", style: { width: 90 } }, "Nulstil"))));
},
filterIcon: (filtered) => React.createElement(SearchOutlined, { style: { color: filtered ? '#1890ff' : undefined } }),
onFilterDropdownVisibleChange: (visible) => {
if (visible) {
setTimeout(() => searchInput.select(), 100);
}
},
onFilter: (value, record) => {
return record[col.dataIndex]
? record[col.dataIndex].toString().toLowerCase().includes(value.toLowerCase())
: '';
},
});
export default handleSearchProps;
//# sourceMappingURL=ListSearch.js.map