import { useState, useRef } from 'react' import { Button, Flex, Space, Modal, Dropdown } from 'antd' import NewPermissionSetting from './PermissionSettings/NewPermissionSetting' import ObjectTable from '../common/ObjectTable' import PlusIcon from '../../Icons/PlusIcon' import ReloadIcon from '../../Icons/ReloadIcon' import useColumnVisibility from '../hooks/useColumnVisibility' import ObjectTableViewButton from '../common/ObjectTableViewButton' import FilterSidebarButton from '../common/FilterSidebarButton' import SortSidebarButton from '../common/SortSidebarButton' import useViewMode from '../hooks/useViewMode' import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import ColumnViewButton from '../common/ColumnViewButton' import ExportListButton from '../common/ExportListButton' const PermissionSettingsList = () => { const [newPermissionSettingsOpen, setNewPermissionSettingsOpen] = useState(false) const tableRef = useRef() const [viewMode, setViewMode] = useViewMode('permissionSetting') const [columnVisibility, setColumnVisibility] = useColumnVisibility('permissionSetting') const [showFilterSidebar, setShowFilterSidebar] = useFilterSidebarVisibility('PermissionSettings') const [showSortSidebar, setShowSortSidebar] = useSortSidebarVisibility('PermissionSettings') const actionItems = { items: [ { label: 'New Permission Settings', key: 'newPermissionSettings', icon: }, { type: 'divider' }, { label: 'Reload List', key: 'reloadList', icon: } ], onClick: ({ key }) => { if (key === 'reloadList') { tableRef.current?.reload() } else if (key === 'newPermissionSettings') { setNewPermissionSettingsOpen(true) } } } return ( <> setShowSortSidebar(!showSortSidebar)} /> setShowFilterSidebar(!showFilterSidebar)} /> setNewPermissionSettingsOpen(false)} footer={null} destroyOnHidden={true} width={700} > { setNewPermissionSettingsOpen(false) tableRef.current?.reload() }} reset={!newPermissionSettingsOpen} /> ) } export default PermissionSettingsList