summaryrefslogtreecommitdiff
path: root/packages/aml-backoffice-ui/src/forms/902_13e.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/aml-backoffice-ui/src/forms/902_13e.ts')
-rw-r--r--packages/aml-backoffice-ui/src/forms/902_13e.ts177
1 files changed, 96 insertions, 81 deletions
diff --git a/packages/aml-backoffice-ui/src/forms/902_13e.ts b/packages/aml-backoffice-ui/src/forms/902_13e.ts
index f69884e0e..d71266489 100644
--- a/packages/aml-backoffice-ui/src/forms/902_13e.ts
+++ b/packages/aml-backoffice-ui/src/forms/902_13e.ts
@@ -1,23 +1,38 @@
+/*
+ This file is part of GNU Taler
+ (C) 2022-2024 Taler Systems S.A.
+
+ GNU Taler is free software; you can redistribute it and/or modify it under the
+ terms of the GNU General Public License as published by the Free Software
+ Foundation; either version 3, or (at your option) any later version.
+
+ GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with
+ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
+ */
import type { AbsoluteTime } from "@gnu-taler/taler-util";
-import type { FlexibleForm, FormState, InternationalizationAPI } from "@gnu-taler/web-util/browser";
-import { BaseForm } from "./declaration.js";
+import type { FormState, InternationalizationAPI } from "@gnu-taler/web-util/browser";
+import { BaseForm } from "../context/ui-forms.js";
import { resolutionSection } from "./simplest.js";
-export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): FlexibleForm<Form902_13.Form> => ({
+export const v1 = (i18n: InternationalizationAPI) => ({
design: [
{
title: i18n.str`Declaration for trusts`,
fields: [
{
type: "textArea",
- props: {
+ properties: {
name: "contractingPartner",
label: i18n.str`Contracting partner`,
},
},
{
type: "text",
- props: {
+ properties: {
name: "knownAs",
label:
i18n.str`The undersigned hereby declare(s) that as trustee or a member of highest supervisory body of an underlying company of a trust known as`,
@@ -25,7 +40,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "trust.name",
label:
i18n.str`Name and information pertaining to the trust`,
@@ -33,7 +48,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "choiceStacked",
- props: {
+ properties: {
name: "trust.type",
label: i18n.str`Type of trust`,
choices: [
@@ -50,7 +65,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "choiceStacked",
- props: {
+ properties: {
name: "trust.revocability",
label: i18n.str`Revocability`,
choices: [
@@ -67,7 +82,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "array",
- props: {
+ properties: {
label:
i18n.str`Information pertaining to the (ultimate economic, not fiduciary) settlor of the trust (individual(s) or entity/ies)`,
labelField: "fullName",
@@ -75,7 +90,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
fields: [
{
type: "text",
- props: {
+ properties: {
name: "fullName",
label:
i18n.str`Last name(s), first name(s)/entity`,
@@ -83,7 +98,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "address",
label:
i18n.str`Actual address of domicile/registered office`,
@@ -91,14 +106,14 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "country",
label: i18n.str`Country`,
},
},
{
type: "absoluteTime",
- props: {
+ properties: {
name: "dateOfBirth",
label: i18n.str`Date of birth`,
pattern: "dd/MM/yyyy",
@@ -107,14 +122,14 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "nationality",
label: i18n.str`Nationality`,
},
},
{
type: "absoluteTime",
- props: {
+ properties: {
name: "dateOfDeath",
label: i18n.str`Date of death`,
pattern: "dd/MM/yyyy",
@@ -124,7 +139,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "choiceStacked",
- props: {
+ properties: {
name: "rightToRevoke",
required: true,
label:
@@ -146,7 +161,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "array",
- props: {
+ properties: {
label:
i18n.str`If the trust results from the restructuring of pre-existing trust (re-settlement) or the merger of pre-existing trusts, the following information pertaining to the (actual) settlor of the pre-existing trust(s) has to be given`,
labelField: "fullName",
@@ -154,7 +169,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
fields: [
{
type: "text",
- props: {
+ properties: {
name: "fullName",
label:
i18n.str`Last name(s), first name(s)/entity`,
@@ -162,7 +177,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "address",
label:
i18n.str`Actual address of domicile/registered office`,
@@ -170,14 +185,14 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "country",
label: i18n.str`Country`,
},
},
{
type: "absoluteTime",
- props: {
+ properties: {
name: "dateOfBirth",
label: i18n.str`Date of birth`,
pattern: "dd/MM/yyyy",
@@ -186,14 +201,14 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "nationality",
label: i18n.str`Nationality`,
},
},
{
type: "absoluteTime",
- props: {
+ properties: {
name: "dateOfDeath",
label: i18n.str`Date of death`,
pattern: "dd/MM/yyyy",
@@ -206,7 +221,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "array",
- props: {
+ properties: {
label:
i18n.str`Pertaining to the beneficiary/-ies at the time of the signing of this form`,
labelField: "fullName",
@@ -214,7 +229,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
fields: [
{
type: "text",
- props: {
+ properties: {
name: "fullName",
label:
i18n.str`Last name(s), first name(s)/entity`,
@@ -222,7 +237,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "address",
label:
i18n.str`Actual address of domicile/registered office`,
@@ -230,14 +245,14 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "country",
label: i18n.str`Country`,
},
},
{
type: "absoluteTime",
- props: {
+ properties: {
name: "dateOfBirth",
label: i18n.str`Date of birth`,
pattern: "dd/MM/yyyy",
@@ -246,14 +261,14 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "nationality",
label: i18n.str`Nationality`,
},
},
{
type: "choiceStacked",
- props: {
+ properties: {
name: "rightToClaim",
label:
i18n.str`Has the beneficiary an actual right to claim distribution?`,
@@ -271,7 +286,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "textArea",
- props: {
+ properties: {
label:
i18n.str`in addition to certain beneficiaries or if there is/are no defined beneficiary/ies pertaining to (a) group(s) of beneficiaries (e.g. descendants of the settlor) known at the time of the signing of this form`,
name: "beneficiaryExtra",
@@ -282,7 +297,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "array",
- props: {
+ properties: {
label:
i18n.str`Information pertaining to the protector(s) as well as (a) further person(s) having the right to revoke the trust (in case of revocable trusts) or to appoint the trustee of a trust`,
labelField: "asd",
@@ -293,7 +308,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
{
type: "array",
- props: {
+ properties: {
label:
i18n.str`Information pertaining to the protectors`,
labelField: "fullName",
@@ -301,7 +316,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
fields: [
{
type: "text",
- props: {
+ properties: {
name: "fullName",
label:
i18n.str`Last name(s), first name(s)/entity`,
@@ -309,7 +324,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "address",
label:
i18n.str`Actual address of domicile/registered office`,
@@ -317,28 +332,28 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "country",
label: i18n.str`Country`,
},
},
{
type: "text",
- props: {
+ properties: {
name: "dateOfBirth",
label: i18n.str`Date of birth`,
},
},
{
type: "text",
- props: {
+ properties: {
name: "nationality",
label: i18n.str`Nationality`,
},
},
{
type: "choiceStacked",
- props: {
+ properties: {
name: "rightToClaim",
label:
i18n.str`Does the protector have the right to revoke the trust?`,
@@ -359,7 +374,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "array",
- props: {
+ properties: {
label:
i18n.str`Information pertaining to further persons`,
labelField: "fullName",
@@ -367,7 +382,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
fields: [
{
type: "text",
- props: {
+ properties: {
name: "fullName",
label:
i18n.str`Last name(s), first name(s)/entity`,
@@ -375,7 +390,7 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "address",
label:
i18n.str`Actual address of domicile/registered office`,
@@ -383,28 +398,28 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "country",
label: i18n.str`Country`,
},
},
{
type: "text",
- props: {
+ properties: {
name: "dateOfBirth",
label: i18n.str`Date of birth`,
},
},
{
type: "text",
- props: {
+ properties: {
name: "nationality",
label: i18n.str`Nationality`,
},
},
{
type: "choiceStacked",
- props: {
+ properties: {
name: "rightToClaim",
label:
i18n.str`Has this further person the right to revoke the trust?`,
@@ -425,48 +440,48 @@ export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): Flexib
},
{
type: "text",
- props: {
+ properties: {
name: "signature",
label: i18n.str`Signature`,
},
},
],
},
- resolutionSection(current, i18n),
+ resolutionSection(i18n),
],
- behavior: function formBehavior(
- v: Partial<Form902_13.Form>,
- ): FormState<Form902_13.Form> {
- return {
- settlors: {
- elements: (v.settlors ?? []).map((f) => {
- return {
- rightToRevoke: {
- hidden: v.foundation?.revocability !== "revocable",
- },
- };
- }),
- },
- protectors: {
- elements: (v.protectors ?? []).map((f) => {
- return {
- rightToRevoke: {
- hidden: v.foundation?.revocability !== "revocable",
- },
- };
- }),
- },
- furtherPersons: {
- elements: (v.furtherPersons ?? []).map((f) => {
- return {
- rightToRevoke: {
- hidden: v.foundation?.revocability !== "revocable",
- },
- };
- }),
- },
- };
- },
+ // behavior: function formBehavior(
+ // v: Partial<Form902_13.Form>,
+ // ): FormState<Form902_13.Form> {
+ // return {
+ // settlors: {
+ // elements: (v.settlors ?? []).map(() => {
+ // return {
+ // rightToRevoke: {
+ // hidden: v.foundation?.revocability !== "revocable",
+ // },
+ // };
+ // }),
+ // },
+ // protectors: {
+ // elements: (v.protectors ?? []).map(() => {
+ // return {
+ // rightToRevoke: {
+ // hidden: v.foundation?.revocability !== "revocable",
+ // },
+ // };
+ // }),
+ // },
+ // furtherPersons: {
+ // elements: (v.furtherPersons ?? []).map(() => {
+ // return {
+ // rightToRevoke: {
+ // hidden: v.foundation?.revocability !== "revocable",
+ // },
+ // };
+ // }),
+ // },
+ // };
+ // },
});
namespace Form902_13 {