diff --git a/client/src/components/TableFieldMultiSelect.tsx b/client/src/components/TableFieldMultiSelect.tsx index 7ba7ed1..1a26e96 100644 --- a/client/src/components/TableFieldMultiSelect.tsx +++ b/client/src/components/TableFieldMultiSelect.tsx @@ -5,6 +5,8 @@ import { Checkbox } from '@/components/ui/checkbox'; import { Button } from '@/components/ui/button'; import { Popover, PopoverAnchor, PopoverContent } from '@/components/ui/popover'; import { Table, X } from 'lucide-react'; +import { DirectoryTreeMultiSelect } from '@/components/directories/DirectoryTreeMultiSelect'; +import type { DataTableRow } from '@shared/schema'; interface TableFieldMultiSelectProps { fieldId: number; @@ -29,7 +31,7 @@ export default function TableFieldMultiSelect({ const { data: tableData, isLoading, error } = useQuery<{ table: { - rows: Array<{ id: number; values: string[] }>; + rows: DataTableRow[]; columns: Array<{ name: string }>; }; }>({ @@ -86,6 +88,8 @@ export default function TableFieldMultiSelect({ .filter(Boolean); }, [selectedValues, rows, displayColumnIndex]); + const hasHierarchy = rows.some((r) => r.parentId !== null && r.parentId !== undefined); + const toggle = (rowId: string) => { const next = new Set(selectedSet); if (next.has(rowId)) next.delete(rowId); @@ -140,26 +144,38 @@ export default function TableFieldMultiSelect({ } }} > -