aboutsummaryrefslogtreecommitdiff
path: root/packages/exchange-backoffice-ui/src/forms
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/forms
parentdad7d48ed2d7cd6f17466889395b49023e4b5097 (diff)
cases, account details and new-form screen
Diffstat (limited to 'packages/exchange-backoffice-ui/src/forms')
-rw-r--r--packages/exchange-backoffice-ui/src/forms/902_11e.ts11
-rw-r--r--packages/exchange-backoffice-ui/src/forms/902_12e.ts11
-rw-r--r--packages/exchange-backoffice-ui/src/forms/902_13e.ts11
-rw-r--r--packages/exchange-backoffice-ui/src/forms/902_15e.ts11
-rw-r--r--packages/exchange-backoffice-ui/src/forms/902_1e.ts11
-rw-r--r--packages/exchange-backoffice-ui/src/forms/902_4e.ts5
-rw-r--r--packages/exchange-backoffice-ui/src/forms/902_5e.ts11
-rw-r--r--packages/exchange-backoffice-ui/src/forms/902_9e.ts11
-rw-r--r--packages/exchange-backoffice-ui/src/forms/simplest.ts96
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;
+ }
+}