@rolatech/angular-onboarding 20.3.0-beta.2
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 +55 -0
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-detail-page-DKJQX3cs.mjs +224 -0
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-detail-page-DKJQX3cs.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-index-page-BO4pC_NU.mjs +206 -0
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-index-page-BO4pC_NU.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-review-page-BERcLBeQ.mjs +419 -0
- package/fesm2022/rolatech-angular-onboarding-admin-onboarding-review-page-BERcLBeQ.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-banking-page-VYNfR4fy.mjs +133 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-banking-page-VYNfR4fy.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-financial-page-Ck3Rowke.mjs +132 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-financial-page-Ck3Rowke.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-profile-page-DNepDxHu.mjs +122 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-profile-page-DNepDxHu.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-qualification-page-CSwupuKt.mjs +108 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-qualification-page-CSwupuKt.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-review-page-DugCjfvK.mjs +182 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-review-page-DugCjfvK.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-shell-page-DibWYeD1.mjs +150 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-shell-page-DibWYeD1.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-start-page-DC7gyOnS.mjs +144 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-start-page-DC7gyOnS.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-submitted-page-BMkV2V8K.mjs +55 -0
- package/fesm2022/rolatech-angular-onboarding-agent-apply-submitted-page-BMkV2V8K.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-onboarding-documents-page-DWBGTj5J.mjs +99 -0
- package/fesm2022/rolatech-angular-onboarding-agent-onboarding-documents-page-DWBGTj5J.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-onboarding-issues-page-CSVgCJ7t.mjs +28 -0
- package/fesm2022/rolatech-angular-onboarding-agent-onboarding-issues-page-CSVgCJ7t.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-onboarding-overview-page-8sTSvFZ7.mjs +67 -0
- package/fesm2022/rolatech-angular-onboarding-agent-onboarding-overview-page-8sTSvFZ7.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding-agent-onboarding-shell-page-B6ffcJ5A.mjs +125 -0
- package/fesm2022/rolatech-angular-onboarding-agent-onboarding-shell-page-B6ffcJ5A.mjs.map +1 -0
- package/fesm2022/rolatech-angular-onboarding.mjs +1495 -0
- package/fesm2022/rolatech-angular-onboarding.mjs.map +1 -0
- package/package.json +35 -0
- package/types/rolatech-angular-onboarding.d.ts +244 -0
|
@@ -0,0 +1,132 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
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 AgentApplyProfilePage {
|
|
9
|
+
facade = inject(AgentApplyFacade);
|
|
10
|
+
router = inject(Router);
|
|
11
|
+
route = inject(ActivatedRoute);
|
|
12
|
+
async saveAndContinue() {
|
|
13
|
+
const saved = await this.facade.saveProfile();
|
|
14
|
+
if (!saved) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
await this.router.navigate(['../qualification'], {
|
|
18
|
+
relativeTo: this.route,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyProfilePage, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: AgentApplyProfilePage, isStandalone: true, selector: "rolatech-agent-apply-profile-page", host: { classAttribute: "block" }, ngImport: i0, template: `
|
|
23
|
+
<form [formGroup]="facade.profileForm" class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
|
|
24
|
+
<h2 class="text-lg font-semibold text-(--rt-text-primary)">Organization Profile</h2>
|
|
25
|
+
|
|
26
|
+
<div class="mt-4 grid gap-4 md:grid-cols-2">
|
|
27
|
+
<label class="grid gap-2 md:col-span-2">
|
|
28
|
+
<span class="text-sm font-medium text-(--rt-text-secondary)">Organization name</span>
|
|
29
|
+
<input formControlName="organizationName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
30
|
+
</label>
|
|
31
|
+
|
|
32
|
+
<label class="grid gap-2">
|
|
33
|
+
<span class="text-sm font-medium text-(--rt-text-secondary)">Contact name</span>
|
|
34
|
+
<input formControlName="contactName" 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)">Contact phone</span>
|
|
39
|
+
<input formControlName="contactPhone" 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)">Contact email</span>
|
|
44
|
+
<input formControlName="contactEmail" 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)">Country code</span>
|
|
49
|
+
<input formControlName="countryCode" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
50
|
+
</label>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<div class="mt-6 flex justify-end">
|
|
54
|
+
<button
|
|
55
|
+
type="button"
|
|
56
|
+
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"
|
|
57
|
+
[disabled]="facade.saving()"
|
|
58
|
+
(click)="saveAndContinue()"
|
|
59
|
+
>
|
|
60
|
+
Save and Continue
|
|
61
|
+
</button>
|
|
62
|
+
</div>
|
|
63
|
+
</form>
|
|
64
|
+
`, 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 });
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyProfilePage, decorators: [{
|
|
67
|
+
type: Component,
|
|
68
|
+
args: [{
|
|
69
|
+
selector: 'rolatech-agent-apply-profile-page',
|
|
70
|
+
standalone: true,
|
|
71
|
+
imports: [ReactiveFormsModule],
|
|
72
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
73
|
+
encapsulation: ViewEncapsulation.None,
|
|
74
|
+
host: { class: 'block' },
|
|
75
|
+
template: `
|
|
76
|
+
<form [formGroup]="facade.profileForm" class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
|
|
77
|
+
<h2 class="text-lg font-semibold text-(--rt-text-primary)">Organization Profile</h2>
|
|
78
|
+
|
|
79
|
+
<div class="mt-4 grid gap-4 md:grid-cols-2">
|
|
80
|
+
<label class="grid gap-2 md:col-span-2">
|
|
81
|
+
<span class="text-sm font-medium text-(--rt-text-secondary)">Organization name</span>
|
|
82
|
+
<input formControlName="organizationName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
83
|
+
</label>
|
|
84
|
+
|
|
85
|
+
<label class="grid gap-2">
|
|
86
|
+
<span class="text-sm font-medium text-(--rt-text-secondary)">Contact name</span>
|
|
87
|
+
<input formControlName="contactName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
88
|
+
</label>
|
|
89
|
+
|
|
90
|
+
<label class="grid gap-2">
|
|
91
|
+
<span class="text-sm font-medium text-(--rt-text-secondary)">Contact phone</span>
|
|
92
|
+
<input formControlName="contactPhone" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
93
|
+
</label>
|
|
94
|
+
|
|
95
|
+
<label class="grid gap-2">
|
|
96
|
+
<span class="text-sm font-medium text-(--rt-text-secondary)">Contact email</span>
|
|
97
|
+
<input formControlName="contactEmail" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
98
|
+
</label>
|
|
99
|
+
|
|
100
|
+
<label class="grid gap-2">
|
|
101
|
+
<span class="text-sm font-medium text-(--rt-text-secondary)">Country code</span>
|
|
102
|
+
<input formControlName="countryCode" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
|
|
103
|
+
</label>
|
|
104
|
+
</div>
|
|
105
|
+
|
|
106
|
+
<div class="mt-6 flex justify-end">
|
|
107
|
+
<button
|
|
108
|
+
type="button"
|
|
109
|
+
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"
|
|
110
|
+
[disabled]="facade.saving()"
|
|
111
|
+
(click)="saveAndContinue()"
|
|
112
|
+
>
|
|
113
|
+
Save and Continue
|
|
114
|
+
</button>
|
|
115
|
+
</div>
|
|
116
|
+
</form>
|
|
117
|
+
`,
|
|
118
|
+
}]
|
|
119
|
+
}] });
|
|
120
|
+
|
|
121
|
+
export { AgentApplyProfilePage };
|
|
122
|
+
//# sourceMappingURL=rolatech-angular-onboarding-agent-apply-profile-page-DNepDxHu.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolatech-angular-onboarding-agent-apply-profile-page-DNepDxHu.mjs","sources":["../../../../packages/angular-onboarding/src/lib/pages/agent-apply/agent-apply-profile-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-profile-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.profileForm\" 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)\">Organization Profile</h2>\n\n <div class=\"mt-4 grid gap-4 md:grid-cols-2\">\n <label class=\"grid gap-2 md:col-span-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Organization name</span>\n <input formControlName=\"organizationName\" 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)\">Contact name</span>\n <input formControlName=\"contactName\" 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)\">Contact phone</span>\n <input formControlName=\"contactPhone\" 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)\">Contact email</span>\n <input formControlName=\"contactEmail\" 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)\">Country code</span>\n <input formControlName=\"countryCode\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n </div>\n\n <div class=\"mt-6 flex justify-end\">\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 AgentApplyProfilePage {\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.saveProfile();\n\n if (!saved) {\n return;\n }\n\n await this.router.navigate(['../qualification'], {\n relativeTo: this.route,\n });\n }\n}\n"],"names":[],"mappings":";;;;;;;MAwDa,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,kBAAkB,CAAC,EAAE;YAC/C,UAAU,EAAE,IAAI,CAAC,KAAK;AACvB,SAAA,CAAC;IACJ;uGAfW,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,EA5CtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA9CS,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;;2FAgDlB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAnDjC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CT,EAAA,CAAA;AACF,iBAAA;;;;;"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import { Router, ActivatedRoute } from '@angular/router';
|
|
4
|
+
import { AgentApplyFacade, OnboardingDocumentUploader } from './rolatech-angular-onboarding.mjs';
|
|
5
|
+
|
|
6
|
+
class AgentApplyQualificationPage {
|
|
7
|
+
facade = inject(AgentApplyFacade);
|
|
8
|
+
router = inject(Router);
|
|
9
|
+
route = inject(ActivatedRoute);
|
|
10
|
+
async onUpload(documentType, file, replacedDocumentId) {
|
|
11
|
+
await this.facade.uploadDocument(documentType, file, replacedDocumentId);
|
|
12
|
+
}
|
|
13
|
+
async back() {
|
|
14
|
+
await this.router.navigate(['../profile'], {
|
|
15
|
+
relativeTo: this.route,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
async next() {
|
|
19
|
+
await this.router.navigate(['../financial'], {
|
|
20
|
+
relativeTo: this.route,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyQualificationPage, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AgentApplyQualificationPage, isStandalone: true, selector: "rolatech-agent-apply-qualification-page", host: { classAttribute: "block" }, ngImport: i0, template: `
|
|
25
|
+
<section class="space-y-4 rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
|
|
26
|
+
<h2 class="text-lg font-semibold text-(--rt-text-primary)">Qualification Documents</h2>
|
|
27
|
+
<p class="text-sm text-(--rt-text-secondary)">Upload all required documents before moving to the next step.</p>
|
|
28
|
+
|
|
29
|
+
@for (documentSpec of facade.requiredDocuments(); track documentSpec.type) {
|
|
30
|
+
<rolatech-onboarding-document-uploader
|
|
31
|
+
[label]="documentSpec.label"
|
|
32
|
+
[documentType]="documentSpec.type"
|
|
33
|
+
[document]="facade.getDocument(documentSpec.type)"
|
|
34
|
+
[comment]="facade.getIssueComment(documentSpec.type)"
|
|
35
|
+
[busy]="facade.saving()"
|
|
36
|
+
(fileSelected)="onUpload($event.documentType, $event.file, $event.replacedDocumentId)"
|
|
37
|
+
/>
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
<div class="flex justify-between gap-3 pt-2">
|
|
41
|
+
<button
|
|
42
|
+
type="button"
|
|
43
|
+
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)"
|
|
44
|
+
(click)="back()"
|
|
45
|
+
>
|
|
46
|
+
Back
|
|
47
|
+
</button>
|
|
48
|
+
|
|
49
|
+
<button
|
|
50
|
+
type="button"
|
|
51
|
+
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"
|
|
52
|
+
(click)="next()"
|
|
53
|
+
>
|
|
54
|
+
Continue
|
|
55
|
+
</button>
|
|
56
|
+
</div>
|
|
57
|
+
</section>
|
|
58
|
+
`, isInline: true, dependencies: [{ kind: "component", type: OnboardingDocumentUploader, selector: "rolatech-onboarding-document-uploader", inputs: ["label", "helperText", "documentType", "document", "comment", "busy", "acceptedTypes"], outputs: ["fileSelected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
59
|
+
}
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyQualificationPage, decorators: [{
|
|
61
|
+
type: Component,
|
|
62
|
+
args: [{
|
|
63
|
+
selector: 'rolatech-agent-apply-qualification-page',
|
|
64
|
+
standalone: true,
|
|
65
|
+
imports: [OnboardingDocumentUploader],
|
|
66
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
67
|
+
encapsulation: ViewEncapsulation.None,
|
|
68
|
+
host: { class: 'block' },
|
|
69
|
+
template: `
|
|
70
|
+
<section class="space-y-4 rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
|
|
71
|
+
<h2 class="text-lg font-semibold text-(--rt-text-primary)">Qualification Documents</h2>
|
|
72
|
+
<p class="text-sm text-(--rt-text-secondary)">Upload all required documents before moving to the next step.</p>
|
|
73
|
+
|
|
74
|
+
@for (documentSpec of facade.requiredDocuments(); track documentSpec.type) {
|
|
75
|
+
<rolatech-onboarding-document-uploader
|
|
76
|
+
[label]="documentSpec.label"
|
|
77
|
+
[documentType]="documentSpec.type"
|
|
78
|
+
[document]="facade.getDocument(documentSpec.type)"
|
|
79
|
+
[comment]="facade.getIssueComment(documentSpec.type)"
|
|
80
|
+
[busy]="facade.saving()"
|
|
81
|
+
(fileSelected)="onUpload($event.documentType, $event.file, $event.replacedDocumentId)"
|
|
82
|
+
/>
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
<div class="flex justify-between gap-3 pt-2">
|
|
86
|
+
<button
|
|
87
|
+
type="button"
|
|
88
|
+
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)"
|
|
89
|
+
(click)="back()"
|
|
90
|
+
>
|
|
91
|
+
Back
|
|
92
|
+
</button>
|
|
93
|
+
|
|
94
|
+
<button
|
|
95
|
+
type="button"
|
|
96
|
+
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"
|
|
97
|
+
(click)="next()"
|
|
98
|
+
>
|
|
99
|
+
Continue
|
|
100
|
+
</button>
|
|
101
|
+
</div>
|
|
102
|
+
</section>
|
|
103
|
+
`,
|
|
104
|
+
}]
|
|
105
|
+
}] });
|
|
106
|
+
|
|
107
|
+
export { AgentApplyQualificationPage };
|
|
108
|
+
//# sourceMappingURL=rolatech-angular-onboarding-agent-apply-qualification-page-CSwupuKt.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolatech-angular-onboarding-agent-apply-qualification-page-CSwupuKt.mjs","sources":["../../../../packages/angular-onboarding/src/lib/pages/agent-apply/agent-apply-qualification-page.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { OnboardingDocumentType } from '@rolatech/angular-services';\nimport { OnboardingDocumentUploader } from '../../components/onboarding/onboarding-document-uploader';\nimport { AgentApplyFacade } from '../../store/agent-apply.facade';\n\n@Component({\n selector: 'rolatech-agent-apply-qualification-page',\n standalone: true,\n imports: [OnboardingDocumentUploader],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'block' },\n template: `\n <section class=\"space-y-4 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)\">Qualification Documents</h2>\n <p class=\"text-sm text-(--rt-text-secondary)\">Upload all required documents before moving to the next step.</p>\n\n @for (documentSpec of facade.requiredDocuments(); track documentSpec.type) {\n <rolatech-onboarding-document-uploader\n [label]=\"documentSpec.label\"\n [documentType]=\"documentSpec.type\"\n [document]=\"facade.getDocument(documentSpec.type)\"\n [comment]=\"facade.getIssueComment(documentSpec.type)\"\n [busy]=\"facade.saving()\"\n (fileSelected)=\"onUpload($event.documentType, $event.file, $event.replacedDocumentId)\"\n />\n }\n\n <div class=\"flex justify-between gap-3 pt-2\">\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\"\n (click)=\"next()\"\n >\n Continue\n </button>\n </div>\n </section>\n `,\n})\nexport class AgentApplyQualificationPage {\n readonly facade = inject(AgentApplyFacade);\n private readonly router = inject(Router);\n private readonly route = inject(ActivatedRoute);\n\n async onUpload(documentType: OnboardingDocumentType, file: File, replacedDocumentId?: string): Promise<void> {\n await this.facade.uploadDocument(documentType, file, replacedDocumentId);\n }\n\n async back(): Promise<void> {\n await this.router.navigate(['../profile'], {\n relativeTo: this.route,\n });\n }\n\n async next(): Promise<void> {\n await this.router.navigate(['../financial'], {\n relativeTo: this.route,\n });\n }\n}\n"],"names":[],"mappings":";;;;;MAiDa,2BAA2B,CAAA;AAC7B,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,QAAQ,CAAC,YAAoC,EAAE,IAAU,EAAE,kBAA2B,EAAA;AAC1F,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,kBAAkB,CAAC;IAC1E;AAEA,IAAA,MAAM,IAAI,GAAA;QACR,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE;YACzC,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;uGAnBW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAtCS,0BAA0B,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAwCzB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBA3CvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yCAAyC;AACnD,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,0BAA0B,CAAC;oBACrC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCT,EAAA,CAAA;AACF,iBAAA;;;;;"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, signal, computed, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import { Router, ActivatedRoute } from '@angular/router';
|
|
4
|
+
import { onboardingVatModeLabel } from '@rolatech/angular-services';
|
|
5
|
+
import { AgentApplyFacade, OnboardingSummaryCard, OnboardingIssueList, OnboardingTimelineDrawer } from './rolatech-angular-onboarding.mjs';
|
|
6
|
+
|
|
7
|
+
class AgentApplyReviewPage {
|
|
8
|
+
facade = inject(AgentApplyFacade);
|
|
9
|
+
timelineOpen = signal(false, ...(ngDevMode ? [{ debugName: "timelineOpen" }] : []));
|
|
10
|
+
router = inject(Router);
|
|
11
|
+
route = inject(ActivatedRoute);
|
|
12
|
+
profileItems = computed(() => {
|
|
13
|
+
const detail = this.facade.detail();
|
|
14
|
+
if (!detail) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
return [
|
|
18
|
+
{ label: 'Organization', value: detail.organizationName },
|
|
19
|
+
{ label: 'Contact name', value: detail.contactName },
|
|
20
|
+
{ label: 'Contact email', value: detail.contactEmail },
|
|
21
|
+
{ label: 'Contact phone', value: detail.contactPhone },
|
|
22
|
+
{ label: 'Country code', value: detail.countryCode },
|
|
23
|
+
];
|
|
24
|
+
}, ...(ngDevMode ? [{ debugName: "profileItems" }] : []));
|
|
25
|
+
financialItems = computed(() => {
|
|
26
|
+
const detail = this.facade.detail();
|
|
27
|
+
if (!detail) {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
return [
|
|
31
|
+
{ label: 'VAT mode', value: onboardingVatModeLabel(detail.vatMode ?? null) },
|
|
32
|
+
{ label: 'VAT number', value: detail.vatNumber },
|
|
33
|
+
];
|
|
34
|
+
}, ...(ngDevMode ? [{ debugName: "financialItems" }] : []));
|
|
35
|
+
bankingItems = computed(() => {
|
|
36
|
+
const detail = this.facade.detail();
|
|
37
|
+
if (!detail) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
return [
|
|
41
|
+
{ label: 'Bank name', value: detail.bankName },
|
|
42
|
+
{ label: 'Account holder', value: detail.accountHolderName },
|
|
43
|
+
{ label: 'Sort code', value: detail.sortCode },
|
|
44
|
+
{ label: 'Account number', value: detail.accountNumber },
|
|
45
|
+
];
|
|
46
|
+
}, ...(ngDevMode ? [{ debugName: "bankingItems" }] : []));
|
|
47
|
+
async submit() {
|
|
48
|
+
const submitted = await this.facade.submit();
|
|
49
|
+
if (!submitted) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
await this.router.navigate(['../submitted'], {
|
|
53
|
+
relativeTo: this.route,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
async back() {
|
|
57
|
+
await this.router.navigate(['../banking'], {
|
|
58
|
+
relativeTo: this.route,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
openTimeline() {
|
|
62
|
+
this.timelineOpen.set(true);
|
|
63
|
+
}
|
|
64
|
+
closeTimeline() {
|
|
65
|
+
this.timelineOpen.set(false);
|
|
66
|
+
}
|
|
67
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyReviewPage, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AgentApplyReviewPage, isStandalone: true, selector: "rolatech-agent-apply-review-page", host: { classAttribute: "block" }, ngImport: i0, template: `
|
|
69
|
+
@if (facade.detail(); as detail) {
|
|
70
|
+
<div class="space-y-4">
|
|
71
|
+
<rolatech-onboarding-summary-card [title]="'Profile'" [items]="profileItems()" />
|
|
72
|
+
<rolatech-onboarding-summary-card [title]="'Financial'" [items]="financialItems()" />
|
|
73
|
+
<rolatech-onboarding-summary-card [title]="'Banking'" [items]="bankingItems()" />
|
|
74
|
+
|
|
75
|
+
<rolatech-onboarding-issue-list [issues]="detail.issues" />
|
|
76
|
+
|
|
77
|
+
<section class="flex justify-between gap-3 rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-5 shadow-sm">
|
|
78
|
+
<div class="flex items-center gap-2">
|
|
79
|
+
<button
|
|
80
|
+
type="button"
|
|
81
|
+
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)"
|
|
82
|
+
(click)="back()"
|
|
83
|
+
>
|
|
84
|
+
Back
|
|
85
|
+
</button>
|
|
86
|
+
|
|
87
|
+
<button
|
|
88
|
+
type="button"
|
|
89
|
+
class="rounded-xl border border-(--rt-border-color) bg-(--rt-base-background) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)"
|
|
90
|
+
(click)="openTimeline()"
|
|
91
|
+
>
|
|
92
|
+
Timeline
|
|
93
|
+
</button>
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
<button
|
|
97
|
+
type="button"
|
|
98
|
+
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"
|
|
99
|
+
[disabled]="facade.submitting()"
|
|
100
|
+
(click)="submit()"
|
|
101
|
+
>
|
|
102
|
+
Submit Application
|
|
103
|
+
</button>
|
|
104
|
+
</section>
|
|
105
|
+
|
|
106
|
+
<rolatech-onboarding-timeline-drawer
|
|
107
|
+
[open]="timelineOpen()"
|
|
108
|
+
[title]="'Application Timeline'"
|
|
109
|
+
[items]="detail.timeline"
|
|
110
|
+
[zIndex]="9100"
|
|
111
|
+
(closeRequested)="closeTimeline()"
|
|
112
|
+
/>
|
|
113
|
+
</div>
|
|
114
|
+
} @else {
|
|
115
|
+
<div class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-5 text-sm text-(--rt-text-secondary) shadow-sm">Loading application summary...</div>
|
|
116
|
+
}
|
|
117
|
+
`, isInline: true, dependencies: [{ kind: "component", type: OnboardingSummaryCard, selector: "rolatech-onboarding-summary-card", inputs: ["title", "items"] }, { kind: "component", type: OnboardingIssueList, selector: "rolatech-onboarding-issue-list", inputs: ["issues"] }, { kind: "component", type: OnboardingTimelineDrawer, selector: "rolatech-onboarding-timeline-drawer", inputs: ["open", "title", "items", "zIndex"], outputs: ["closeRequested"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
118
|
+
}
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyReviewPage, decorators: [{
|
|
120
|
+
type: Component,
|
|
121
|
+
args: [{
|
|
122
|
+
selector: 'rolatech-agent-apply-review-page',
|
|
123
|
+
standalone: true,
|
|
124
|
+
imports: [OnboardingSummaryCard, OnboardingIssueList, OnboardingTimelineDrawer],
|
|
125
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
126
|
+
encapsulation: ViewEncapsulation.None,
|
|
127
|
+
host: { class: 'block' },
|
|
128
|
+
template: `
|
|
129
|
+
@if (facade.detail(); as detail) {
|
|
130
|
+
<div class="space-y-4">
|
|
131
|
+
<rolatech-onboarding-summary-card [title]="'Profile'" [items]="profileItems()" />
|
|
132
|
+
<rolatech-onboarding-summary-card [title]="'Financial'" [items]="financialItems()" />
|
|
133
|
+
<rolatech-onboarding-summary-card [title]="'Banking'" [items]="bankingItems()" />
|
|
134
|
+
|
|
135
|
+
<rolatech-onboarding-issue-list [issues]="detail.issues" />
|
|
136
|
+
|
|
137
|
+
<section class="flex justify-between gap-3 rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-5 shadow-sm">
|
|
138
|
+
<div class="flex items-center gap-2">
|
|
139
|
+
<button
|
|
140
|
+
type="button"
|
|
141
|
+
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)"
|
|
142
|
+
(click)="back()"
|
|
143
|
+
>
|
|
144
|
+
Back
|
|
145
|
+
</button>
|
|
146
|
+
|
|
147
|
+
<button
|
|
148
|
+
type="button"
|
|
149
|
+
class="rounded-xl border border-(--rt-border-color) bg-(--rt-base-background) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)"
|
|
150
|
+
(click)="openTimeline()"
|
|
151
|
+
>
|
|
152
|
+
Timeline
|
|
153
|
+
</button>
|
|
154
|
+
</div>
|
|
155
|
+
|
|
156
|
+
<button
|
|
157
|
+
type="button"
|
|
158
|
+
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"
|
|
159
|
+
[disabled]="facade.submitting()"
|
|
160
|
+
(click)="submit()"
|
|
161
|
+
>
|
|
162
|
+
Submit Application
|
|
163
|
+
</button>
|
|
164
|
+
</section>
|
|
165
|
+
|
|
166
|
+
<rolatech-onboarding-timeline-drawer
|
|
167
|
+
[open]="timelineOpen()"
|
|
168
|
+
[title]="'Application Timeline'"
|
|
169
|
+
[items]="detail.timeline"
|
|
170
|
+
[zIndex]="9100"
|
|
171
|
+
(closeRequested)="closeTimeline()"
|
|
172
|
+
/>
|
|
173
|
+
</div>
|
|
174
|
+
} @else {
|
|
175
|
+
<div class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-5 text-sm text-(--rt-text-secondary) shadow-sm">Loading application summary...</div>
|
|
176
|
+
}
|
|
177
|
+
`,
|
|
178
|
+
}]
|
|
179
|
+
}] });
|
|
180
|
+
|
|
181
|
+
export { AgentApplyReviewPage };
|
|
182
|
+
//# sourceMappingURL=rolatech-angular-onboarding-agent-apply-review-page-DugCjfvK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolatech-angular-onboarding-agent-apply-review-page-DugCjfvK.mjs","sources":["../../../../packages/angular-onboarding/src/lib/pages/agent-apply/agent-apply-review-page.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { onboardingVatModeLabel } from '@rolatech/angular-services';\nimport { OnboardingIssueList } from '../../components/onboarding/onboarding-issue-list';\nimport { OnboardingSummaryCard } from '../../components/onboarding/onboarding-summary-card';\nimport { OnboardingTimelineDrawer } from '../../components/onboarding/onboarding-timeline-drawer';\nimport { AgentApplyFacade } from '../../store/agent-apply.facade';\n\n@Component({\n selector: 'rolatech-agent-apply-review-page',\n standalone: true,\n imports: [OnboardingSummaryCard, OnboardingIssueList, OnboardingTimelineDrawer],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'block' },\n template: `\n @if (facade.detail(); as detail) {\n <div class=\"space-y-4\">\n <rolatech-onboarding-summary-card [title]=\"'Profile'\" [items]=\"profileItems()\" />\n <rolatech-onboarding-summary-card [title]=\"'Financial'\" [items]=\"financialItems()\" />\n <rolatech-onboarding-summary-card [title]=\"'Banking'\" [items]=\"bankingItems()\" />\n\n <rolatech-onboarding-issue-list [issues]=\"detail.issues\" />\n\n <section class=\"flex justify-between gap-3 rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-5 shadow-sm\">\n <div class=\"flex items-center gap-2\">\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 border border-(--rt-border-color) bg-(--rt-base-background) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)\"\n (click)=\"openTimeline()\"\n >\n Timeline\n </button>\n </div>\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.submitting()\"\n (click)=\"submit()\"\n >\n Submit Application\n </button>\n </section>\n\n <rolatech-onboarding-timeline-drawer\n [open]=\"timelineOpen()\"\n [title]=\"'Application Timeline'\"\n [items]=\"detail.timeline\"\n [zIndex]=\"9100\"\n (closeRequested)=\"closeTimeline()\"\n />\n </div>\n } @else {\n <div class=\"rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-5 text-sm text-(--rt-text-secondary) shadow-sm\">Loading application summary...</div>\n }\n `,\n})\nexport class AgentApplyReviewPage {\n readonly facade = inject(AgentApplyFacade);\n readonly timelineOpen = signal(false);\n private readonly router = inject(Router);\n private readonly route = inject(ActivatedRoute);\n\n readonly profileItems = computed(() => {\n const detail = this.facade.detail();\n\n if (!detail) {\n return [];\n }\n\n return [\n { label: 'Organization', value: detail.organizationName },\n { label: 'Contact name', value: detail.contactName },\n { label: 'Contact email', value: detail.contactEmail },\n { label: 'Contact phone', value: detail.contactPhone },\n { label: 'Country code', value: detail.countryCode },\n ];\n });\n\n readonly financialItems = computed(() => {\n const detail = this.facade.detail();\n\n if (!detail) {\n return [];\n }\n\n return [\n { label: 'VAT mode', value: onboardingVatModeLabel(detail.vatMode ?? null) },\n { label: 'VAT number', value: detail.vatNumber },\n ];\n });\n\n readonly bankingItems = computed(() => {\n const detail = this.facade.detail();\n\n if (!detail) {\n return [];\n }\n\n return [\n { label: 'Bank name', value: detail.bankName },\n { label: 'Account holder', value: detail.accountHolderName },\n { label: 'Sort code', value: detail.sortCode },\n { label: 'Account number', value: detail.accountNumber },\n ];\n });\n\n async submit(): Promise<void> {\n const submitted = await this.facade.submit();\n\n if (!submitted) {\n return;\n }\n\n await this.router.navigate(['../submitted'], {\n relativeTo: this.route,\n });\n }\n\n async back(): Promise<void> {\n await this.router.navigate(['../banking'], {\n relativeTo: this.route,\n });\n }\n\n openTimeline(): void {\n this.timelineOpen.set(true);\n }\n\n closeTimeline(): void {\n this.timelineOpen.set(false);\n }\n}\n"],"names":[],"mappings":"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"}
|