mirror of
https://github.com/get-drexa/drive.git
synced 2025-12-01 05:51:39 +00:00
feat: esc to clear table selection
This commit is contained in:
@@ -221,6 +221,31 @@ export function DirectoryContentTableContent() {
|
|||||||
const store = useStore()
|
const store = useStore()
|
||||||
const navigate = useNavigate()
|
const navigate = useNavigate()
|
||||||
|
|
||||||
|
const table = useReactTable({
|
||||||
|
data: directoryContent || [],
|
||||||
|
columns,
|
||||||
|
getCoreRowModel: getCoreRowModel(),
|
||||||
|
enableRowSelection: true,
|
||||||
|
enableGlobalFilter: true,
|
||||||
|
globalFilterFn: (row, _columnId, _filterValue, _addMeta) => {
|
||||||
|
return !optimisticDeletedItems.has(row.original.doc._id)
|
||||||
|
},
|
||||||
|
getRowId: (row) => row.doc._id,
|
||||||
|
})
|
||||||
|
|
||||||
|
useEffect(
|
||||||
|
function escapeToClearSelections() {
|
||||||
|
const handleEscape = (e: KeyboardEvent) => {
|
||||||
|
if (e.key === "Escape") {
|
||||||
|
table.setRowSelection({})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
window.addEventListener("keydown", handleEscape)
|
||||||
|
return () => window.removeEventListener("keydown", handleEscape)
|
||||||
|
},
|
||||||
|
[table.setRowSelection],
|
||||||
|
)
|
||||||
|
|
||||||
const handleRowContextMenu = (
|
const handleRowContextMenu = (
|
||||||
row: Row<DirectoryItem>,
|
row: Row<DirectoryItem>,
|
||||||
_event: React.MouseEvent,
|
_event: React.MouseEvent,
|
||||||
@@ -234,18 +259,6 @@ export function DirectoryContentTableContent() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const table = useReactTable({
|
|
||||||
data: directoryContent || [],
|
|
||||||
columns,
|
|
||||||
getCoreRowModel: getCoreRowModel(),
|
|
||||||
enableRowSelection: true,
|
|
||||||
enableGlobalFilter: true,
|
|
||||||
globalFilterFn: (row, _columnId, _filterValue, _addMeta) => {
|
|
||||||
return !optimisticDeletedItems.has(row.original.doc._id)
|
|
||||||
},
|
|
||||||
getRowId: (row) => row.doc._id,
|
|
||||||
})
|
|
||||||
|
|
||||||
const selectRow = (row: Row<DirectoryItem>) => {
|
const selectRow = (row: Row<DirectoryItem>) => {
|
||||||
const keyboardModifiers = store.get(keyboardModifierAtom)
|
const keyboardModifiers = store.get(keyboardModifierAtom)
|
||||||
const isMultiSelectMode = isControlOrCommandKeyActive(keyboardModifiers)
|
const isMultiSelectMode = isControlOrCommandKeyActive(keyboardModifiers)
|
||||||
|
|||||||
Reference in New Issue
Block a user