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/forms | |
parent | dad7d48ed2d7cd6f17466889395b49023e4b5097 (diff) |
cases, account details and new-form screen
Diffstat (limited to 'packages/exchange-backoffice-ui/src/forms')
9 files changed, 141 insertions, 37 deletions
diff --git a/packages/exchange-backoffice-ui/src/forms/902_11e.ts b/packages/exchange-backoffice-ui/src/forms/902_11e.ts index 0e9a28dce..267b5b52d 100644 --- a/packages/exchange-backoffice-ui/src/forms/902_11e.ts +++ b/packages/exchange-backoffice-ui/src/forms/902_11e.ts @@ -1,8 +1,9 @@ import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util"; import { FormState } from "../handlers/FormProvider.js"; import { FlexibleForm } from "./index.js"; +import { State } from "../pages/AntiMoneyLaunderingForm.js"; -export const v1: FlexibleForm<Form902_11e.Form> = { +export const v1 = (current: State): FlexibleForm<Form902_11.Form> => ({ versionId: "2023-05-15", design: [ { @@ -115,8 +116,8 @@ export const v1: FlexibleForm<Form902_11e.Form> = { }, ], behavior: function formBehavior( - v: Partial<Form902_11e.Form>, - ): FormState<Form902_11e.Form> { + v: Partial<Form902_11.Form>, + ): FormState<Form902_11.Form> { return { person: { hidden: @@ -128,9 +129,9 @@ export const v1: FlexibleForm<Form902_11e.Form> = { }, }; }, -}; +}); -namespace Form902_11e { +namespace Form902_11 { interface Person { lastName: string; firstName: string; diff --git a/packages/exchange-backoffice-ui/src/forms/902_12e.ts b/packages/exchange-backoffice-ui/src/forms/902_12e.ts index e58850660..56a3986ee 100644 --- a/packages/exchange-backoffice-ui/src/forms/902_12e.ts +++ b/packages/exchange-backoffice-ui/src/forms/902_12e.ts @@ -1,8 +1,9 @@ import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util"; import { FormState } from "../handlers/FormProvider.js"; import { FlexibleForm } from "./index.js"; +import { State } from "../pages/AntiMoneyLaunderingForm.js"; -export const v1: FlexibleForm<Form902_12e.Form> = { +export const v1 = (current: State): FlexibleForm<Form902_12.Form> => ({ versionId: "2023-05-15", design: [ { @@ -364,8 +365,8 @@ export const v1: FlexibleForm<Form902_12e.Form> = { }, ], behavior: function formBehavior( - v: Partial<Form902_12e.Form>, - ): FormState<Form902_12e.Form> { + v: Partial<Form902_12.Form>, + ): FormState<Form902_12.Form> { return { founders: { elements: (v.founders ?? []).map((f) => { @@ -390,9 +391,9 @@ export const v1: FlexibleForm<Form902_12e.Form> = { }, }; }, -}; +}); -namespace Form902_12e { +namespace Form902_12 { interface Foundation { name: string; type: "discretionary" | "non-discretionary"; diff --git a/packages/exchange-backoffice-ui/src/forms/902_13e.ts b/packages/exchange-backoffice-ui/src/forms/902_13e.ts index bca96e842..e933432e4 100644 --- a/packages/exchange-backoffice-ui/src/forms/902_13e.ts +++ b/packages/exchange-backoffice-ui/src/forms/902_13e.ts @@ -1,8 +1,9 @@ import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util"; import { FormState } from "../handlers/FormProvider.js"; import { FlexibleForm } from "./index.js"; +import { State } from "../pages/AntiMoneyLaunderingForm.js"; -export const v1: FlexibleForm<Form902_13e.Form> = { +export const v1 = (current: State): FlexibleForm<Form902_13.Form> => ({ versionId: "2023-05-15", design: [ { @@ -441,8 +442,8 @@ export const v1: FlexibleForm<Form902_13e.Form> = { }, ], behavior: function formBehavior( - v: Partial<Form902_13e.Form>, - ): FormState<Form902_13e.Form> { + v: Partial<Form902_13.Form>, + ): FormState<Form902_13.Form> { return { settlors: { elements: (v.settlors ?? []).map((f) => { @@ -476,9 +477,9 @@ export const v1: FlexibleForm<Form902_13e.Form> = { }, }; }, -}; +}); -namespace Form902_13e { +namespace Form902_13 { interface Foundation { name: string; type: "discretionary" | "non-discretionary"; diff --git a/packages/exchange-backoffice-ui/src/forms/902_15e.ts b/packages/exchange-backoffice-ui/src/forms/902_15e.ts index 8e3fa1350..be304f357 100644 --- a/packages/exchange-backoffice-ui/src/forms/902_15e.ts +++ b/packages/exchange-backoffice-ui/src/forms/902_15e.ts @@ -1,8 +1,9 @@ import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util"; import { FormState } from "../handlers/FormProvider.js"; import { FlexibleForm } from "./index.js"; +import { State } from "../pages/AntiMoneyLaunderingForm.js"; -export const v1: FlexibleForm<Form902_15e.Form> = { +export const v1 = (current: State): FlexibleForm<Form902_15.Form> => ({ versionId: "2023-05-15", design: [ { @@ -160,17 +161,17 @@ export const v1: FlexibleForm<Form902_15e.Form> = { }, ], behavior: function formBehavior( - v: Partial<Form902_15e.Form>, - ): FormState<Form902_15e.Form> { + v: Partial<Form902_15.Form>, + ): FormState<Form902_15.Form> { return { when: { disabled: true, }, }; }, -}; +}); -namespace Form902_15e { +namespace Form902_15 { interface Person { fullName: string; address: string; diff --git a/packages/exchange-backoffice-ui/src/forms/902_1e.ts b/packages/exchange-backoffice-ui/src/forms/902_1e.ts index cd65cfedc..0f60c23d8 100644 --- a/packages/exchange-backoffice-ui/src/forms/902_1e.ts +++ b/packages/exchange-backoffice-ui/src/forms/902_1e.ts @@ -1,8 +1,9 @@ import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util"; import { FlexibleForm, languageList } from "./index.js"; import { FormState } from "../handlers/FormProvider.js"; +import { State } from "../pages/AntiMoneyLaunderingForm.js"; -export const v1: FlexibleForm<Form902_1e.Form> = { +export const v1 = (current: State): FlexibleForm<Form902_1.Form> => ({ versionId: "2023-05-15", design: [ { @@ -512,8 +513,8 @@ export const v1: FlexibleForm<Form902_1e.Form> = { }, ], behavior: function formBehavior( - v: Partial<Form902_1e.Form>, - ): FormState<Form902_1e.Form> { + v: Partial<Form902_1.Form>, + ): FormState<Form902_1.Form> { return { fullName: { disabled: true, @@ -606,9 +607,9 @@ export const v1: FlexibleForm<Form902_1e.Form> = { }, }; }, -}; +}); -namespace Form902_1e { +namespace Form902_1 { interface LegalEntityCustomer { companyName: string; domicile: string; diff --git a/packages/exchange-backoffice-ui/src/forms/902_4e.ts b/packages/exchange-backoffice-ui/src/forms/902_4e.ts index ca7ef8505..ffe3b28a2 100644 --- a/packages/exchange-backoffice-ui/src/forms/902_4e.ts +++ b/packages/exchange-backoffice-ui/src/forms/902_4e.ts @@ -4,8 +4,9 @@ import { FlexibleForm } from "./index.js"; import { ArrowRightIcon } from "@heroicons/react/24/outline"; import { h as create } from "preact"; import { ChevronRightIcon } from "@heroicons/react/24/solid"; +import { State } from "../pages/AntiMoneyLaunderingForm.js"; -export const v1: FlexibleForm<Form902_4.Form> = { +export const v1 = (current: State): FlexibleForm<Form902_4.Form> => ({ versionId: "2023-05-15", design: [ { @@ -745,7 +746,7 @@ export const v1: FlexibleForm<Form902_4.Form> = { }, }; }, -}; +}); namespace Form902_4 { export interface Form { diff --git a/packages/exchange-backoffice-ui/src/forms/902_5e.ts b/packages/exchange-backoffice-ui/src/forms/902_5e.ts index 60bd551d5..8ff72e0c5 100644 --- a/packages/exchange-backoffice-ui/src/forms/902_5e.ts +++ b/packages/exchange-backoffice-ui/src/forms/902_5e.ts @@ -5,8 +5,9 @@ import { } from "@gnu-taler/taler-util"; import { FormState } from "../handlers/FormProvider.js"; import { FlexibleForm, currencyList } from "./index.js"; +import { State } from "../pages/AntiMoneyLaunderingForm.js"; -export const v1: FlexibleForm<Form902_12e.Form> = { +export const v1 = (current: State): FlexibleForm<Form902_5.Form> => ({ versionId: "2023-05-15", design: [ { @@ -230,8 +231,8 @@ export const v1: FlexibleForm<Form902_12e.Form> = { }, ], behavior: function formBehavior( - v: Partial<Form902_12e.Form>, - ): FormState<Form902_12e.Form> { + v: Partial<Form902_5.Form>, + ): FormState<Form902_5.Form> { return { when: { disabled: true, @@ -243,9 +244,9 @@ export const v1: FlexibleForm<Form902_12e.Form> = { }, }; }, -}; +}); -namespace Form902_12e { +namespace Form902_5 { export interface Form { customer: string; fullName: string; diff --git a/packages/exchange-backoffice-ui/src/forms/902_9e.ts b/packages/exchange-backoffice-ui/src/forms/902_9e.ts index 6d88f8578..831fcc9f9 100644 --- a/packages/exchange-backoffice-ui/src/forms/902_9e.ts +++ b/packages/exchange-backoffice-ui/src/forms/902_9e.ts @@ -1,8 +1,9 @@ import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util"; import { FormState } from "../handlers/FormProvider.js"; import { FlexibleForm } from "./index.js"; +import { State } from "../pages/AntiMoneyLaunderingForm.js"; -export const v1: FlexibleForm<Form902_9e.Form> = { +export const v1 = (current: State): FlexibleForm<Form902_9.Form> => ({ versionId: "2023-05-15", design: [ { @@ -104,17 +105,17 @@ export const v1: FlexibleForm<Form902_9e.Form> = { }, ], behavior: function formBehavior( - v: Partial<Form902_9e.Form>, - ): FormState<Form902_9e.Form> { + v: Partial<Form902_9.Form>, + ): FormState<Form902_9.Form> { return { when: { disabled: true, }, }; }, -}; +}); -namespace Form902_9e { +namespace Form902_9 { interface Person { surname: string; firstName: string; diff --git a/packages/exchange-backoffice-ui/src/forms/simplest.ts b/packages/exchange-backoffice-ui/src/forms/simplest.ts new file mode 100644 index 000000000..a395410c3 --- /dev/null +++ b/packages/exchange-backoffice-ui/src/forms/simplest.ts @@ -0,0 +1,96 @@ +import { + AbsoluteTime, + AmountJson, + Amounts, + TranslatedString, +} from "@gnu-taler/taler-util"; +import { FormState } from "../handlers/FormProvider.js"; +import { FlexibleForm } from "./index.js"; +import { AmlState } from "../types.js"; +import { amlStateConverter } from "../pages/AccountDetails.js"; +import { State } from "../pages/AntiMoneyLaunderingForm.js"; + +export const v1 = (current: State): FlexibleForm<Simplest.Form> => ({ + versionId: "2023-05-25", + design: [ + { + title: "Simple form" as TranslatedString, + fields: [ + { + type: "textArea", + props: { + name: "comment", + label: "Comments" as TranslatedString, + }, + }, + ], + }, + { + title: "Resolution" as TranslatedString, + description: `Current state is ${amlStateConverter.toStringUI( + current.state, + )} and threshold at ${Amounts.stringifyValue( + current.threshold, + )}` as TranslatedString, + fields: [ + { + type: "date", + props: { + name: "when", + label: "Decision Time" as TranslatedString, + }, + }, + { + type: "choiceHorizontal", + props: { + name: "state", + label: "New state" as TranslatedString, + converter: amlStateConverter, + choices: [ + { + value: AmlState.frozen, + label: "Frozen" as TranslatedString, + }, + { + value: AmlState.pending, + label: "Pending" as TranslatedString, + }, + { + value: AmlState.normal, + label: "Normal" as TranslatedString, + }, + ], + }, + }, + { + type: "amount", + props: { + name: "threshold", + label: "New threshold" as TranslatedString, + }, + }, + ], + }, + ], + behavior: function formBehavior( + v: Partial<Simplest.Form>, + ): FormState<Simplest.Form> { + return { + when: { + disabled: true, + }, + threshold: { + disabled: v.state === AmlState.frozen, + }, + }; + }, +}); + +namespace Simplest { + export interface Form { + when: AbsoluteTime; + threshold: AmountJson; + state: AmlState; + comment: string; + } +} |