diff --git a/client/src/components/SubdirectoryFieldConfig.tsx b/client/src/components/SubdirectoryFieldConfig.tsx index f060e67..f797dd3 100644 --- a/client/src/components/SubdirectoryFieldConfig.tsx +++ b/client/src/components/SubdirectoryFieldConfig.tsx @@ -200,7 +200,7 @@ export default function SubdirectoryFieldConfig({ {selectedSubdirectory && (
- Фильтр: «{selectedTable?.columns?.[selectedSubdirectory.parentColumnIndex ?? 0]?.name || '?'}» = «{selectedSubdirectory.childTable?.columns?.[selectedSubdirectory.childColumnIndex ?? 0]?.name || '?'}» + Подсправочник показывается при выборе привязанных строк родителя.
)} diff --git a/client/src/components/TableFieldWithSubdirectory.tsx b/client/src/components/TableFieldWithSubdirectory.tsx index 99ea39d..8b8f189 100644 --- a/client/src/components/TableFieldWithSubdirectory.tsx +++ b/client/src/components/TableFieldWithSubdirectory.tsx @@ -3,7 +3,7 @@ import { useQuery } from '@tanstack/react-query'; import { apiRequest } from '@/lib/queryClient'; import TableFieldSelect from '@/components/TableFieldSelect'; import TableFieldMultiSelect from '@/components/TableFieldMultiSelect'; -import type { DataTableRow, DataTableSubdirectory } from '@shared/schema'; +import type { DataTableSubdirectory } from '@shared/schema'; interface TableFieldValue { parentId?: string | null; @@ -67,23 +67,6 @@ export default function TableFieldWithSubdirectory({ const showSubdirectory = !!opts.showSubdirectory; const subdirectoryId = opts.subdirectoryId as number | undefined; - const { data: tableData } = useQuery<{ - table: { - rows: DataTableRow[]; - columns: Array<{ name: string }>; - treeColumnIndex: number | null; - treeDisplayColumnIndex: number | null; - treeColumns: number[] | null; - treeDisplayColumns: number[] | null; - }; - }>({ - queryKey: ['/api/directories', tableId], - enabled: !!tableId, - staleTime: 5 * 60 * 1000, - gcTime: 10 * 60 * 1000, - retry: false, - }); - const { data: subdirectoriesData } = useQuery<{ subdirectories: DataTableSubdirectory[] }>({ queryKey: ['/api/directories', tableId, 'subdirectories'], queryFn: async () => { @@ -100,24 +83,11 @@ export default function TableFieldWithSubdirectory({ const { parentId, childId } = parseTableValue(value); - const parentRow = useMemo(() => { - if (!parentId || !tableData?.table?.rows) return null; - return tableData.table.rows.find((r) => r.id.toString() === parentId) || null; - }, [parentId, tableData]); - const isParentLinked = useMemo(() => { if (!subdirectory || !parentId) return false; return subdirectory.parentRowIds?.includes(Number(parentId)) ?? false; }, [subdirectory, parentId]); - const childFilter = useMemo(() => { - if (!subdirectory || !parentRow) return undefined; - const col = String(subdirectory.childColumnIndex ?? 0); - const parentValue = parentRow.values?.[subdirectory.parentColumnIndex ?? 0] ?? ''; - if (!parentValue) return undefined; - return { [col]: parentValue }; - }, [subdirectory, parentRow]); - const handleParentChange = (newParentId: string) => { onChange(serializeTableValue(newParentId || null, null)); }; @@ -144,8 +114,6 @@ export default function TableFieldWithSubdirectory({ const childOptions = { ...opts, tableId: subdirectory.childTableId, - displayColumn: subdirectory.childTable?.columns?.[subdirectory.childColumnIndex ?? 0]?.name || undefined, - filters: childFilter, }; return ( @@ -158,7 +126,7 @@ export default function TableFieldWithSubdirectory({ value={parentId || ''} onChange={handleParentChange} /> - {isParentLinked && childFilter && ( + {isParentLinked && (