diff options
author | Sebastian <sebasjm@gmail.com> | 2023-05-15 15:38:04 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2023-05-15 15:38:04 -0300 |
commit | 02fb71c0ff69d293911f4b0945ab964a87402d0c (patch) | |
tree | 175f5c86289b1703d4815e3597bda8b9f81d4f84 /packages/exchange-backoffice-ui/src/forms | |
parent | f4f798b1b4bae3073b669a562fd2b3a7880dffc3 (diff) |
third form and placeholder for the next ones
Diffstat (limited to 'packages/exchange-backoffice-ui/src/forms')
-rw-r--r-- | packages/exchange-backoffice-ui/src/forms/902_12e.ts | 433 | ||||
-rw-r--r-- | packages/exchange-backoffice-ui/src/forms/902_13e.ts | 512 | ||||
-rw-r--r-- | packages/exchange-backoffice-ui/src/forms/902_15e.ts | 48 | ||||
-rw-r--r-- | packages/exchange-backoffice-ui/src/forms/902_4e.ts | 48 | ||||
-rw-r--r-- | packages/exchange-backoffice-ui/src/forms/902_5e.ts | 48 | ||||
-rw-r--r-- | packages/exchange-backoffice-ui/src/forms/902_9e.ts | 48 |
6 files changed, 1137 insertions, 0 deletions
diff --git a/packages/exchange-backoffice-ui/src/forms/902_12e.ts b/packages/exchange-backoffice-ui/src/forms/902_12e.ts new file mode 100644 index 000000000..e58850660 --- /dev/null +++ b/packages/exchange-backoffice-ui/src/forms/902_12e.ts @@ -0,0 +1,433 @@ +import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util"; +import { FormState } from "../handlers/FormProvider.js"; +import { FlexibleForm } from "./index.js"; + +export const v1: FlexibleForm<Form902_12e.Form> = { + versionId: "2023-05-15", + design: [ + { + title: "Foundations" as TranslatedString, + fields: [ + { + type: "textArea", + props: { + name: "contractingPartner", + label: "Contracting partner" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "knownAs", + label: + "The undersigned hereby declare(s) that as board member of the foundation, or of the highest supervisory body of an underlying company of a foundation, known as" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "foundation.name", + label: + "Name and information pertaining to the foundation" as TranslatedString, + }, + }, + { + type: "choiceStacked", + props: { + name: "foundation.type", + label: "Type of foundation" as TranslatedString, + choices: [ + { + label: "Discretionary foundation" as TranslatedString, + value: "discretionary", + }, + { + label: "Non-discretionary foundation" as TranslatedString, + value: "non-discretionary", + }, + ], + }, + }, + { + type: "choiceStacked", + props: { + name: "foundation.revocability", + label: "Revocability" as TranslatedString, + choices: [ + { + label: "Revocable foundation" as TranslatedString, + value: "revocable", + }, + { + label: "Irrevocable foundation" as TranslatedString, + value: "irrevocable", + }, + ], + }, + }, + { + type: "array", + props: { + label: + "Information pertaining to the (ultimate economic, not fiduciary) founder (individual(s) or entity/ies)" as TranslatedString, + labelField: "fullName", + name: "founders", + fields: [ + { + type: "text", + props: { + name: "fullName", + label: + "Last name(s), first name(s)/entity" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "address", + label: + "Actual address of domicile/registered office" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "country", + label: "Country" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "dateOfBirth", + label: "Date of birth" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "nationality", + label: "Nationality" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "dateOfDeath", + label: "Date of death" as TranslatedString, + help: "if deceased" as TranslatedString, + }, + }, + { + type: "choiceStacked", + props: { + name: "rightToRevoke", + required: true, + label: + "Does the founder have the right to revoke the foundation?" as TranslatedString, + choices: [ + { + label: "Yes" as TranslatedString, + value: "yes", + }, + { + label: "No" as TranslatedString, + value: "no", + }, + ], + }, + }, + ], + }, + }, + { + type: "array", + props: { + label: + "If the foundation results from the restructuring of pre-existing foundation (re-settlement) or the merger of pre-existing foundations, the following information pertaining to the (actual) founder(s) of the pre-existing foundation(s) has to be given" as TranslatedString, + labelField: "fullName", + name: "preExistingFounders", + fields: [ + { + type: "text", + props: { + name: "fullName", + label: + "Last name(s), first name(s)/entity" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "address", + label: + "Actual address of domicile/registered office" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "country", + label: "Country" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "dateOfBirth", + label: "Date of birth" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "nationality", + label: "Nationality" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "dateOfDeath", + label: "Date of death" as TranslatedString, + help: "if deceased" as TranslatedString, + }, + }, + ], + }, + }, + { + type: "array", + props: { + label: + "Pertaining to the beneficiary/-ies at the time of the signing of this form" as TranslatedString, + labelField: "fullName", + name: "beneficiaryWhenSigning", + fields: [ + { + type: "text", + props: { + name: "fullName", + label: + "Last name(s), first name(s)/entity" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "address", + label: + "Actual address of domicile/registered office" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "country", + label: "Country" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "dateOfBirth", + label: "Date of birth" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "nationality", + label: "Nationality" as TranslatedString, + }, + }, + { + type: "choiceStacked", + props: { + name: "rightToClaim", + label: + "Has the beneficiary an actual right to claim distribution?" as TranslatedString, + choices: [ + { + label: "Yes" as TranslatedString, + value: "yes", + }, + { + label: "No" as TranslatedString, + value: "no", + }, + ], + }, + }, + { + type: "textArea", + props: { + label: + "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 founder) known at the time of the signing of this form" as TranslatedString, + name: "beneficiaryExtra", + }, + }, + ], + }, + }, + { + type: "array", + props: { + label: + "Information pertaining to further persons having the right to determine or nominate representatives (e.g.) members of the foundation board), if these representatives may dispose over the assets or have the right to change the distribution of the assets or the nomination of beneficiaries" as TranslatedString, + labelField: "fullName", + name: "withRightToNominate", + fields: [ + { + type: "text", + props: { + name: "fullName", + label: + "Last name(s), first name(s)/entity" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "address", + label: + "Actual address of domicile/registered office" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "country", + label: "Country" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "dateOfBirth", + label: "Date of birth" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "nationality", + label: "Nationality" as TranslatedString, + }, + }, + { + type: "choiceStacked", + props: { + name: "rightToClaim", + label: + "has the person the right to revoke the foundation?" as TranslatedString, + choices: [ + { + label: "Yes" as TranslatedString, + value: "yes", + }, + { + label: "No" as TranslatedString, + value: "no", + }, + ], + }, + }, + { + type: "textArea", + props: { + label: + "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 founder) known at the time of the signing of this form" as TranslatedString, + name: "beneficiaryExtra", + }, + }, + ], + }, + }, + { + type: "date", + props: { + name: "when", + pattern: "dd/MM/yyyy", + label: "Date" as TranslatedString, + help: "format 'dd/MM/yyyy'" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "signature", + label: "Signature" as TranslatedString, + }, + }, + ], + }, + ], + behavior: function formBehavior( + v: Partial<Form902_12e.Form>, + ): FormState<Form902_12e.Form> { + return { + founders: { + elements: (v.founders ?? []).map((f) => { + return { + rightToRevoke: { + hidden: v.foundation?.revocability !== "revocable", + }, + }; + }), + }, + withRightToNominate: { + elements: (v.withRightToNominate ?? []).map((f) => { + return { + rightToRevoke: { + hidden: v.foundation?.revocability !== "revocable", + }, + }; + }), + }, + when: { + disabled: true, + }, + }; + }, +}; + +namespace Form902_12e { + interface Foundation { + name: string; + type: "discretionary" | "non-discretionary"; + revocability: "revocable" | "irrevocable"; + } + interface Person { + fullName: string; + address: string; + country: string; + dateOfBirth: AbsoluteTime; + nationality: string; + } + type WithRevoke<T> = { + rightToRevoke: "yes" | "no"; + } & T; + type WithClaim<T> = { + rightToClaim: "yes" | "no"; + } & T; + type WithDeath<T> = { + dateOfDeath: AbsoluteTime; + } & T; + + type Founder = WithRevoke<WithDeath<Person>>; + type Beneficiary = WithClaim<Person>; + + export interface Form { + contractingPartner: string; + knownAs: string; + boardMember: string; + foundation: Foundation; + founders: Array<Founder>; + preExistingFounders: Array<Founder>; + 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 new file mode 100644 index 000000000..04dd95bc0 --- /dev/null +++ b/packages/exchange-backoffice-ui/src/forms/902_13e.ts @@ -0,0 +1,512 @@ +import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util"; +import { FormState } from "../handlers/FormProvider.js"; +import { FlexibleForm } from "./index.js"; + +export const v1: FlexibleForm<Form902_13e.Form> = { + versionId: "2023-05-15", + design: [ + { + title: "Declaration for trusts" as TranslatedString, + fields: [ + { + type: "textArea", + props: { + name: "contractingPartner", + label: "Contracting partner" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "knownAs", + label: + "The undersigned hereby declare(s) that as trustee or a member of highest supervisory body of an underlying company of a trust known as" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "trust.name", + label: + "Name and information pertaining to the trust" as TranslatedString, + }, + }, + { + type: "choiceStacked", + props: { + name: "trust.type", + label: "Type of trust" as TranslatedString, + choices: [ + { + label: "Discretionary trust" as TranslatedString, + value: "discretionary", + }, + { + label: "Non-discretionary trust" as TranslatedString, + value: "non-discretionary", + }, + ], + }, + }, + { + type: "choiceStacked", + props: { + name: "trust.revocability", + label: "Revocability" as TranslatedString, + choices: [ + { + label: "Revocable foundation" as TranslatedString, + value: "revocable", + }, + { + label: "Irrevocable foundation" as TranslatedString, + value: "irrevocable", + }, + ], + }, + }, + { + type: "array", + props: { + label: + "Information pertaining to the (ultimate economic, not fiduciary) settlor of the trust (individual(s) or entity/ies)" as TranslatedString, + labelField: "fullName", + name: "settlors", + fields: [ + { + type: "text", + props: { + name: "fullName", + label: + "Last name(s), first name(s)/entity" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "address", + label: + "Actual address of domicile/registered office" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "country", + label: "Country" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "dateOfBirth", + label: "Date of birth" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "nationality", + label: "Nationality" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "dateOfDeath", + label: "Date of death" as TranslatedString, + help: "if deceased" as TranslatedString, + }, + }, + { + type: "choiceStacked", + props: { + name: "rightToRevoke", + required: true, + label: + "Does the founder have the right to revoke the trust?" as TranslatedString, + choices: [ + { + label: "Yes" as TranslatedString, + value: "yes", + }, + { + label: "No" as TranslatedString, + value: "no", + }, + ], + }, + }, + ], + }, + }, + { + type: "array", + props: { + label: + "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" as TranslatedString, + labelField: "fullName", + name: "preExistingSettlors", + fields: [ + { + type: "text", + props: { + name: "fullName", + label: + "Last name(s), first name(s)/entity" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "address", + label: + "Actual address of domicile/registered office" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "country", + label: "Country" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "dateOfBirth", + label: "Date of birth" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "nationality", + label: "Nationality" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "dateOfDeath", + label: "Date of death" as TranslatedString, + help: "if deceased" as TranslatedString, + }, + }, + ], + }, + }, + { + type: "array", + props: { + label: + "Pertaining to the beneficiary/-ies at the time of the signing of this form" as TranslatedString, + labelField: "fullName", + name: "beneficiaryWhenSigning", + fields: [ + { + type: "text", + props: { + name: "fullName", + label: + "Last name(s), first name(s)/entity" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "address", + label: + "Actual address of domicile/registered office" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "country", + label: "Country" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "dateOfBirth", + label: "Date of birth" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "nationality", + label: "Nationality" as TranslatedString, + }, + }, + { + type: "choiceStacked", + props: { + name: "rightToClaim", + label: + "Has the beneficiary an actual right to claim distribution?" as TranslatedString, + choices: [ + { + label: "Yes" as TranslatedString, + value: "yes", + }, + { + label: "No" as TranslatedString, + value: "no", + }, + ], + }, + }, + { + type: "textArea", + props: { + label: + "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" as TranslatedString, + name: "beneficiaryExtra", + }, + }, + ], + }, + }, + { + type: "array", + props: { + label: + "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" as TranslatedString, + labelField: "asd", + name: "nothing", + fields: [], + }, + }, + + { + type: "array", + props: { + label: + "Information pertaining to the protectors" as TranslatedString, + labelField: "fullName", + name: "protectors", + fields: [ + { + type: "text", + props: { + name: "fullName", + label: + "Last name(s), first name(s)/entity" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "address", + label: + "Actual address of domicile/registered office" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "country", + label: "Country" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "dateOfBirth", + label: "Date of birth" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "nationality", + label: "Nationality" as TranslatedString, + }, + }, + { + type: "choiceStacked", + props: { + name: "rightToClaim", + label: + "Does the protector have the right to revoke the trust?" as TranslatedString, + choices: [ + { + label: "Yes" as TranslatedString, + value: "yes", + }, + { + label: "No" as TranslatedString, + value: "no", + }, + ], + }, + }, + ], + }, + }, + { + type: "array", + props: { + label: + "Information pertaining to further persons" as TranslatedString, + labelField: "fullName", + name: "furtherPersons", + fields: [ + { + type: "text", + props: { + name: "fullName", + label: + "Last name(s), first name(s)/entity" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "address", + label: + "Actual address of domicile/registered office" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "country", + label: "Country" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "dateOfBirth", + label: "Date of birth" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "nationality", + label: "Nationality" as TranslatedString, + }, + }, + { + type: "choiceStacked", + props: { + name: "rightToClaim", + label: + "Has this further person the right to revoke the trust?" as TranslatedString, + choices: [ + { + label: "Yes" as TranslatedString, + value: "yes", + }, + { + label: "No" as TranslatedString, + value: "no", + }, + ], + }, + }, + ], + }, + }, + { + type: "date", + props: { + name: "when", + pattern: "dd/MM/yyyy", + label: "Date" as TranslatedString, + help: "format 'dd/MM/yyyy'" as TranslatedString, + }, + }, + { + type: "text", + props: { + name: "signature", + label: "Signature" as TranslatedString, + }, + }, + ], + }, + ], + behavior: function formBehavior( + v: Partial<Form902_13e.Form>, + ): FormState<Form902_13e.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", + }, + }; + }), + }, + when: { + disabled: true, + }, + }; + }, +}; + +namespace Form902_13e { + interface Foundation { + name: string; + type: "discretionary" | "non-discretionary"; + revocability: "revocable" | "irrevocable"; + } + interface Person { + fullName: string; + address: string; + country: string; + dateOfBirth: AbsoluteTime; + nationality: string; + } + type WithRevoke<T> = { + rightToRevoke: "yes" | "no"; + } & T; + type WithClaim<T> = { + rightToClaim: "yes" | "no"; + } & T; + type WithDeath<T> = { + dateOfDeath: AbsoluteTime; + } & T; + + type Founder = WithRevoke<WithDeath<Person>>; + type Beneficiary = WithClaim<Person>; + + export interface Form { + contractingPartner: string; + knownAs: string; + boardMember: string; + foundation: Foundation; + settlors: Array<Founder>; + preExistingSettlors: Array<Founder>; + beneficiaryWhenSigning: Array<Beneficiary>; + 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 new file mode 100644 index 000000000..8f927cdc2 --- /dev/null +++ b/packages/exchange-backoffice-ui/src/forms/902_15e.ts @@ -0,0 +1,48 @@ +import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util"; +import { FlexibleForm, languageList } from "./index.js"; +import { FormState } from "../handlers/FormProvider.js"; + +export const v1: FlexibleForm<Form902_12e.Form> = { + versionId: "2023-05-15", + design: [ + { + title: "15" as TranslatedString, + description: + "for operating legal entities and partnership that are contracting partner as well as analogously for operating legal entities and partnership that are beneficial owners." as TranslatedString, + fields: [ + { + type: "textArea", + props: { + name: "contractingPartner", + label: "Contracting partner" as TranslatedString, + }, + }, + { + type: "date", + props: { + name: "when", + pattern: "dd/MM/yyyy", + label: "Date" as TranslatedString, + help: "format 'dd/MM/yyyy'" as TranslatedString, + }, + }, + ], + }, + ], + behavior: function formBehavior( + v: Partial<Form902_12e.Form>, + ): FormState<Form902_12e.Form> { + return { + when: { + disabled: true, + }, + }; + }, +}; + +namespace Form902_12e { + export interface Form { + contractingPartner: string; + when: AbsoluteTime; + } +} diff --git a/packages/exchange-backoffice-ui/src/forms/902_4e.ts b/packages/exchange-backoffice-ui/src/forms/902_4e.ts new file mode 100644 index 000000000..6e8d7f1e2 --- /dev/null +++ b/packages/exchange-backoffice-ui/src/forms/902_4e.ts @@ -0,0 +1,48 @@ +import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util"; +import { FlexibleForm, languageList } from "./index.js"; +import { FormState } from "../handlers/FormProvider.js"; + +export const v1: FlexibleForm<Form902_12e.Form> = { + versionId: "2023-05-15", + design: [ + { + title: "4" as TranslatedString, + description: + "for operating legal entities and partnership that are contracting partner as well as analogously for operating legal entities and partnership that are beneficial owners." as TranslatedString, + fields: [ + { + type: "textArea", + props: { + name: "contractingPartner", + label: "Contracting partner" as TranslatedString, + }, + }, + { + type: "date", + props: { + name: "when", + pattern: "dd/MM/yyyy", + label: "Date" as TranslatedString, + help: "format 'dd/MM/yyyy'" as TranslatedString, + }, + }, + ], + }, + ], + behavior: function formBehavior( + v: Partial<Form902_12e.Form>, + ): FormState<Form902_12e.Form> { + return { + when: { + disabled: true, + }, + }; + }, +}; + +namespace Form902_12e { + export interface Form { + contractingPartner: string; + when: AbsoluteTime; + } +} diff --git a/packages/exchange-backoffice-ui/src/forms/902_5e.ts b/packages/exchange-backoffice-ui/src/forms/902_5e.ts new file mode 100644 index 000000000..20013e727 --- /dev/null +++ b/packages/exchange-backoffice-ui/src/forms/902_5e.ts @@ -0,0 +1,48 @@ +import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util"; +import { FlexibleForm, languageList } from "./index.js"; +import { FormState } from "../handlers/FormProvider.js"; + +export const v1: FlexibleForm<Form902_12e.Form> = { + versionId: "2023-05-15", + design: [ + { + title: "5" as TranslatedString, + description: + "for operating legal entities and partnership that are contracting partner as well as analogously for operating legal entities and partnership that are beneficial owners." as TranslatedString, + fields: [ + { + type: "textArea", + props: { + name: "contractingPartner", + label: "Contracting partner" as TranslatedString, + }, + }, + { + type: "date", + props: { + name: "when", + pattern: "dd/MM/yyyy", + label: "Date" as TranslatedString, + help: "format 'dd/MM/yyyy'" as TranslatedString, + }, + }, + ], + }, + ], + behavior: function formBehavior( + v: Partial<Form902_12e.Form>, + ): FormState<Form902_12e.Form> { + return { + when: { + disabled: true, + }, + }; + }, +}; + +namespace Form902_12e { + export interface Form { + contractingPartner: string; + when: AbsoluteTime; + } +} diff --git a/packages/exchange-backoffice-ui/src/forms/902_9e.ts b/packages/exchange-backoffice-ui/src/forms/902_9e.ts new file mode 100644 index 000000000..d68caba23 --- /dev/null +++ b/packages/exchange-backoffice-ui/src/forms/902_9e.ts @@ -0,0 +1,48 @@ +import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util"; +import { FlexibleForm, languageList } from "./index.js"; +import { FormState } from "../handlers/FormProvider.js"; + +export const v1: FlexibleForm<Form902_12e.Form> = { + versionId: "2023-05-15", + design: [ + { + title: "9" as TranslatedString, + description: + "for operating legal entities and partnership that are contracting partner as well as analogously for operating legal entities and partnership that are beneficial owners." as TranslatedString, + fields: [ + { + type: "textArea", + props: { + name: "contractingPartner", + label: "Contracting partner" as TranslatedString, + }, + }, + { + type: "date", + props: { + name: "when", + pattern: "dd/MM/yyyy", + label: "Date" as TranslatedString, + help: "format 'dd/MM/yyyy'" as TranslatedString, + }, + }, + ], + }, + ], + behavior: function formBehavior( + v: Partial<Form902_12e.Form>, + ): FormState<Form902_12e.Form> { + return { + when: { + disabled: true, + }, + }; + }, +}; + +namespace Form902_12e { + export interface Form { + contractingPartner: string; + when: AbsoluteTime; + } +} |