@qbs-origin/origin-form 0.5.0
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 +24 -0
- package/esm2022/lib/action-step-handler.mjs +163 -0
- package/esm2022/lib/auth-client.service.mjs +69 -0
- package/esm2022/lib/enums/label.keys.mjs +721 -0
- package/esm2022/lib/form-css.helper.mjs +367 -0
- package/esm2022/lib/formly/baseFormlyControlComponent.mjs +52 -0
- package/esm2022/lib/formly/baseFormlyStepComponent.mjs +59 -0
- package/esm2022/lib/formly/custom-section-separator.component.mjs +32 -0
- package/esm2022/lib/formly/form-section-separator.component.mjs +36 -0
- package/esm2022/lib/formly/formly-action.mjs +56 -0
- package/esm2022/lib/formly/formly-checkbox/formly-checkbox.component.mjs +52 -0
- package/esm2022/lib/formly/formly-dictionary-dropdown-tree/formly-dictionary-dropdown-tree.component.mjs +261 -0
- package/esm2022/lib/formly/formly-download-documents/formly-download-documents.component.mjs +126 -0
- package/esm2022/lib/formly/formly-enrol-card/formly-enrol-card.component.mjs +120 -0
- package/esm2022/lib/formly/formly-field-stepper/formly-field-stepper.component.mjs +762 -0
- package/esm2022/lib/formly/formly-generate-documents/formly-generate-documents.component.mjs +57 -0
- package/esm2022/lib/formly/formly-identification.component.mjs +84 -0
- package/esm2022/lib/formly/formly-open-banking/formly-open-banking.component.mjs +590 -0
- package/esm2022/lib/formly/formly-paragraph/formly-paragraph.component.mjs +35 -0
- package/esm2022/lib/formly/formly-radio/formly-radio-component.mjs +49 -0
- package/esm2022/lib/formly/formly-row-fille.mjs +12 -0
- package/esm2022/lib/formly/formly-scan-id/formly-scan-id.component.mjs +284 -0
- package/esm2022/lib/formly/formly-sign/formly-sign.component.mjs +173 -0
- package/esm2022/lib/formly/formly-upload-documents/formly-upload-documents.component.mjs +198 -0
- package/esm2022/lib/formly/formly-validate-contact-info/formly-validate-contact-info.component.mjs +124 -0
- package/esm2022/lib/formly/formly-view-documents/formly-view-documents.component.mjs +245 -0
- package/esm2022/lib/formly/formly-view-offers/formly-view-offers.component.mjs +160 -0
- package/esm2022/lib/model-population.helper.mjs +265 -0
- package/esm2022/lib/models/application-type.model.mjs +12 -0
- package/esm2022/lib/models/application.model.mjs +30 -0
- package/esm2022/lib/models/auth/users.model.mjs +2 -0
- package/esm2022/lib/models/dictionary.model.mjs +20 -0
- package/esm2022/lib/models/flux.model.mjs +105 -0
- package/esm2022/lib/models/forms.model.mjs +572 -0
- package/esm2022/lib/models/label-info.model.mjs +2 -0
- package/esm2022/lib/models/label.model.mjs +2 -0
- package/esm2022/lib/models/language.model.mjs +3 -0
- package/esm2022/lib/models/list.model.mjs +2 -0
- package/esm2022/lib/models/partner.model.mjs +3 -0
- package/esm2022/lib/models/treeview.model.mjs +15 -0
- package/esm2022/lib/origin-form-auth.service.mjs +40 -0
- package/esm2022/lib/origin-form-config.model.mjs +2 -0
- package/esm2022/lib/origin-form-token.interceptor.mjs +35 -0
- package/esm2022/lib/origin-form.component.mjs +2391 -0
- package/esm2022/lib/origin-form.module.mjs +479 -0
- package/esm2022/lib/origin-form.service.mjs +14 -0
- package/esm2022/lib/others/check-list.database.mjs +55 -0
- package/esm2022/lib/others/config-service.mjs +42 -0
- package/esm2022/lib/others/dictionary-label-info.mjs +3 -0
- package/esm2022/lib/others/environment-type.mjs +21 -0
- package/esm2022/lib/others/external-link.directive.mjs +49 -0
- package/esm2022/lib/others/flux-helper.mjs +1397 -0
- package/esm2022/lib/others/picker.component.mjs +119 -0
- package/esm2022/lib/others/translation.pipe.mjs +21 -0
- package/esm2022/lib/others/translations-helper.mjs +258 -0
- package/esm2022/lib/others/utils.mjs +272 -0
- package/esm2022/lib/services/applicationData.service.mjs +145 -0
- package/esm2022/lib/services/auth-http.service.mjs +80 -0
- package/esm2022/lib/services/dialog.service.mjs +56 -0
- package/esm2022/lib/services/dictionary.service.mjs +198 -0
- package/esm2022/lib/services/forms.service.mjs +47 -0
- package/esm2022/lib/services/labels.service.mjs +29 -0
- package/esm2022/lib/services/language.service.mjs +24 -0
- package/esm2022/lib/services/open-banking.service.mjs +194 -0
- package/esm2022/lib/services/origin-form-signalr-handler.service.mjs +107 -0
- package/esm2022/lib/services/origin-form-signalr.service.mjs +105 -0
- package/esm2022/lib/services/otp.service.mjs +28 -0
- package/esm2022/lib/services/proxy.service.mjs +79 -0
- package/esm2022/lib/services/scroll-to-error.service.mjs +369 -0
- package/esm2022/lib/services/translation.service.mjs +27 -0
- package/esm2022/lib/shared-components/confirmation.component.mjs +34 -0
- package/esm2022/lib/shared-components/dictionaries-tree.component.mjs +301 -0
- package/esm2022/lib/shared-components/grid.component.mjs +241 -0
- package/esm2022/lib/shared-components/treeview/treeview.component.mjs +224 -0
- package/esm2022/lib/theme-css.mjs +2254 -0
- package/esm2022/lib/theme-injector.service.mjs +26 -0
- package/esm2022/public-api.mjs +4 -0
- package/esm2022/qbs-origin-origin-form.mjs +5 -0
- package/fesm2022/qbs-origin-origin-form.mjs +15215 -0
- package/fesm2022/qbs-origin-origin-form.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/action-step-handler.d.ts +49 -0
- package/lib/auth-client.service.d.ts +17 -0
- package/lib/enums/label.keys.d.ts +720 -0
- package/lib/form-css.helper.d.ts +28 -0
- package/lib/formly/baseFormlyControlComponent.d.ts +25 -0
- package/lib/formly/baseFormlyStepComponent.d.ts +29 -0
- package/lib/formly/custom-section-separator.component.d.ts +6 -0
- package/lib/formly/form-section-separator.component.d.ts +10 -0
- package/lib/formly/formly-action.d.ts +13 -0
- package/lib/formly/formly-checkbox/formly-checkbox.component.d.ts +15 -0
- package/lib/formly/formly-dictionary-dropdown-tree/formly-dictionary-dropdown-tree.component.d.ts +45 -0
- package/lib/formly/formly-download-documents/formly-download-documents.component.d.ts +22 -0
- package/lib/formly/formly-enrol-card/formly-enrol-card.component.d.ts +114 -0
- package/lib/formly/formly-field-stepper/formly-field-stepper.component.d.ts +79 -0
- package/lib/formly/formly-generate-documents/formly-generate-documents.component.d.ts +17 -0
- package/lib/formly/formly-identification.component.d.ts +19 -0
- package/lib/formly/formly-open-banking/formly-open-banking.component.d.ts +119 -0
- package/lib/formly/formly-paragraph/formly-paragraph.component.d.ts +10 -0
- package/lib/formly/formly-radio/formly-radio-component.d.ts +15 -0
- package/lib/formly/formly-row-fille.d.ts +6 -0
- package/lib/formly/formly-scan-id/formly-scan-id.component.d.ts +41 -0
- package/lib/formly/formly-sign/formly-sign.component.d.ts +36 -0
- package/lib/formly/formly-upload-documents/formly-upload-documents.component.d.ts +25 -0
- package/lib/formly/formly-validate-contact-info/formly-validate-contact-info.component.d.ts +79 -0
- package/lib/formly/formly-view-documents/formly-view-documents.component.d.ts +33 -0
- package/lib/formly/formly-view-offers/formly-view-offers.component.d.ts +23 -0
- package/lib/model-population.helper.d.ts +8 -0
- package/lib/models/application-type.model.d.ts +27 -0
- package/lib/models/application.model.d.ts +107 -0
- package/lib/models/auth/users.model.d.ts +20 -0
- package/lib/models/dictionary.model.d.ts +77 -0
- package/lib/models/flux.model.d.ts +101 -0
- package/lib/models/forms.model.d.ts +504 -0
- package/lib/models/label-info.model.d.ts +10 -0
- package/lib/models/label.model.d.ts +4 -0
- package/lib/models/language.model.d.ts +5 -0
- package/lib/models/list.model.d.ts +8 -0
- package/lib/models/partner.model.d.ts +12 -0
- package/lib/models/treeview.model.d.ts +17 -0
- package/lib/origin-form-auth.service.d.ts +15 -0
- package/lib/origin-form-config.model.d.ts +12 -0
- package/lib/origin-form-token.interceptor.d.ts +12 -0
- package/lib/origin-form.component.d.ts +231 -0
- package/lib/origin-form.module.d.ts +84 -0
- package/lib/origin-form.service.d.ts +6 -0
- package/lib/others/check-list.database.d.ts +16 -0
- package/lib/others/config-service.d.ts +22 -0
- package/lib/others/dictionary-label-info.d.ts +6 -0
- package/lib/others/environment-type.d.ts +8 -0
- package/lib/others/external-link.directive.d.ts +12 -0
- package/lib/others/flux-helper.d.ts +115 -0
- package/lib/others/picker.component.d.ts +36 -0
- package/lib/others/translation.pipe.d.ts +10 -0
- package/lib/others/translations-helper.d.ts +31 -0
- package/lib/others/utils.d.ts +37 -0
- package/lib/services/applicationData.service.d.ts +35 -0
- package/lib/services/auth-http.service.d.ts +21 -0
- package/lib/services/dialog.service.d.ts +20 -0
- package/lib/services/dictionary.service.d.ts +89 -0
- package/lib/services/forms.service.d.ts +17 -0
- package/lib/services/labels.service.d.ts +13 -0
- package/lib/services/language.service.d.ts +14 -0
- package/lib/services/open-banking.service.d.ts +137 -0
- package/lib/services/origin-form-signalr-handler.service.d.ts +29 -0
- package/lib/services/origin-form-signalr.service.d.ts +24 -0
- package/lib/services/otp.service.d.ts +22 -0
- package/lib/services/proxy.service.d.ts +29 -0
- package/lib/services/scroll-to-error.service.d.ts +54 -0
- package/lib/services/translation.service.d.ts +10 -0
- package/lib/shared-components/confirmation.component.d.ts +77 -0
- package/lib/shared-components/dictionaries-tree.component.d.ts +51 -0
- package/lib/shared-components/grid.component.d.ts +138 -0
- package/lib/shared-components/treeview/treeview.component.d.ts +121 -0
- package/lib/theme-css.d.ts +2 -0
- package/lib/theme-injector.service.d.ts +8 -0
- package/package.json +42 -0
- package/public-api.d.ts +3 -0
- package/schematics-compiled/collection.json +10 -0
- package/schematics-compiled/ng-add/index.d.ts +2 -0
- package/schematics-compiled/ng-add/index.js +67 -0
- package/schematics-compiled/ng-add/index.js.map +1 -0
- package/schematics-compiled/ng-add/schema.json +8 -0
- package/src/lib/assets/fonts/Figtree-Bold.ttf +0 -0
- package/src/lib/assets/fonts/Figtree-Light.ttf +0 -0
- package/src/lib/assets/fonts/Figtree-Regular.ttf +0 -0
- package/src/lib/assets/fonts/Sora-ExtraBold.ttf +0 -0
- package/src/lib/assets/fonts/Sora-Light.ttf +0 -0
- package/src/lib/assets/fonts/Sora-Regular.ttf +0 -0
- package/src/lib/assets/fonts/ttrounds-bold-webfont.woff +0 -0
- package/src/lib/assets/fonts/ttrounds-bold-webfont.woff2 +0 -0
- package/src/lib/assets/fonts/ttrounds-regular-webfont.woff +0 -0
- package/src/lib/assets/fonts/ttrounds-regular-webfont.woff2 +0 -0
- package/src/lib/assets/fonts/ttrounds-thin-webfont.woff +0 -0
- package/src/lib/assets/fonts/ttrounds-thin-webfont.woff2 +0 -0
- package/src/lib/assets/images/flag/icon-flag-de.svg +10 -0
- package/src/lib/assets/images/flag/icon-flag-en.svg +1 -0
- package/src/lib/assets/images/flag/icon-flag-es.svg +11 -0
- package/src/lib/assets/images/flag/icon-flag-fr.svg +1 -0
- package/src/lib/assets/images/flag/icon-flag-ro.svg +11 -0
- package/src/lib/assets/images/flag/origin-form/new-id-card.png +0 -0
- package/src/lib/assets/images/flag/origin-form/old-id-card.png +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { BaseFormlyStepComponent } from '../baseFormlyStepComponent';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/applicationData.service";
|
|
5
|
+
import * as i2 from "../../services/dialog.service";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/material/button";
|
|
8
|
+
import * as i5 from "@angular/material/progress-spinner";
|
|
9
|
+
import * as i6 from "../../others/translation.pipe";
|
|
10
|
+
export class FormlyGenerateDocumentsComponent extends BaseFormlyStepComponent {
|
|
11
|
+
constructor(appDataService, cdr, dialog) {
|
|
12
|
+
super(cdr);
|
|
13
|
+
this.appDataService = appDataService;
|
|
14
|
+
this.dialog = dialog;
|
|
15
|
+
this.hasErrors = false;
|
|
16
|
+
}
|
|
17
|
+
onPageSelected() {
|
|
18
|
+
this.generateDocuments();
|
|
19
|
+
}
|
|
20
|
+
generateDocuments() {
|
|
21
|
+
this.isLoading = true;
|
|
22
|
+
const command = {
|
|
23
|
+
appId: this.appId,
|
|
24
|
+
appDataId: this.appDataId,
|
|
25
|
+
stepId: this.stepData.identifier,
|
|
26
|
+
};
|
|
27
|
+
this.appDataService.generateDocuments(command).subscribe({
|
|
28
|
+
next: (result) => {
|
|
29
|
+
this.hasErrors = false;
|
|
30
|
+
this.generatedDocumentsCount = result;
|
|
31
|
+
this.isLoading = false;
|
|
32
|
+
this.cdr.detectChanges();
|
|
33
|
+
this.onEvent('success');
|
|
34
|
+
},
|
|
35
|
+
error: (err) => {
|
|
36
|
+
this.hasErrors = true;
|
|
37
|
+
this.isLoading = false;
|
|
38
|
+
this.cdr.detectChanges();
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
this.cdr.detectChanges();
|
|
42
|
+
}
|
|
43
|
+
canAdvance() {
|
|
44
|
+
if (this.isLoading || this.hasErrors) {
|
|
45
|
+
this.dialog.popError('generateDocuments.generating');
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyGenerateDocumentsComponent, deps: [{ token: i1.ApplicationDataService }, { token: i0.ChangeDetectorRef }, { token: i2.DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyGenerateDocumentsComponent, selector: "app-formly-generate-documents", usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"isLoading\">{{ \"generateDocuments.generating\" | translate }}</p>\n<mat-spinner *ngIf=\"isLoading\"\n class=\"m-x-auto upload-spinner\"></mat-spinner>\n\n<div>\n <p *ngIf=\"!isLoading && !hasErrors && generatedDocumentsCount > 0\">\n {{ \"generateDocuments.generated\" | translate }}\n </p>\n <p *ngIf=\"!isLoading && !hasErrors && generatedDocumentsCount <= 0\">\n {{ \"generateDocuments.noDocumentsGenerated\" | translate }}\n </p>\n</div>\n<div *ngIf=\"hasErrors\">\n <p>{{ \"generateDocuments.error\" | translate }}</p>\n <button mat-flat-button type=\"button\" (click)=\"generateDocuments()\">\n {{ \"retry\" | translate }}\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyGenerateDocumentsComponent, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
args: [{ selector: 'app-formly-generate-documents', template: "<p *ngIf=\"isLoading\">{{ \"generateDocuments.generating\" | translate }}</p>\n<mat-spinner *ngIf=\"isLoading\"\n class=\"m-x-auto upload-spinner\"></mat-spinner>\n\n<div>\n <p *ngIf=\"!isLoading && !hasErrors && generatedDocumentsCount > 0\">\n {{ \"generateDocuments.generated\" | translate }}\n </p>\n <p *ngIf=\"!isLoading && !hasErrors && generatedDocumentsCount <= 0\">\n {{ \"generateDocuments.noDocumentsGenerated\" | translate }}\n </p>\n</div>\n<div *ngIf=\"hasErrors\">\n <p>{{ \"generateDocuments.error\" | translate }}</p>\n <button mat-flat-button type=\"button\" (click)=\"generateDocuments()\">\n {{ \"retry\" | translate }}\n </button>\n</div>\n" }]
|
|
56
|
+
}], ctorParameters: () => [{ type: i1.ApplicationDataService }, { type: i0.ChangeDetectorRef }, { type: i2.DialogService }] });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWdlbmVyYXRlLWRvY3VtZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcmlnaW4tZm9ybS9zcmMvbGliL2Zvcm1seS9mb3JtbHktZ2VuZXJhdGUtZG9jdW1lbnRzL2Zvcm1seS1nZW5lcmF0ZS1kb2N1bWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3JpZ2luLWZvcm0vc3JjL2xpYi9mb3JtbHkvZm9ybWx5LWdlbmVyYXRlLWRvY3VtZW50cy9mb3JtbHktZ2VuZXJhdGUtZG9jdW1lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQU9yRSxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsdUJBQXVCO0lBSTNFLFlBQ1UsY0FBc0MsRUFDOUMsR0FBc0IsRUFDZCxNQUFxQjtRQUU3QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFKSCxtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7UUFFdEMsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQU54QixjQUFTLEdBQVksS0FBSyxDQUFDO0lBU2xDLENBQUM7SUFFUSxjQUFjO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixNQUFNLE9BQU8sR0FBb0M7WUFDL0MsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVO1NBQ2pDLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN2RCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDZixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQztnQkFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDMUIsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR1EsVUFBVTtRQUNqQixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDckQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOytHQS9DVSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQyw0RkNYN0Msb3JCQWtCQTs7NEZEUGEsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbkRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkdlbmVyYXRlRG9jdW1lbnRzRHRvIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLm1vZGVsJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNlRm9ybWx5U3RlcENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2VGb3JtbHlTdGVwQ29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZvcm1seS1nZW5lcmF0ZS1kb2N1bWVudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybWx5LWdlbmVyYXRlLWRvY3VtZW50cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9mb3JtbHktZ2VuZXJhdGUtZG9jdW1lbnRzLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5R2VuZXJhdGVEb2N1bWVudHNDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybWx5U3RlcENvbXBvbmVudCB7XG4gIHB1YmxpYyBoYXNFcnJvcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZ2VuZXJhdGVkRG9jdW1lbnRzQ291bnQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwcERhdGFTZXJ2aWNlOiBBcHBsaWNhdGlvbkRhdGFTZXJ2aWNlLFxuICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IERpYWxvZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoY2RyKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uUGFnZVNlbGVjdGVkKCkge1xuICAgIHRoaXMuZ2VuZXJhdGVEb2N1bWVudHMoKTtcbiAgfVxuXG4gIGdlbmVyYXRlRG9jdW1lbnRzKCkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBjb21tYW5kOiBBcHBsaWNhdGlvbkdlbmVyYXRlRG9jdW1lbnRzRHRvID0ge1xuICAgICAgYXBwSWQ6IHRoaXMuYXBwSWQsXG4gICAgICBhcHBEYXRhSWQ6IHRoaXMuYXBwRGF0YUlkLFxuICAgICAgc3RlcElkOiB0aGlzLnN0ZXBEYXRhLmlkZW50aWZpZXIsXG4gICAgfTtcbiAgICB0aGlzLmFwcERhdGFTZXJ2aWNlLmdlbmVyYXRlRG9jdW1lbnRzKGNvbW1hbmQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuaGFzRXJyb3JzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVkRG9jdW1lbnRzQ291bnQgPSByZXN1bHQ7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5vbkV2ZW50KCdzdWNjZXNzJyk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgdGhpcy5oYXNFcnJvcnMgPSB0cnVlO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG5cbiAgb3ZlcnJpZGUgY2FuQWR2YW5jZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcgfHwgdGhpcy5oYXNFcnJvcnMpIHtcbiAgICAgIHRoaXMuZGlhbG9nLnBvcEVycm9yKCdnZW5lcmF0ZURvY3VtZW50cy5nZW5lcmF0aW5nJyk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iLCI8cCAqbmdJZj1cImlzTG9hZGluZ1wiPnt7IFwiZ2VuZXJhdGVEb2N1bWVudHMuZ2VuZXJhdGluZ1wiIHwgdHJhbnNsYXRlIH19PC9wPlxuPG1hdC1zcGlubmVyICpuZ0lmPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgICAgICBjbGFzcz1cIm0teC1hdXRvIHVwbG9hZC1zcGlubmVyXCI+PC9tYXQtc3Bpbm5lcj5cblxuPGRpdj5cbiAgPHAgKm5nSWY9XCIhaXNMb2FkaW5nICYmICFoYXNFcnJvcnMgJiYgZ2VuZXJhdGVkRG9jdW1lbnRzQ291bnQgPiAwXCI+XG4gICAge3sgXCJnZW5lcmF0ZURvY3VtZW50cy5nZW5lcmF0ZWRcIiB8IHRyYW5zbGF0ZSB9fVxuICA8L3A+XG4gIDxwICpuZ0lmPVwiIWlzTG9hZGluZyAmJiAhaGFzRXJyb3JzICYmIGdlbmVyYXRlZERvY3VtZW50c0NvdW50IDw9IDBcIj5cbiAgICB7eyBcImdlbmVyYXRlRG9jdW1lbnRzLm5vRG9jdW1lbnRzR2VuZXJhdGVkXCIgfCB0cmFuc2xhdGUgfX1cbiAgPC9wPlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiaGFzRXJyb3JzXCI+XG4gIDxwPnt7IFwiZ2VuZXJhdGVEb2N1bWVudHMuZXJyb3JcIiB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJnZW5lcmF0ZURvY3VtZW50cygpXCI+XG4gICAge3sgXCJyZXRyeVwiIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Component, ViewChild, EventEmitter, Output, } from '@angular/core';
|
|
2
|
+
import { BaseFormlyStepComponent } from './baseFormlyStepComponent';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../services/proxy.service";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
export class FormlyFieldIdentificationComponent extends BaseFormlyStepComponent {
|
|
7
|
+
constructor(proxy, cdr) {
|
|
8
|
+
super(cdr);
|
|
9
|
+
this.proxy = proxy;
|
|
10
|
+
this.ectCompleted = new EventEmitter();
|
|
11
|
+
}
|
|
12
|
+
onInit() {
|
|
13
|
+
window.addEventListener('ect-completed', this.onEctCompleted.bind(this));
|
|
14
|
+
window.addEventListener('ect-error', this.onEctCompleted.bind(this));
|
|
15
|
+
}
|
|
16
|
+
onEctCompleted() {
|
|
17
|
+
if (this.props['ectCompleted']) {
|
|
18
|
+
const message = this.getLoadingMessage();
|
|
19
|
+
this.props['ectCompleted'](message);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
isEctCompleted() {
|
|
23
|
+
return !!this.props['ectCompleted'];
|
|
24
|
+
}
|
|
25
|
+
onEctError() {
|
|
26
|
+
if (this.props['ectError']) {
|
|
27
|
+
this.props['ectError']();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async onPageSelectedAsync() {
|
|
31
|
+
try {
|
|
32
|
+
this.kycToken = await this.proxy.getTokenAndSave();
|
|
33
|
+
this.cdr.detectChanges();
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
console.error('Failed to get token:', error);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
getLoadingMessage() {
|
|
40
|
+
return this.props['loadingMessage'] || '';
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyFieldIdentificationComponent, deps: [{ token: i1.ProxyService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyFieldIdentificationComponent, selector: "formly-field-identification", outputs: { ectCompleted: "ectCompleted" }, viewQueries: [{ propertyName: "identification", first: true, predicate: ["identification"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
44
|
+
<ng-container *ngIf="appDataId && kycToken">
|
|
45
|
+
<identification-component
|
|
46
|
+
#identification
|
|
47
|
+
[token]="kycToken"
|
|
48
|
+
[api_url]="props['api_url']"
|
|
49
|
+
[order_id]="appDataId"
|
|
50
|
+
[env]="props['env']"
|
|
51
|
+
[phone_number]="props['phone_number']"
|
|
52
|
+
[lang_iso]="props['lang_iso']"
|
|
53
|
+
[show_citizenship_selector]="true"
|
|
54
|
+
[scroll_mode]="props['scroll_mode']"
|
|
55
|
+
>
|
|
56
|
+
</identification-component>
|
|
57
|
+
</ng-container>
|
|
58
|
+
`, isInline: true, styles: [":host{min-height:600px;display:block}.loader-container{display:flex;justify-content:center;align-items:center;padding-top:5vh;padding-bottom:5vh}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
59
|
+
}
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyFieldIdentificationComponent, decorators: [{
|
|
61
|
+
type: Component,
|
|
62
|
+
args: [{ selector: 'formly-field-identification', template: `
|
|
63
|
+
<ng-container *ngIf="appDataId && kycToken">
|
|
64
|
+
<identification-component
|
|
65
|
+
#identification
|
|
66
|
+
[token]="kycToken"
|
|
67
|
+
[api_url]="props['api_url']"
|
|
68
|
+
[order_id]="appDataId"
|
|
69
|
+
[env]="props['env']"
|
|
70
|
+
[phone_number]="props['phone_number']"
|
|
71
|
+
[lang_iso]="props['lang_iso']"
|
|
72
|
+
[show_citizenship_selector]="true"
|
|
73
|
+
[scroll_mode]="props['scroll_mode']"
|
|
74
|
+
>
|
|
75
|
+
</identification-component>
|
|
76
|
+
</ng-container>
|
|
77
|
+
`, styles: [":host{min-height:600px;display:block}.loader-container{display:flex;justify-content:center;align-items:center;padding-top:5vh;padding-bottom:5vh}\n"] }]
|
|
78
|
+
}], ctorParameters: () => [{ type: i1.ProxyService }, { type: i0.ChangeDetectorRef }], propDecorators: { identification: [{
|
|
79
|
+
type: ViewChild,
|
|
80
|
+
args: ['identification', { static: true }]
|
|
81
|
+
}], ectCompleted: [{
|
|
82
|
+
type: Output
|
|
83
|
+
}] } });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWlkZW50aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29yaWdpbi1mb3JtL3NyYy9saWIvZm9ybWx5L2Zvcm1seS1pZGVudGlmaWNhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQXFDcEUsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLHVCQUF1QjtJQUk3RSxZQUFvQixLQUFtQixFQUFFLEdBQXNCO1FBQzdELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURPLFVBQUssR0FBTCxLQUFLLENBQWM7UUFGN0IsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUl0RSxDQUFDO0lBRVEsTUFBTTtRQUNiLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6RSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFUSxLQUFLLENBQUMsbUJBQW1CO1FBQ2hDLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVDLENBQUM7K0dBekNVLGtDQUFrQzttR0FBbEMsa0NBQWtDLHFRQWpDbkM7Ozs7Ozs7Ozs7Ozs7OztHQWVUOzs0RkFrQlUsa0NBQWtDO2tCQW5DOUMsU0FBUzsrQkFDRSw2QkFBNkIsWUFDN0I7Ozs7Ozs7Ozs7Ozs7OztHQWVUO2lIQW1COEMsY0FBYztzQkFBNUQsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ25DLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3h5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Byb3h5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZUZvcm1seVN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2Jhc2VGb3JtbHlTdGVwQ29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LWZpZWxkLWlkZW50aWZpY2F0aW9uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwRGF0YUlkICYmIGt5Y1Rva2VuXCI+XG4gICAgICA8aWRlbnRpZmljYXRpb24tY29tcG9uZW50XG4gICAgICAgICNpZGVudGlmaWNhdGlvblxuICAgICAgICBbdG9rZW5dPVwia3ljVG9rZW5cIlxuICAgICAgICBbYXBpX3VybF09XCJwcm9wc1snYXBpX3VybCddXCJcbiAgICAgICAgW29yZGVyX2lkXT1cImFwcERhdGFJZFwiXG4gICAgICAgIFtlbnZdPVwicHJvcHNbJ2VudiddXCJcbiAgICAgICAgW3Bob25lX251bWJlcl09XCJwcm9wc1sncGhvbmVfbnVtYmVyJ11cIlxuICAgICAgICBbbGFuZ19pc29dPVwicHJvcHNbJ2xhbmdfaXNvJ11cIlxuICAgICAgICBbc2hvd19jaXRpemVuc2hpcF9zZWxlY3Rvcl09XCJ0cnVlXCJcbiAgICAgICAgW3Njcm9sbF9tb2RlXT1cInByb3BzWydzY3JvbGxfbW9kZSddXCJcbiAgICAgID5cbiAgICAgIDwvaWRlbnRpZmljYXRpb24tY29tcG9uZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLmxvYWRlci1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDV2aDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDV2aDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlGaWVsZElkZW50aWZpY2F0aW9uQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZvcm1seVN0ZXBDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdpZGVudGlmaWNhdGlvbicsIHsgc3RhdGljOiB0cnVlIH0pIGlkZW50aWZpY2F0aW9uOiBFbGVtZW50UmVmO1xuICBAT3V0cHV0KCkgZWN0Q29tcGxldGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIGt5Y1Rva2VuOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJveHk6IFByb3h5U2VydmljZSwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKGNkcik7XG4gIH1cblxuICBvdmVycmlkZSBvbkluaXQoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2VjdC1jb21wbGV0ZWQnLCB0aGlzLm9uRWN0Q29tcGxldGVkLmJpbmQodGhpcykpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdlY3QtZXJyb3InLCB0aGlzLm9uRWN0Q29tcGxldGVkLmJpbmQodGhpcykpO1xuICB9XG5cbiAgb25FY3RDb21wbGV0ZWQoKSB7XG4gICAgaWYgKHRoaXMucHJvcHNbJ2VjdENvbXBsZXRlZCddKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5nZXRMb2FkaW5nTWVzc2FnZSgpO1xuICAgICAgdGhpcy5wcm9wc1snZWN0Q29tcGxldGVkJ10obWVzc2FnZSk7XG4gICAgfVxuICB9XG5cbiAgaXNFY3RDb21wbGV0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5wcm9wc1snZWN0Q29tcGxldGVkJ107XG4gIH1cblxuICBvbkVjdEVycm9yKCkge1xuICAgIGlmICh0aGlzLnByb3BzWydlY3RFcnJvciddKSB7XG4gICAgICB0aGlzLnByb3BzWydlY3RFcnJvciddKCk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgb25QYWdlU2VsZWN0ZWRBc3luYygpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5reWNUb2tlbiA9IGF3YWl0IHRoaXMucHJveHkuZ2V0VG9rZW5BbmRTYXZlKCk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBnZXQgdG9rZW46JywgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGdldExvYWRpbmdNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHNbJ2xvYWRpbmdNZXNzYWdlJ10gfHwgJyc7IFxuICB9XG59XG4iXX0=
|