diff options
author | Sebastian <sebasjm@gmail.com> | 2023-05-25 18:08:20 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2023-05-26 09:26:09 -0300 |
commit | 64e3705669e7c12b8013704654f17cf8eaf659d4 (patch) | |
tree | b0572d228b34740f307da4c59e6e5fa0e3e1f808 /packages/exchange-backoffice-ui/src/NiceForm.tsx | |
parent | dad7d48ed2d7cd6f17466889395b49023e4b5097 (diff) |
cases, account details and new-form screen
Diffstat (limited to 'packages/exchange-backoffice-ui/src/NiceForm.tsx')
-rw-r--r-- | packages/exchange-backoffice-ui/src/NiceForm.tsx | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/packages/exchange-backoffice-ui/src/NiceForm.tsx b/packages/exchange-backoffice-ui/src/NiceForm.tsx index 593a373c1..69b977ee0 100644 --- a/packages/exchange-backoffice-ui/src/NiceForm.tsx +++ b/packages/exchange-backoffice-ui/src/NiceForm.tsx @@ -1,5 +1,5 @@ import { useTranslationContext } from "@gnu-taler/web-util/browser"; -import { Fragment, h } from "preact"; +import { ComponentChildren, Fragment, h } from "preact"; import { FlexibleForm } from "./forms/index.js"; import { FormProvider } from "./handlers/FormProvider.js"; import { RenderAllFieldsByUiConfig } from "./handlers/forms.js"; @@ -8,21 +8,25 @@ export function NiceForm<T extends object>({ initial, onUpdate, form, + onSubmit, + children, }: { + children?: ComponentChildren; initial: Partial<T>; + onSubmit?: (v: T) => void; form: FlexibleForm<T>; - onUpdate: (d: Partial<T>) => void; + onUpdate?: (d: Partial<T>) => void; }) { - const { i18n } = useTranslationContext(); return ( <FormProvider initialValue={initial} onUpdate={onUpdate} - onSubmit={() => {}} + onSubmit={onSubmit} computeFormState={form.behavior} > <div class="space-y-10 divide-y -mt-5 divide-gray-900/10"> {form.design.map((section, i) => { + if (!section) return <Fragment />; return ( <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-5 md:grid-cols-3"> <div class="px-4 sm:px-0"> @@ -49,6 +53,7 @@ export function NiceForm<T extends object>({ ); })} </div> + {children} </FormProvider> ); } |