gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] 02/03: resolution field for all forms


From: gnunet
Subject: [taler-wallet-core] 02/03: resolution field for all forms
Date: Fri, 26 May 2023 14:56:25 +0200

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a commit to branch master
in repository wallet-core.

commit 562067a28788084832af4a2862d06f99a71476d3
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Thu May 25 18:23:38 2023 -0300

    resolution field for all forms
---
 .../exchange-backoffice-ui/src/forms/902_11e.ts    |  12 ++-
 .../exchange-backoffice-ui/src/forms/902_12e.ts    |  12 ++-
 .../exchange-backoffice-ui/src/forms/902_13e.ts    |  12 ++-
 .../exchange-backoffice-ui/src/forms/902_15e.ts    |  12 ++-
 .../exchange-backoffice-ui/src/forms/902_1e.ts     |  14 ++-
 .../exchange-backoffice-ui/src/forms/902_4e.ts     |  14 ++-
 .../exchange-backoffice-ui/src/forms/902_5e.ts     |   6 +-
 .../exchange-backoffice-ui/src/forms/902_9e.ts     |  12 ++-
 .../exchange-backoffice-ui/src/forms/simplest.ts   | 103 +++++++++++----------
 .../exchange-backoffice-ui/src/handlers/forms.ts   |   2 +-
 10 files changed, 127 insertions(+), 72 deletions(-)

diff --git a/packages/exchange-backoffice-ui/src/forms/902_11e.ts 
b/packages/exchange-backoffice-ui/src/forms/902_11e.ts
index 267b5b52d..24df6a44c 100644
--- a/packages/exchange-backoffice-ui/src/forms/902_11e.ts
+++ b/packages/exchange-backoffice-ui/src/forms/902_11e.ts
@@ -1,7 +1,13 @@
-import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util";
+import {
+  AbsoluteTime,
+  AmountJson,
+  TranslatedString,
+} from "@gnu-taler/taler-util";
 import { FormState } from "../handlers/FormProvider.js";
 import { FlexibleForm } from "./index.js";
 import { State } from "../pages/AntiMoneyLaunderingForm.js";
