@rolatech/angular-onboarding 20.3.0-beta.2 → 20.3.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-detail-page-DREEMvoT.mjs +720 -0
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-detail-page-DREEMvoT.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-index-page-DP7wffLd.mjs +313 -0
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-index-page-DP7wffLd.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-form-page-y02hYlN_.mjs +446 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-form-page-y02hYlN_.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-result-page-CEL4nWb_.mjs +141 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-result-page-CEL4nWb_.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-review-page-DG_D03YW.mjs +453 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-review-page-DG_D03YW.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-onboarding-agent-apply-shell-page-DibWYeD1.mjs → rolatech-angular-onboarding-agent-apply-shell-page-CaTvnFzk.mjs} +27 -40
- package/fesm2022/rolatech-angular-onboarding-agent-apply-shell-page-CaTvnFzk.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-onboarding-agent-apply-start-page-DC7gyOnS.mjs → rolatech-angular-onboarding-agent-apply-start-page-BfqO2YWB.mjs} +31 -29
- package/fesm2022/rolatech-angular-onboarding-agent-apply-start-page-BfqO2YWB.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-onboarding-agent-onboarding-documents-page-DWBGTj5J.mjs → rolatech-angular-onboarding-agent-onboarding-documents-page-BKDYZE0e.mjs} +79 -6
- package/fesm2022/rolatech-angular-onboarding-agent-onboarding-documents-page-BKDYZE0e.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding.mjs +2251 -233
- package/fesm2022/rolatech-angular-onboarding.mjs.map +1 -1
- package/package.json +1 -1
- package/types/rolatech-angular-onboarding.d.ts +219 -12
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-detail-page-DKJQX3cs.mjs +0 -224
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-detail-page-DKJQX3cs.mjs.map +0 -1
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-index-page-BO4pC_NU.mjs +0 -206
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-index-page-BO4pC_NU.mjs.map +0 -1
- package/fesm2022/rolatech-angular-onboarding-agent-apply-banking-page-VYNfR4fy.mjs +0 -133
- package/fesm2022/rolatech-angular-onboarding-agent-apply-banking-page-VYNfR4fy.mjs.map +0 -1
- package/fesm2022/rolatech-angular-onboarding-agent-apply-financial-page-Ck3Rowke.mjs +0 -132
- package/fesm2022/rolatech-angular-onboarding-agent-apply-financial-page-Ck3Rowke.mjs.map +0 -1
- package/fesm2022/rolatech-angular-onboarding-agent-apply-profile-page-DNepDxHu.mjs +0 -122
- package/fesm2022/rolatech-angular-onboarding-agent-apply-profile-page-DNepDxHu.mjs.map +0 -1
- package/fesm2022/rolatech-angular-onboarding-agent-apply-qualification-page-CSwupuKt.mjs +0 -108
- package/fesm2022/rolatech-angular-onboarding-agent-apply-qualification-page-CSwupuKt.mjs.map +0 -1
- package/fesm2022/rolatech-angular-onboarding-agent-apply-review-page-DugCjfvK.mjs +0 -182
- package/fesm2022/rolatech-angular-onboarding-agent-apply-review-page-DugCjfvK.mjs.map +0 -1
- package/fesm2022/rolatech-angular-onboarding-agent-apply-shell-page-DibWYeD1.mjs.map +0 -1
- package/fesm2022/rolatech-angular-onboarding-agent-apply-start-page-DC7gyOnS.mjs.map +0 -1
- package/fesm2022/rolatech-angular-onboarding-agent-apply-submitted-page-BMkV2V8K.mjs +0 -55
- package/fesm2022/rolatech-angular-onboarding-agent-apply-submitted-page-BMkV2V8K.mjs.map +0 -1
- package/fesm2022/rolatech-angular-onboarding-agent-onboarding-documents-page-DWBGTj5J.mjs.map +0 -1
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
-
import { RouterLink } from '@angular/router';
|
|
4
|
-
import { onboardingStatusLabel } from '@rolatech/angular-services';
|
|
5
|
-
import { AdminOnboardingListFacade, OnboardingPageShell, OnboardingStatusBadge } from './rolatech-angular-onboarding.mjs';
|
|
6
|
-
|
|
7
|
-
class AdminOnboardingIndexPage {
|
|
8
|
-
facade = inject(AdminOnboardingListFacade);
|
|
9
|
-
statusLabel = onboardingStatusLabel;
|
|
10
|
-
statuses = [
|
|
11
|
-
'DRAFT',
|
|
12
|
-
'IN_PROGRESS',
|
|
13
|
-
'SUBMITTED',
|
|
14
|
-
'IN_REVIEW',
|
|
15
|
-
'NEED_MORE_INFO',
|
|
16
|
-
'APPROVED',
|
|
17
|
-
'FAILED',
|
|
18
|
-
];
|
|
19
|
-
constructor() {
|
|
20
|
-
void this.facade.load();
|
|
21
|
-
}
|
|
22
|
-
onSearch(event) {
|
|
23
|
-
const target = event.target;
|
|
24
|
-
this.facade.setSearch(target.value);
|
|
25
|
-
void this.facade.load();
|
|
26
|
-
}
|
|
27
|
-
onStatus(event) {
|
|
28
|
-
const target = event.target;
|
|
29
|
-
const status = target.value ? target.value : undefined;
|
|
30
|
-
this.facade.setStatus(status);
|
|
31
|
-
void this.facade.load();
|
|
32
|
-
}
|
|
33
|
-
async reload() {
|
|
34
|
-
await this.facade.load();
|
|
35
|
-
}
|
|
36
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AdminOnboardingIndexPage, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AdminOnboardingIndexPage, isStandalone: true, selector: "rolatech-admin-onboarding-index-page", host: { classAttribute: "block" }, providers: [AdminOnboardingListFacade], ngImport: i0, template: `
|
|
38
|
-
<rolatech-onboarding-page-shell
|
|
39
|
-
title="Onboarding Applications"
|
|
40
|
-
subtitle="Review incoming onboarding requests and triage approvals."
|
|
41
|
-
kicker="Admin Console"
|
|
42
|
-
>
|
|
43
|
-
<section class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-5 shadow-sm">
|
|
44
|
-
<div class="grid gap-3 md:grid-cols-3">
|
|
45
|
-
<label class="grid gap-2">
|
|
46
|
-
<span class="text-xs font-semibold uppercase tracking-wide text-(--rt-text-secondary)">Search</span>
|
|
47
|
-
<input
|
|
48
|
-
class="h-10 rounded-xl border border-(--rt-border-color) px-3"
|
|
49
|
-
[value]="facade.filters().search || ''"
|
|
50
|
-
(input)="onSearch($event)"
|
|
51
|
-
placeholder="Organization or contact"
|
|
52
|
-
/>
|
|
53
|
-
</label>
|
|
54
|
-
|
|
55
|
-
<label class="grid gap-2">
|
|
56
|
-
<span class="text-xs font-semibold uppercase tracking-wide text-(--rt-text-secondary)">Status</span>
|
|
57
|
-
<select class="h-10 rounded-xl border border-(--rt-border-color) px-3" [value]="facade.filters().status || ''" (change)="onStatus($event)">
|
|
58
|
-
<option value="">All</option>
|
|
59
|
-
@for (status of statuses; track status) {
|
|
60
|
-
<option [value]="status">{{ statusLabel(status) }}</option>
|
|
61
|
-
}
|
|
62
|
-
</select>
|
|
63
|
-
</label>
|
|
64
|
-
|
|
65
|
-
<div class="flex items-end justify-start md:justify-end">
|
|
66
|
-
<button
|
|
67
|
-
type="button"
|
|
68
|
-
class="rounded-xl bg-(--rt-brand-color) px-4 py-2 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"
|
|
69
|
-
[disabled]="facade.loading()"
|
|
70
|
-
(click)="reload()"
|
|
71
|
-
>
|
|
72
|
-
Refresh
|
|
73
|
-
</button>
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
</section>
|
|
77
|
-
|
|
78
|
-
@if (facade.error()) {
|
|
79
|
-
<div class="rounded-2xl border border-rose-200 bg-rose-50 px-4 py-3 text-sm text-rose-700">{{ facade.error() }}</div>
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
<section class="overflow-hidden rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) shadow-sm">
|
|
83
|
-
<table class="min-w-full text-left text-sm">
|
|
84
|
-
<thead class="border-b border-(--rt-border-color) bg-(--rt-raised-background) text-(--rt-text-secondary)">
|
|
85
|
-
<tr>
|
|
86
|
-
<th class="px-4 py-3 font-semibold">ID</th>
|
|
87
|
-
<th class="px-4 py-3 font-semibold">Organization</th>
|
|
88
|
-
<th class="px-4 py-3 font-semibold">Applicant</th>
|
|
89
|
-
<th class="px-4 py-3 font-semibold">Status</th>
|
|
90
|
-
</tr>
|
|
91
|
-
</thead>
|
|
92
|
-
<tbody>
|
|
93
|
-
@for (item of facade.items(); track item.id) {
|
|
94
|
-
<tr class="border-b border-(--rt-border-color) text-(--rt-text-secondary) last:border-b-0">
|
|
95
|
-
<td class="px-4 py-3">
|
|
96
|
-
<a [routerLink]="[item.id]" class="font-medium text-(--rt-text-primary) hover:underline cursor-pointer">{{ item.id }}</a>
|
|
97
|
-
</td>
|
|
98
|
-
<td class="px-4 py-3">{{ item.organizationName || '-' }}</td>
|
|
99
|
-
<td class="px-4 py-3">{{ item.contactName || '-' }}</td>
|
|
100
|
-
<td class="px-4 py-3">
|
|
101
|
-
<rolatech-onboarding-status-badge [status]="item.status" />
|
|
102
|
-
</td>
|
|
103
|
-
</tr>
|
|
104
|
-
}
|
|
105
|
-
</tbody>
|
|
106
|
-
</table>
|
|
107
|
-
|
|
108
|
-
@if (facade.items().length === 0 && !facade.loading()) {
|
|
109
|
-
<div class="px-4 py-6 text-sm text-(--rt-text-secondary)">No onboarding applications found.</div>
|
|
110
|
-
}
|
|
111
|
-
</section>
|
|
112
|
-
</rolatech-onboarding-page-shell>
|
|
113
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: OnboardingPageShell, selector: "rolatech-onboarding-page-shell", inputs: ["title", "subtitle", "kicker"] }, { kind: "component", type: OnboardingStatusBadge, selector: "rolatech-onboarding-status-badge", inputs: ["status"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
114
|
-
}
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AdminOnboardingIndexPage, decorators: [{
|
|
116
|
-
type: Component,
|
|
117
|
-
args: [{
|
|
118
|
-
selector: 'rolatech-admin-onboarding-index-page',
|
|
119
|
-
standalone: true,
|
|
120
|
-
imports: [RouterLink, OnboardingPageShell, OnboardingStatusBadge],
|
|
121
|
-
providers: [AdminOnboardingListFacade],
|
|
122
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
123
|
-
encapsulation: ViewEncapsulation.None,
|
|
124
|
-
host: { class: 'block' },
|
|
125
|
-
template: `
|
|
126
|
-
<rolatech-onboarding-page-shell
|
|
127
|
-
title="Onboarding Applications"
|
|
128
|
-
subtitle="Review incoming onboarding requests and triage approvals."
|
|
129
|
-
kicker="Admin Console"
|
|
130
|
-
>
|
|
131
|
-
<section class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-5 shadow-sm">
|
|
132
|
-
<div class="grid gap-3 md:grid-cols-3">
|
|
133
|
-
<label class="grid gap-2">
|
|
134
|
-
<span class="text-xs font-semibold uppercase tracking-wide text-(--rt-text-secondary)">Search</span>
|
|
135
|
-
<input
|
|
136
|
-
class="h-10 rounded-xl border border-(--rt-border-color) px-3"
|
|
137
|
-
[value]="facade.filters().search || ''"
|
|
138
|
-
(input)="onSearch($event)"
|
|
139
|
-
placeholder="Organization or contact"
|
|
140
|
-
/>
|
|
141
|
-
</label>
|
|
142
|
-
|
|
143
|
-
<label class="grid gap-2">
|
|
144
|
-
<span class="text-xs font-semibold uppercase tracking-wide text-(--rt-text-secondary)">Status</span>
|
|
145
|
-
<select class="h-10 rounded-xl border border-(--rt-border-color) px-3" [value]="facade.filters().status || ''" (change)="onStatus($event)">
|
|
146
|
-
<option value="">All</option>
|
|
147
|
-
@for (status of statuses; track status) {
|
|
148
|
-
<option [value]="status">{{ statusLabel(status) }}</option>
|
|
149
|
-
}
|
|
150
|
-
</select>
|
|
151
|
-
</label>
|
|
152
|
-
|
|
153
|
-
<div class="flex items-end justify-start md:justify-end">
|
|
154
|
-
<button
|
|
155
|
-
type="button"
|
|
156
|
-
class="rounded-xl bg-(--rt-brand-color) px-4 py-2 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"
|
|
157
|
-
[disabled]="facade.loading()"
|
|
158
|
-
(click)="reload()"
|
|
159
|
-
>
|
|
160
|
-
Refresh
|
|
161
|
-
</button>
|
|
162
|
-
</div>
|
|
163
|
-
</div>
|
|
164
|
-
</section>
|
|
165
|
-
|
|
166
|
-
@if (facade.error()) {
|
|
167
|
-
<div class="rounded-2xl border border-rose-200 bg-rose-50 px-4 py-3 text-sm text-rose-700">{{ facade.error() }}</div>
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
<section class="overflow-hidden rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) shadow-sm">
|
|
171
|
-
<table class="min-w-full text-left text-sm">
|
|
172
|
-
<thead class="border-b border-(--rt-border-color) bg-(--rt-raised-background) text-(--rt-text-secondary)">
|
|
173
|
-
<tr>
|
|
174
|
-
<th class="px-4 py-3 font-semibold">ID</th>
|
|
175
|
-
<th class="px-4 py-3 font-semibold">Organization</th>
|
|
176
|
-
<th class="px-4 py-3 font-semibold">Applicant</th>
|
|
177
|
-
<th class="px-4 py-3 font-semibold">Status</th>
|
|
178
|
-
</tr>
|
|
179
|
-
</thead>
|
|
180
|
-
<tbody>
|
|
181
|
-
@for (item of facade.items(); track item.id) {
|
|
182
|
-
<tr class="border-b border-(--rt-border-color) text-(--rt-text-secondary) last:border-b-0">
|
|
183
|
-
<td class="px-4 py-3">
|
|
184
|
-
<a [routerLink]="[item.id]" class="font-medium text-(--rt-text-primary) hover:underline cursor-pointer">{{ item.id }}</a>
|
|
185
|
-
</td>
|
|
186
|
-
<td class="px-4 py-3">{{ item.organizationName || '-' }}</td>
|
|
187
|
-
<td class="px-4 py-3">{{ item.contactName || '-' }}</td>
|
|
188
|
-
<td class="px-4 py-3">
|
|
189
|
-
<rolatech-onboarding-status-badge [status]="item.status" />
|
|
190
|
-
</td>
|
|
191
|
-
</tr>
|
|
192
|
-
}
|
|
193
|
-
</tbody>
|
|
194
|
-
</table>
|
|
195
|
-
|
|
196
|
-
@if (facade.items().length === 0 && !facade.loading()) {
|
|
197
|
-
<div class="px-4 py-6 text-sm text-(--rt-text-secondary)">No onboarding applications found.</div>
|
|
198
|
-
}
|
|
199
|
-
</section>
|
|
200
|
-
</rolatech-onboarding-page-shell>
|
|
201
|
-
`,
|
|
202
|
-
}]
|
|
203
|
-
}], ctorParameters: () => [] });
|
|
204
|
-
|
|
205
|
-
export { AdminOnboardingIndexPage };
|
|
206
|
-
//# sourceMappingURL=rolatech-angular-onboarding-admin-onboarding-index-page-BO4pC_NU.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-onboarding-admin-onboarding-index-page-BO4pC_NU.mjs","sources":["../../../../packages/angular-onboarding/src/lib/pages/admin-onboarding/admin-onboarding-index-page.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { onboardingStatusLabel, OnboardingStatus } from '@rolatech/angular-services';\nimport { OnboardingPageShell } from '../../components/onboarding/onboarding-page-shell';\nimport { OnboardingStatusBadge } from '../../components/onboarding/onboarding-status-badge';\nimport { AdminOnboardingListFacade } from '../../store/admin-onboarding-list.facade';\n\n@Component({\n selector: 'rolatech-admin-onboarding-index-page',\n standalone: true,\n imports: [RouterLink, OnboardingPageShell, OnboardingStatusBadge],\n providers: [AdminOnboardingListFacade],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'block' },\n template: `\n <rolatech-onboarding-page-shell\n title=\"Onboarding Applications\"\n subtitle=\"Review incoming onboarding requests and triage approvals.\"\n kicker=\"Admin Console\"\n >\n <section class=\"rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-5 shadow-sm\">\n <div class=\"grid gap-3 md:grid-cols-3\">\n <label class=\"grid gap-2\">\n <span class=\"text-xs font-semibold uppercase tracking-wide text-(--rt-text-secondary)\">Search</span>\n <input\n class=\"h-10 rounded-xl border border-(--rt-border-color) px-3\"\n [value]=\"facade.filters().search || ''\"\n (input)=\"onSearch($event)\"\n placeholder=\"Organization or contact\"\n />\n </label>\n\n <label class=\"grid gap-2\">\n <span class=\"text-xs font-semibold uppercase tracking-wide text-(--rt-text-secondary)\">Status</span>\n <select class=\"h-10 rounded-xl border border-(--rt-border-color) px-3\" [value]=\"facade.filters().status || ''\" (change)=\"onStatus($event)\">\n <option value=\"\">All</option>\n @for (status of statuses; track status) {\n <option [value]=\"status\">{{ statusLabel(status) }}</option>\n }\n </select>\n </label>\n\n <div class=\"flex items-end justify-start md:justify-end\">\n <button\n type=\"button\"\n class=\"rounded-xl bg-(--rt-brand-color) px-4 py-2 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60\"\n [disabled]=\"facade.loading()\"\n (click)=\"reload()\"\n >\n Refresh\n </button>\n </div>\n </div>\n </section>\n\n @if (facade.error()) {\n <div class=\"rounded-2xl border border-rose-200 bg-rose-50 px-4 py-3 text-sm text-rose-700\">{{ facade.error() }}</div>\n }\n\n <section class=\"overflow-hidden rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) shadow-sm\">\n <table class=\"min-w-full text-left text-sm\">\n <thead class=\"border-b border-(--rt-border-color) bg-(--rt-raised-background) text-(--rt-text-secondary)\">\n <tr>\n <th class=\"px-4 py-3 font-semibold\">ID</th>\n <th class=\"px-4 py-3 font-semibold\">Organization</th>\n <th class=\"px-4 py-3 font-semibold\">Applicant</th>\n <th class=\"px-4 py-3 font-semibold\">Status</th>\n </tr>\n </thead>\n <tbody>\n @for (item of facade.items(); track item.id) {\n <tr class=\"border-b border-(--rt-border-color) text-(--rt-text-secondary) last:border-b-0\">\n <td class=\"px-4 py-3\">\n <a [routerLink]=\"[item.id]\" class=\"font-medium text-(--rt-text-primary) hover:underline cursor-pointer\">{{ item.id }}</a>\n </td>\n <td class=\"px-4 py-3\">{{ item.organizationName || '-' }}</td>\n <td class=\"px-4 py-3\">{{ item.contactName || '-' }}</td>\n <td class=\"px-4 py-3\">\n <rolatech-onboarding-status-badge [status]=\"item.status\" />\n </td>\n </tr>\n }\n </tbody>\n </table>\n\n @if (facade.items().length === 0 && !facade.loading()) {\n <div class=\"px-4 py-6 text-sm text-(--rt-text-secondary)\">No onboarding applications found.</div>\n }\n </section>\n </rolatech-onboarding-page-shell>\n `,\n})\nexport class AdminOnboardingIndexPage {\n readonly facade = inject(AdminOnboardingListFacade);\n readonly statusLabel = onboardingStatusLabel;\n readonly statuses: OnboardingStatus[] = [\n 'DRAFT',\n 'IN_PROGRESS',\n 'SUBMITTED',\n 'IN_REVIEW',\n 'NEED_MORE_INFO',\n 'APPROVED',\n 'FAILED',\n ];\n\n constructor() {\n void this.facade.load();\n }\n\n onSearch(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.facade.setSearch(target.value);\n void this.facade.load();\n }\n\n onStatus(event: Event): void {\n const target = event.target as HTMLSelectElement;\n const status = target.value ? (target.value as OnboardingStatus) : undefined;\n this.facade.setStatus(status);\n void this.facade.load();\n }\n\n async reload(): Promise<void> {\n await this.facade.load();\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
-
import * as i1 from '@angular/forms';
|
|
4
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { Router, ActivatedRoute } from '@angular/router';
|
|
6
|
-
import { AgentApplyFacade } from './rolatech-angular-onboarding.mjs';
|
|
7
|
-
|
|
8
|
-
class AgentApplyBankingPage {
|
|
9
|
-
facade = inject(AgentApplyFacade);
|
|
10
|
-
router = inject(Router);
|
|
11
|
-
route = inject(ActivatedRoute);
|
|
12
|
-
async saveAndContinue() {
|
|
13
|
-
const saved = await this.facade.saveBanking();
|
|
14
|
-
if (!saved) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
await this.router.navigate(['../review'], {
|
|
18
|
-
relativeTo: this.route,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
async back() {
|
|
22
|
-
await this.router.navigate(['../financial'], {
|
|
23
|
-
relativeTo: this.route,
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyBankingPage, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: AgentApplyBankingPage, isStandalone: true, selector: "rolatech-agent-apply-banking-page", host: { classAttribute: "block" }, ngImport: i0, template: `
|
|
28
|
-
<form [formGroup]="facade.bankingForm" class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
|
|
29
|
-
<h2 class="text-lg font-semibold text-(--rt-text-primary)">Banking Details</h2>
|
|
30
|
-
|
|
31
|
-
<div class="mt-4 grid gap-4 md:grid-cols-2">
|
|
32
|
-
<label class="grid gap-2">
|
|
33
|
-
<span class="text-sm font-medium text-(--rt-text-secondary)">Bank name</span>
|
|
34
|
-
<input formControlName="bankName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
35
|
-
</label>
|
|
36
|
-
|
|
37
|
-
<label class="grid gap-2">
|
|
38
|
-
<span class="text-sm font-medium text-(--rt-text-secondary)">Account holder name</span>
|
|
39
|
-
<input formControlName="accountHolderName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
40
|
-
</label>
|
|
41
|
-
|
|
42
|
-
<label class="grid gap-2">
|
|
43
|
-
<span class="text-sm font-medium text-(--rt-text-secondary)">Sort code</span>
|
|
44
|
-
<input formControlName="sortCode" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
45
|
-
</label>
|
|
46
|
-
|
|
47
|
-
<label class="grid gap-2">
|
|
48
|
-
<span class="text-sm font-medium text-(--rt-text-secondary)">Account number</span>
|
|
49
|
-
<input formControlName="accountNumber" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
50
|
-
</label>
|
|
51
|
-
</div>
|
|
52
|
-
|
|
53
|
-
<div class="mt-6 flex justify-between gap-3">
|
|
54
|
-
<button
|
|
55
|
-
type="button"
|
|
56
|
-
class="rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)"
|
|
57
|
-
(click)="back()"
|
|
58
|
-
>
|
|
59
|
-
Back
|
|
60
|
-
</button>
|
|
61
|
-
|
|
62
|
-
<button
|
|
63
|
-
type="button"
|
|
64
|
-
class="rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"
|
|
65
|
-
[disabled]="facade.saving()"
|
|
66
|
-
(click)="saveAndContinue()"
|
|
67
|
-
>
|
|
68
|
-
Save and Continue
|
|
69
|
-
</button>
|
|
70
|
-
</div>
|
|
71
|
-
</form>
|
|
72
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
73
|
-
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyBankingPage, decorators: [{
|
|
75
|
-
type: Component,
|
|
76
|
-
args: [{
|
|
77
|
-
selector: 'rolatech-agent-apply-banking-page',
|
|
78
|
-
standalone: true,
|
|
79
|
-
imports: [ReactiveFormsModule],
|
|
80
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
81
|
-
encapsulation: ViewEncapsulation.None,
|
|
82
|
-
host: { class: 'block' },
|
|
83
|
-
template: `
|
|
84
|
-
<form [formGroup]="facade.bankingForm" class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
|
|
85
|
-
<h2 class="text-lg font-semibold text-(--rt-text-primary)">Banking Details</h2>
|
|
86
|
-
|
|
87
|
-
<div class="mt-4 grid gap-4 md:grid-cols-2">
|
|
88
|
-
<label class="grid gap-2">
|
|
89
|
-
<span class="text-sm font-medium text-(--rt-text-secondary)">Bank name</span>
|
|
90
|
-
<input formControlName="bankName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
91
|
-
</label>
|
|
92
|
-
|
|
93
|
-
<label class="grid gap-2">
|
|
94
|
-
<span class="text-sm font-medium text-(--rt-text-secondary)">Account holder name</span>
|
|
95
|
-
<input formControlName="accountHolderName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
96
|
-
</label>
|
|
97
|
-
|
|
98
|
-
<label class="grid gap-2">
|
|
99
|
-
<span class="text-sm font-medium text-(--rt-text-secondary)">Sort code</span>
|
|
100
|
-
<input formControlName="sortCode" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
101
|
-
</label>
|
|
102
|
-
|
|
103
|
-
<label class="grid gap-2">
|
|
104
|
-
<span class="text-sm font-medium text-(--rt-text-secondary)">Account number</span>
|
|
105
|
-
<input formControlName="accountNumber" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
106
|
-
</label>
|
|
107
|
-
</div>
|
|
108
|
-
|
|
109
|
-
<div class="mt-6 flex justify-between gap-3">
|
|
110
|
-
<button
|
|
111
|
-
type="button"
|
|
112
|
-
class="rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)"
|
|
113
|
-
(click)="back()"
|
|
114
|
-
>
|
|
115
|
-
Back
|
|
116
|
-
</button>
|
|
117
|
-
|
|
118
|
-
<button
|
|
119
|
-
type="button"
|
|
120
|
-
class="rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"
|
|
121
|
-
[disabled]="facade.saving()"
|
|
122
|
-
(click)="saveAndContinue()"
|
|
123
|
-
>
|
|
124
|
-
Save and Continue
|
|
125
|
-
</button>
|
|
126
|
-
</div>
|
|
127
|
-
</form>
|
|
128
|
-
`,
|
|
129
|
-
}]
|
|
130
|
-
}] });
|
|
131
|
-
|
|
132
|
-
export { AgentApplyBankingPage };
|
|
133
|
-
//# sourceMappingURL=rolatech-angular-onboarding-agent-apply-banking-page-VYNfR4fy.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-onboarding-agent-apply-banking-page-VYNfR4fy.mjs","sources":["../../../../packages/angular-onboarding/src/lib/pages/agent-apply/agent-apply-banking-page.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AgentApplyFacade } from '../../store/agent-apply.facade';\n\n@Component({\n selector: 'rolatech-agent-apply-banking-page',\n standalone: true,\n imports: [ReactiveFormsModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'block' },\n template: `\n <form [formGroup]=\"facade.bankingForm\" class=\"rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm\">\n <h2 class=\"text-lg font-semibold text-(--rt-text-primary)\">Banking Details</h2>\n\n <div class=\"mt-4 grid gap-4 md:grid-cols-2\">\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Bank name</span>\n <input formControlName=\"bankName\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Account holder name</span>\n <input formControlName=\"accountHolderName\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Sort code</span>\n <input formControlName=\"sortCode\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Account number</span>\n <input formControlName=\"accountNumber\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n </div>\n\n <div class=\"mt-6 flex justify-between gap-3\">\n <button\n type=\"button\"\n class=\"rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)\"\n (click)=\"back()\"\n >\n Back\n </button>\n\n <button\n type=\"button\"\n class=\"rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60\"\n [disabled]=\"facade.saving()\"\n (click)=\"saveAndContinue()\"\n >\n Save and Continue\n </button>\n </div>\n </form>\n `,\n})\nexport class AgentApplyBankingPage {\n readonly facade = inject(AgentApplyFacade);\n private readonly router = inject(Router);\n private readonly route = inject(ActivatedRoute);\n\n async saveAndContinue(): Promise<void> {\n const saved = await this.facade.saveBanking();\n\n if (!saved) {\n return;\n }\n\n await this.router.navigate(['../review'], {\n relativeTo: this.route,\n });\n }\n\n async back(): Promise<void> {\n await this.router.navigate(['../financial'], {\n relativeTo: this.route,\n });\n }\n}\n"],"names":[],"mappings":";;;;;;;MA2Da,qBAAqB,CAAA;AACvB,IAAA,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAE/C,IAAA,MAAM,eAAe,GAAA;QACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QAE7C,IAAI,CAAC,KAAK,EAAE;YACV;QACF;QAEA,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE;YACxC,UAAU,EAAE,IAAI,CAAC,KAAK;AACvB,SAAA,CAAC;IACJ;AAEA,IAAA,MAAM,IAAI,GAAA;QACR,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE;YAC3C,UAAU,EAAE,IAAI,CAAC,KAAK;AACvB,SAAA,CAAC;IACJ;uGArBW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA/CtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAjDS,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,sGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAmDlB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAtDjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mCAAmC;AAC7C,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;AACxB,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CT,EAAA,CAAA;AACF,iBAAA;;;;;"}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
-
import * as i1 from '@angular/forms';
|
|
4
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { Router, ActivatedRoute } from '@angular/router';
|
|
6
|
-
import { AgentApplyFacade } from './rolatech-angular-onboarding.mjs';
|
|
7
|
-
|
|
8
|
-
class AgentApplyFinancialPage {
|
|
9
|
-
facade = inject(AgentApplyFacade);
|
|
10
|
-
router = inject(Router);
|
|
11
|
-
route = inject(ActivatedRoute);
|
|
12
|
-
requiresVatNumber() {
|
|
13
|
-
return this.facade.financialForm.controls.vatMode.value === 'VAT_REGISTERED';
|
|
14
|
-
}
|
|
15
|
-
async saveAndContinue() {
|
|
16
|
-
const saved = await this.facade.saveFinancial();
|
|
17
|
-
if (!saved) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
await this.router.navigate(['../banking'], {
|
|
21
|
-
relativeTo: this.route,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
async back() {
|
|
25
|
-
await this.router.navigate(['../qualification'], {
|
|
26
|
-
relativeTo: this.route,
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyFinancialPage, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AgentApplyFinancialPage, isStandalone: true, selector: "rolatech-agent-apply-financial-page", host: { classAttribute: "block" }, ngImport: i0, template: `
|
|
31
|
-
<form [formGroup]="facade.financialForm" class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
|
|
32
|
-
<h2 class="text-lg font-semibold text-(--rt-text-primary)">Financial Details</h2>
|
|
33
|
-
|
|
34
|
-
<div class="mt-4 grid gap-4 md:grid-cols-2">
|
|
35
|
-
<label class="grid gap-2">
|
|
36
|
-
<span class="text-sm font-medium text-(--rt-text-secondary)">VAT mode</span>
|
|
37
|
-
<select formControlName="vatMode" class="h-11 rounded-xl border border-(--rt-border-color) px-3">
|
|
38
|
-
<option value="NON_VAT_REGISTERED">Non-VAT registered</option>
|
|
39
|
-
<option value="VAT_REGISTERED">VAT registered</option>
|
|
40
|
-
<option value="MANUAL_REVIEW_REQUIRED">Manual review required</option>
|
|
41
|
-
</select>
|
|
42
|
-
</label>
|
|
43
|
-
|
|
44
|
-
<label class="grid gap-2">
|
|
45
|
-
<span class="text-sm font-medium text-(--rt-text-secondary)">VAT number</span>
|
|
46
|
-
<input formControlName="vatNumber" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
47
|
-
</label>
|
|
48
|
-
</div>
|
|
49
|
-
|
|
50
|
-
@if (requiresVatNumber()) {
|
|
51
|
-
<p class="mt-3 text-xs text-(--rt-text-secondary)">VAT number is required when VAT mode is set to VAT registered.</p>
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
<div class="mt-6 flex justify-between gap-3">
|
|
55
|
-
<button
|
|
56
|
-
type="button"
|
|
57
|
-
class="rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)"
|
|
58
|
-
(click)="back()"
|
|
59
|
-
>
|
|
60
|
-
Back
|
|
61
|
-
</button>
|
|
62
|
-
|
|
63
|
-
<button
|
|
64
|
-
type="button"
|
|
65
|
-
class="rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"
|
|
66
|
-
[disabled]="facade.saving()"
|
|
67
|
-
(click)="saveAndContinue()"
|
|
68
|
-
>
|
|
69
|
-
Save and Continue
|
|
70
|
-
</button>
|
|
71
|
-
</div>
|
|
72
|
-
</form>
|
|
73
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
74
|
-
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyFinancialPage, decorators: [{
|
|
76
|
-
type: Component,
|
|
77
|
-
args: [{
|
|
78
|
-
selector: 'rolatech-agent-apply-financial-page',
|
|
79
|
-
standalone: true,
|
|
80
|
-
imports: [ReactiveFormsModule],
|
|
81
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
82
|
-
encapsulation: ViewEncapsulation.None,
|
|
83
|
-
host: { class: 'block' },
|
|
84
|
-
template: `
|
|
85
|
-
<form [formGroup]="facade.financialForm" class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
|
|
86
|
-
<h2 class="text-lg font-semibold text-(--rt-text-primary)">Financial Details</h2>
|
|
87
|
-
|
|
88
|
-
<div class="mt-4 grid gap-4 md:grid-cols-2">
|
|
89
|
-
<label class="grid gap-2">
|
|
90
|
-
<span class="text-sm font-medium text-(--rt-text-secondary)">VAT mode</span>
|
|
91
|
-
<select formControlName="vatMode" class="h-11 rounded-xl border border-(--rt-border-color) px-3">
|
|
92
|
-
<option value="NON_VAT_REGISTERED">Non-VAT registered</option>
|
|
93
|
-
<option value="VAT_REGISTERED">VAT registered</option>
|
|
94
|
-
<option value="MANUAL_REVIEW_REQUIRED">Manual review required</option>
|
|
95
|
-
</select>
|
|
96
|
-
</label>
|
|
97
|
-
|
|
98
|
-
<label class="grid gap-2">
|
|
99
|
-
<span class="text-sm font-medium text-(--rt-text-secondary)">VAT number</span>
|
|
100
|
-
<input formControlName="vatNumber" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
101
|
-
</label>
|
|
102
|
-
</div>
|
|
103
|
-
|
|
104
|
-
@if (requiresVatNumber()) {
|
|
105
|
-
<p class="mt-3 text-xs text-(--rt-text-secondary)">VAT number is required when VAT mode is set to VAT registered.</p>
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
<div class="mt-6 flex justify-between gap-3">
|
|
109
|
-
<button
|
|
110
|
-
type="button"
|
|
111
|
-
class="rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)"
|
|
112
|
-
(click)="back()"
|
|
113
|
-
>
|
|
114
|
-
Back
|
|
115
|
-
</button>
|
|
116
|
-
|
|
117
|
-
<button
|
|
118
|
-
type="button"
|
|
119
|
-
class="rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"
|
|
120
|
-
[disabled]="facade.saving()"
|
|
121
|
-
(click)="saveAndContinue()"
|
|
122
|
-
>
|
|
123
|
-
Save and Continue
|
|
124
|
-
</button>
|
|
125
|
-
</div>
|
|
126
|
-
</form>
|
|
127
|
-
`,
|
|
128
|
-
}]
|
|
129
|
-
}] });
|
|
130
|
-
|
|
131
|
-
export { AgentApplyFinancialPage };
|
|
132
|
-
//# sourceMappingURL=rolatech-angular-onboarding-agent-apply-financial-page-Ck3Rowke.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-onboarding-agent-apply-financial-page-Ck3Rowke.mjs","sources":["../../../../packages/angular-onboarding/src/lib/pages/agent-apply/agent-apply-financial-page.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AgentApplyFacade } from '../../store/agent-apply.facade';\n\n@Component({\n selector: 'rolatech-agent-apply-financial-page',\n standalone: true,\n imports: [ReactiveFormsModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'block' },\n template: `\n <form [formGroup]=\"facade.financialForm\" class=\"rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm\">\n <h2 class=\"text-lg font-semibold text-(--rt-text-primary)\">Financial Details</h2>\n\n <div class=\"mt-4 grid gap-4 md:grid-cols-2\">\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">VAT mode</span>\n <select formControlName=\"vatMode\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\">\n <option value=\"NON_VAT_REGISTERED\">Non-VAT registered</option>\n <option value=\"VAT_REGISTERED\">VAT registered</option>\n <option value=\"MANUAL_REVIEW_REQUIRED\">Manual review required</option>\n </select>\n </label>\n\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">VAT number</span>\n <input formControlName=\"vatNumber\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n </div>\n\n @if (requiresVatNumber()) {\n <p class=\"mt-3 text-xs text-(--rt-text-secondary)\">VAT number is required when VAT mode is set to VAT registered.</p>\n }\n\n <div class=\"mt-6 flex justify-between gap-3\">\n <button\n type=\"button\"\n class=\"rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)\"\n (click)=\"back()\"\n >\n Back\n </button>\n\n <button\n type=\"button\"\n class=\"rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60\"\n [disabled]=\"facade.saving()\"\n (click)=\"saveAndContinue()\"\n >\n Save and Continue\n </button>\n </div>\n </form>\n `,\n})\nexport class AgentApplyFinancialPage {\n readonly facade = inject(AgentApplyFacade);\n private readonly router = inject(Router);\n private readonly route = inject(ActivatedRoute);\n\n requiresVatNumber(): boolean {\n return this.facade.financialForm.controls.vatMode.value === 'VAT_REGISTERED';\n }\n\n async saveAndContinue(): Promise<void> {\n const saved = await this.facade.saveFinancial();\n\n if (!saved) {\n return;\n }\n\n await this.router.navigate(['../banking'], {\n relativeTo: this.route,\n });\n }\n\n async back(): Promise<void> {\n await this.router.navigate(['../qualification'], {\n relativeTo: this.route,\n });\n }\n}\n"],"names":[],"mappings":"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"}
|