fix(dashboard): add inline department create to job-card check-in
Wire the department select to DepartmentInlineForm and align its option mapping/store-object with the shared async-select contract. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
a1c647a7b3
commit
0171daea38
@ -24,6 +24,7 @@ import {
|
||||
import { DEPARTMENT_ROUTES } from "@garage/api"
|
||||
import { FUEL_LEVEL_OPTIONS } from "./job-card.schema"
|
||||
import { toId } from "@/shared/lib/utils"
|
||||
import { DepartmentInlineForm } from "@/modules/services/inline-forms/department-inline-form"
|
||||
|
||||
// ── Schema ──
|
||||
|
||||
@ -46,7 +47,7 @@ const mapLookupOption = (item: any) => ({
|
||||
label: item.name,
|
||||
})
|
||||
|
||||
const STORE_OBJECT = { storeObject: true } as const
|
||||
const STORE_OBJECT = { getOptionValue: (o: any) => o, getOptionLabel: (o: any) => o.label } as const
|
||||
|
||||
// ── Props ──
|
||||
|
||||
@ -138,11 +139,10 @@ export function JobCardCheckInDialog({
|
||||
required
|
||||
queryKey={[DEPARTMENT_ROUTES.INDEX]}
|
||||
listFn={() => api.departments.list()}
|
||||
mapOption={(op:any)=> ({value: op.id, label: op.name})}
|
||||
mapOption={(item: any) => ({ value: String(item.id), label: item.name ?? String(item.id) })}
|
||||
createForm={(props) => <DepartmentInlineForm {...props} />}
|
||||
createLabel="Department"
|
||||
{...STORE_OBJECT}
|
||||
getOptionLabel={op=>op.label}
|
||||
getOptionValue={op=>op}
|
||||
|
||||
/>
|
||||
<div className="grid grid-cols-1 gap-4 sm:grid-cols-2">
|
||||
<RhfDateField name="delivery_date" label="Delivery Date" />
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user