aboutsummaryrefslogtreecommitdiff
path: root/packages/exchange-backoffice-ui/src/NiceForm.tsx
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2023-05-25 18:08:20 -0300
committerSebastian <sebasjm@gmail.com>2023-05-26 09:26:09 -0300
commit64e3705669e7c12b8013704654f17cf8eaf659d4 (patch)
treeb0572d228b34740f307da4c59e6e5fa0e3e1f808 /packages/exchange-backoffice-ui/src/NiceForm.tsx
parentdad7d48ed2d7cd6f17466889395b49023e4b5097 (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.tsx13
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>
);
}