+import { AmlState } from "../types.js";
+import { Simplest, resolutionSection } from "./simplest.js";
 
 export const v1 = (current: State): FlexibleForm<Form902_11.Form> => ({
   versionId: "2023-05-15",
@@ -114,6 +120,7 @@ export const v1 = (current: State): 
FlexibleForm<Form902_11.Form> => ({
         },
       ],
     },
+    resolutionSection(current),
   ],
   behavior: function formBehavior(
     v: Partial<Form902_11.Form>,
@@ -137,12 +144,11 @@ namespace Form902_11 {
     firstName: string;
     address: string;
   }
-  export interface Form {
+  export interface Form extends Simplest.WithResolution {
     contractingPartner: string;
     declares: "25-or-more" | "controlling-in-other-ways" | "managing-director";
     person: Person[];
     fiduciaryAssets: "no" | "yes";
-    when: AbsoluteTime;
     signature: string;
   }
 }
diff --git a/packages/exchange-backoffice-ui/src/forms/902_12e.ts 
b/packages/exchange-backoffice-ui/src/forms/902_12e.ts
index 56a3986ee..c80539511 100644
--- a/packages/exchange-backoffice-ui/src/forms/902_12e.ts
+++ b/packages/exchange-backoffice-ui/src/forms/902_12e.ts
@@ -1,7 +1,13 @@
-import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util";
+import {
+  AbsoluteTime,
+  AmountJson,
+  TranslatedString,
+} from "@gnu-taler/taler-util";
 import { FormState } from "../handlers/FormProvider.js";
 import { FlexibleForm } from "./index.js";
 import { State } from "../pages/AntiMoneyLaunderingForm.js";
+import { AmlState } from "../types.js";
+import { Simplest, resolutionSection } from "./simplest.js";
 
 export const v1 = (current: State): FlexibleForm<Form902_12.Form> => ({
   versionId: "2023-05-15",
@@ -363,6 +369,7 @@ export const v1 = (current: State): 
FlexibleForm<Form902_12.Form> => ({
         },
       ],
     },
+    resolutionSection(current),
   ],
   behavior: function formBehavior(
     v: Partial<Form902_12.Form>,
@@ -419,7 +426,7 @@ namespace Form902_12 {
   type Founder = WithRevoke<WithDeath<Person>>;
   type Beneficiary = WithClaim<Person>;
 
-  export interface Form {
+  export interface Form extends Simplest.WithResolution {
     contractingPartner: string;
     knownAs: string;
     boardMember: string;
@@ -429,6 +436,5 @@ namespace Form902_12 {
     beneficiaryWhenSigning: Array<Beneficiary>;
     beneficiaryExtra: Array<Beneficiary>;
     withRightToNominate: Array<WithRevoke<Person>>;
-    when: AbsoluteTime;
   }
 }
diff --git a/packages/exchange-backoffice-ui/src/forms/902_13e.ts 
b/packages/exchange-backoffice-ui/src/forms/902_13e.ts
index e933432e4..63870f00a 100644
--- a/packages/exchange-backoffice-ui/src/forms/902_13e.ts
+++ b/packages/exchange-backoffice-ui/src/forms/902_13e.ts
@@ -1,7 +1,13 @@
-import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util";
+import {
+  AbsoluteTime,
+  AmountJson,
+  TranslatedString,
+} from "@gnu-taler/taler-util";
 import { FormState } from "../handlers/FormProvider.js";
 import { FlexibleForm } from "./index.js";
 import { State } from "../pages/AntiMoneyLaunderingForm.js";
+import { AmlState } from "../types.js";
+import { Simplest, resolutionSection } from "./simplest.js";
 
 export const v1 = (current: State): FlexibleForm<Form902_13.Form> => ({
   versionId: "2023-05-15",
@@ -440,6 +446,7 @@ export const v1 = (current: State): 
FlexibleForm<Form902_13.Form> => ({
         },
       ],
     },
+    resolutionSection(current),
   ],
   behavior: function formBehavior(
     v: Partial<Form902_13.Form>,
@@ -505,7 +512,7 @@ namespace Form902_13 {
   type Founder = WithRevoke<WithDeath<Person>>;
   type Beneficiary = WithClaim<Person>;
 
-  export interface Form {
+  export interface Form extends Simplest.WithResolution {
     contractingPartner: string;
     knownAs: string;
     boardMember: string;
@@ -516,6 +523,5 @@ namespace Form902_13 {
     beneficiaryExtra: Array<Beneficiary>;
     protectors: Array<WithRevoke<Person>>;
     furtherPersons: Array<WithRevoke<Person>>;
-    when: AbsoluteTime;
   }
 }
diff --git a/packages/exchange-backoffice-ui/src/forms/902_15e.ts 
b/packages/exchange-backoffice-ui/src/forms/902_15e.ts
index be304f357..19a16d3f2 100644
--- a/packages/exchange-backoffice-ui/src/forms/902_15e.ts
+++ b/packages/exchange-backoffice-ui/src/forms/902_15e.ts
@@ -1,7 +1,13 @@
-import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util";
+import {
+  AbsoluteTime,
+  AmountJson,
+  TranslatedString,
+} from "@gnu-taler/taler-util";
 import { FormState } from "../handlers/FormProvider.js";
 import { FlexibleForm } from "./index.js";
 import { State } from "../pages/AntiMoneyLaunderingForm.js";
+import { AmlState } from "../types.js";
+import { Simplest, resolutionSection } from "./simplest.js";
 
 export const v1 = (current: State): FlexibleForm<Form902_15.Form> => ({
   versionId: "2023-05-15",
@@ -159,6 +165,7 @@ export const v1 = (current: State): 
FlexibleForm<Form902_15.Form> => ({
         },
       ],
     },
+    resolutionSection(current),
   ],
   behavior: function formBehavior(
     v: Partial<Form902_15.Form>,
@@ -179,13 +186,12 @@ namespace Form902_15 {
     nationality: string;
   }
 
-  export interface Form {
+  export interface Form extends Simplest.WithResolution {
     contractingPartner: string;
     contractualRelationship: string;
     insurancePolicy: string;
     holder: Person;
     premiumsPayer: Person;
-    when: AbsoluteTime;
     signature: string;
   }
 }
diff --git a/packages/exchange-backoffice-ui/src/forms/902_1e.ts 
b/packages/exchange-backoffice-ui/src/forms/902_1e.ts
index 0f60c23d8..04952a985 100644
--- a/packages/exchange-backoffice-ui/src/forms/902_1e.ts
+++ b/packages/exchange-backoffice-ui/src/forms/902_1e.ts
@@ -1,7 +1,15 @@
-import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util";
+import {
+  AbsoluteTime,
+  AmountJson,
+  Amounts,
+  TranslatedString,
+} from "@gnu-taler/taler-util";
 import { FlexibleForm, languageList } from "./index.js";
 import { FormState } from "../handlers/FormProvider.js";
 import { State } from "../pages/AntiMoneyLaunderingForm.js";
+import { AmlState } from "../types.js";
+import { amlStateConverter } from "../pages/AccountDetails.js";
+import { Simplest, resolutionSection } from "./simplest.js";
 
 export const v1 = (current: State): FlexibleForm<Form902_1.Form> => ({
   versionId: "2023-05-15",
@@ -511,6 +519,7 @@ export const v1 = (current: State): 
FlexibleForm<Form902_1.Form> => ({
         },
       ],
     },
+    resolutionSection(current),
   ],
   behavior: function formBehavior(
     v: Partial<Form902_1.Form>,
@@ -671,8 +680,7 @@ namespace Form902_1 {
     purpose: string;
   }
 
-  export interface Form {
-    when: AbsoluteTime;
+  export interface Form extends Simplest.WithResolution {
     fullName: string;
     customerType: "natural" | "legal";
     naturalCustomer: NaturalCustomer;
diff --git a/packages/exchange-backoffice-ui/src/forms/902_4e.ts 
b/packages/exchange-backoffice-ui/src/forms/902_4e.ts
index ffe3b28a2..15ad17144 100644
--- a/packages/exchange-backoffice-ui/src/forms/902_4e.ts
+++ b/packages/exchange-backoffice-ui/src/forms/902_4e.ts
@@ -1,10 +1,18 @@
-import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util";
+import {
+  AbsoluteTime,
+  AmountJson,
+  Amounts,
+  TranslatedString,
+} from "@gnu-taler/taler-util";
 import { FormState } from "../handlers/FormProvider.js";
 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";
+import { AmlState } from "../types.js";
+import { amlStateConverter } from "../pages/AccountDetails.js";
+import { Simplest, resolutionSection } from "./simplest.js";
 
 export const v1 = (current: State): FlexibleForm<Form902_4.Form> => ({
   versionId: "2023-05-15",
@@ -736,6 +744,7 @@ export const v1 = (current: State): 
FlexibleForm<Form902_4.Form> => ({
         },
       ],
     },
+    resolutionSection(current),
   ],
   behavior: function formBehavior(
     v: Partial<Form902_4.Form>,
@@ -749,10 +758,9 @@ export const v1 = (current: State): 
FlexibleForm<Form902_4.Form> => ({
 });
 
 namespace Form902_4 {
-  export interface Form {
+  export interface Form extends Simplest.WithResolution {
     customer: string;
     fullName: string;
-    when: AbsoluteTime;
     pep: {
       foreign: "yes" | "no";
       domestic: "yes" | "no" | "yes-but-no-risk";
diff --git a/packages/exchange-backoffice-ui/src/forms/902_5e.ts 
b/packages/exchange-backoffice-ui/src/forms/902_5e.ts
index 8ff72e0c5..bd27b7a7f 100644
--- a/packages/exchange-backoffice-ui/src/forms/902_5e.ts
+++ b/packages/exchange-backoffice-ui/src/forms/902_5e.ts
@@ -6,6 +6,8 @@ import {
 import { FormState } from "../handlers/FormProvider.js";
 import { FlexibleForm, currencyList } from "./index.js";
 import { State } from "../pages/AntiMoneyLaunderingForm.js";
+import { AmlState } from "../types.js";
+import { Simplest, resolutionSection } from "./simplest.js";
 
 export const v1 = (current: State): FlexibleForm<Form902_5.Form> => ({
   versionId: "2023-05-15",
@@ -229,6 +231,7 @@ export const v1 = (current: State): 
FlexibleForm<Form902_5.Form> => ({
         },
       ],
     },
+    resolutionSection(current),
   ],
   behavior: function formBehavior(
     v: Partial<Form902_5.Form>,
@@ -247,10 +250,9 @@ export const v1 = (current: State): 
FlexibleForm<Form902_5.Form> => ({
 });
 
 namespace Form902_5 {
-  export interface Form {
+  export interface Form extends Simplest.WithResolution {
     customer: string;
     fullName: string;
-    when: AbsoluteTime;
     businessActivity: string;
     financial: string;
     originOfAssets: {
diff --git a/packages/exchange-backoffice-ui/src/forms/902_9e.ts 
b/packages/exchange-backoffice-ui/src/forms/902_9e.ts
index 831fcc9f9..e79597bfb 100644
--- a/packages/exchange-backoffice-ui/src/forms/902_9e.ts
+++ b/packages/exchange-backoffice-ui/src/forms/902_9e.ts
@@ -1,7 +1,13 @@
-import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util";
+import {
+  AbsoluteTime,
+  AmountJson,
+  TranslatedString,
+} from "@gnu-taler/taler-util";
 import { FormState } from "../handlers/FormProvider.js";
 import { FlexibleForm } from "./index.js";
 import { State } from "../pages/AntiMoneyLaunderingForm.js";
+import { AmlState } from "../types.js";
+import { Simplest, resolutionSection } from "./simplest.js";
 
 export const v1 = (current: State): FlexibleForm<Form902_9.Form> => ({
   versionId: "2023-05-15",
@@ -103,6 +109,7 @@ export const v1 = (current: State): 
FlexibleForm<Form902_9.Form> => ({
         },
       ],
     },
+    resolutionSection(current),
   ],
   behavior: function formBehavior(
     v: Partial<Form902_9.Form>,
@@ -123,10 +130,9 @@ namespace Form902_9 {
     nationality: string;
     address: string;
   }
-  export interface Form {
+  export interface Form extends Simplest.WithResolution {
     contractingPartner: string;
     persons: Person;
-    when: AbsoluteTime;
     signature: string;
   }
 }
diff --git a/packages/exchange-backoffice-ui/src/forms/simplest.ts 
b/packages/exchange-backoffice-ui/src/forms/simplest.ts
index a395410c3..5da01961b 100644
--- a/packages/exchange-backoffice-ui/src/forms/simplest.ts
+++ b/packages/exchange-backoffice-ui/src/forms/simplest.ts
@@ -9,6 +9,7 @@ import { FlexibleForm } from "./index.js";
 import { AmlState } from "../types.js";
 import { amlStateConverter } from "../pages/AccountDetails.js";
 import { State } from "../pages/AntiMoneyLaunderingForm.js";
+import { DoubleColumnFormSection, UIFormField } from "../handlers/forms.js";
 
 export const v1 = (current: State): FlexibleForm<Simplest.Form> => ({
   versionId: "2023-05-25",
@@ -25,52 +26,7 @@ export const v1 = (current: State): 
FlexibleForm<Simplest.Form> => ({
         },
       ],
     },
-    {
-      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,
-          },
-        },
-      ],
-    },
+    resolutionSection(current),
   ],
   behavior: function formBehavior(
     v: Partial<Simplest.Form>,
@@ -86,11 +42,62 @@ export const v1 = (current: State): 
FlexibleForm<Simplest.Form> => ({
   },
 });
 
-namespace Simplest {
-  export interface Form {
+export namespace Simplest {
+  export interface WithResolution {
     when: AbsoluteTime;
     threshold: AmountJson;
     state: AmlState;
+  }
+  export interface Form extends WithResolution {
     comment: string;
   }
 }
+
+export function resolutionSection(current: State): DoubleColumnFormSection {
+  return {
+    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,
+        },
+      },
+    ],
+  };
+}
diff --git a/packages/exchange-backoffice-ui/src/handlers/forms.ts 
b/packages/exchange-backoffice-ui/src/handlers/forms.ts
index 4eb188a09..2c90a69ed 100644
--- a/packages/exchange-backoffice-ui/src/handlers/forms.ts
+++ b/packages/exchange-backoffice-ui/src/handlers/forms.ts
@@ -18,7 +18,7 @@ import { InputChoiceHorizontal } from 
"./InputChoiceHorizontal.js";
 
 export type DoubleColumnForm = Array<DoubleColumnFormSection | undefined>;
 
-type DoubleColumnFormSection = {
+export type DoubleColumnFormSection = {
   title: TranslatedString;
   description?: TranslatedString;
   fields: UIFormField[];

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]