diff --git a/ordinis-admin-ui/src/components/record/RecordDrawer.tsx b/ordinis-admin-ui/src/components/record/RecordDrawer.tsx index 5ce7aa3..a2efc2d 100644 --- a/ordinis-admin-ui/src/components/record/RecordDrawer.tsx +++ b/ordinis-admin-ui/src/components/record/RecordDrawer.tsx @@ -88,6 +88,18 @@ export type RecordDrawerProps = { onDelete?: () => void /** Show [История] button + handler (только edit mode). */ onHistory?: () => void + /** Optional sticky toolbar per handoff line 279: search полей by name + + * "только заполненные" toggle + counter. Caller controls state. Pass + * undefined чтобы скрыть toolbar (e.g. create mode without filter context). */ + toolbar?: { + search: string + onSearchChange: (next: string) => void + onlyFilled: boolean + onOnlyFilledChange: (next: boolean) => void + /** "N / M полей" caption — visible / total. */ + counterVisible: number + counterTotal: number + } children: ReactNode } @@ -101,6 +113,7 @@ export function RecordDrawer({ isPending = false, onDelete, onHistory, + toolbar, children, }: RecordDrawerProps) { const { t } = useTranslation() @@ -177,10 +190,36 @@ export function RecordDrawer({ + {/* === TOOLBAR (sticky) per handoff line 279 === + * Optional — caller passes toolbar prop с search/onlyFilled state. */} + {toolbar && ( +