bpm-core 0.0.18 → 0.0.19
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/esm2022/lib/app/app.component.mjs +22 -12
- package/esm2022/lib/components/app-component-sections/form-section/form-section.component.mjs +5 -5
- package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +8 -5
- package/esm2022/lib/components/app-component-sections/workflow-section/workflow-section.component.mjs +4 -4
- package/esm2022/lib/interfaces/form.interface.mjs +1 -1
- package/esm2022/lib/services/core.service.ts.mjs +299 -168
- package/esm2022/lib/testComponent/config/segment-dynamic-loader.config.mjs +8 -0
- package/esm2022/lib/testComponent/general-approver-section/general-approver-section.component.mjs +52 -0
- package/esm2022/lib/testComponent/services/i18n.service.mjs +39 -0
- package/esm2022/lib/testComponent/services/segment-dynamic-loader.service.mjs +54 -0
- package/esm2022/lib/testComponent/services/state-machine.service.mjs +148 -0
- package/fesm2022/bpm-core.mjs +4774 -4352
- package/fesm2022/bpm-core.mjs.map +1 -1
- package/lib/app/app.component.d.ts +4 -2
- package/lib/components/app-component-sections/form-section/form-section.component.d.ts +1 -1
- package/lib/components/app-component-sections/service-header/service-header.component.d.ts +5 -5
- package/lib/interfaces/form.interface.d.ts +2 -2
- package/lib/services/core.service.ts.d.ts +1 -0
- package/lib/testComponent/config/segment-dynamic-loader.config.d.ts +8 -0
- package/lib/testComponent/general-approver-section/general-approver-section.component.d.ts +21 -0
- package/lib/testComponent/services/i18n.service.d.ts +11 -0
- package/lib/testComponent/services/segment-dynamic-loader.service.d.ts +17 -0
- package/lib/testComponent/services/state-machine.service.d.ts +29 -0
- package/package.json +1 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { GeneralApproverSectionComponent } from "../general-approver-section/general-approver-section.component";
|
|
2
|
+
export default {
|
|
3
|
+
roleToApprovalSectionMapping: {
|
|
4
|
+
wpo_d: GeneralApproverSectionComponent,
|
|
5
|
+
wpo_gm: GeneralApproverSectionComponent
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC1keW5hbWljLWxvYWRlci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL3Rlc3RDb21wb25lbnQvY29uZmlnL3NlZ21lbnQtZHluYW1pYy1sb2FkZXIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBRy9HLGVBQWU7SUFDYiw0QkFBNEIsRUFBRTtRQUM1QixLQUFLLEVBQUUsK0JBQStCO1FBQ3RDLE1BQU0sRUFBRSwrQkFBK0I7S0FDeEM7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtHZW5lcmFsQXBwcm92ZXJTZWN0aW9uQ29tcG9uZW50fSBmcm9tIFwiLi4vZ2VuZXJhbC1hcHByb3Zlci1zZWN0aW9uL2dlbmVyYWwtYXBwcm92ZXItc2VjdGlvbi5jb21wb25lbnRcIjtcclxuXHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgcm9sZVRvQXBwcm92YWxTZWN0aW9uTWFwcGluZzoge1xyXG4gICAgd3BvX2Q6IEdlbmVyYWxBcHByb3ZlclNlY3Rpb25Db21wb25lbnQsXHJcbiAgICB3cG9fZ206IEdlbmVyYWxBcHByb3ZlclNlY3Rpb25Db21wb25lbnRcclxuICB9XHJcbn1cclxuIl19
|
package/esm2022/lib/testComponent/general-approver-section/general-approver-section.component.mjs
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { NgClass } from "@angular/common";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../services/i18n.service";
|
|
5
|
+
import * as i2 from "../services/state-machine.service";
|
|
6
|
+
export class GeneralApproverSectionComponent {
|
|
7
|
+
i18n;
|
|
8
|
+
StateMachineService;
|
|
9
|
+
isReadOnly;
|
|
10
|
+
section;
|
|
11
|
+
lov;
|
|
12
|
+
className = "info-section";
|
|
13
|
+
currentSectionId;
|
|
14
|
+
lastSectionId;
|
|
15
|
+
form;
|
|
16
|
+
constructor(i18n,
|
|
17
|
+
// public profileRequestorService: ProfileRequestorService,
|
|
18
|
+
StateMachineService) {
|
|
19
|
+
this.i18n = i18n;
|
|
20
|
+
this.StateMachineService = StateMachineService;
|
|
21
|
+
}
|
|
22
|
+
ngAfterViewInit() {
|
|
23
|
+
this.ServicesSubScriptions();
|
|
24
|
+
}
|
|
25
|
+
ServicesSubScriptions() {
|
|
26
|
+
/* this.profileRequestorService.getForm().subscribe(data => {
|
|
27
|
+
this.form = data;
|
|
28
|
+
this.lastSectionId = this.form.sections[this.form.sections.length - 1].id;
|
|
29
|
+
this.currentSectionId = this.section.id;
|
|
30
|
+
});*/
|
|
31
|
+
}
|
|
32
|
+
handleEmitValue(data, fieldName) {
|
|
33
|
+
this.section.body.details[fieldName] = data;
|
|
34
|
+
}
|
|
35
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GeneralApproverSectionComponent, deps: [{ token: i1.I18nService }, { token: i2.StateMachineService }], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: GeneralApproverSectionComponent, isStandalone: true, selector: "app-general-approver-section", inputs: { isReadOnly: "isReadOnly", section: "section", lov: "lov", className: "className" }, ngImport: i0, template: "<div\r\n [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\">\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n\r\n <div class=\"d-flex gap-2\">\r\n General Approval working fine\r\n </div>\r\n\r\n </ds-alert>\r\n\r\n\r\n</div>\r\n\r\n\r\n<!--<div class=\"mt-4\" *ngIf=\"!section?.header?.readOnly\">\r\n\r\n <div class=\"d-flex align-items-center gap-3\" *ngIf=\"lov?.decision?.type === 'button'\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{i18n.translate('reset')}}</span>\r\n </ds-button>\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 flex-row-reverse gap-3\">\r\n <ng-container *ngFor=\"let item of lov?.decision?.options\">\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value) \" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"item?.value === 'SUBMIT'\">{{item?.description}}</ds-button>\r\n\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value) \" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"item?.value === 'APPROVE'\">{{item?.description}}</ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value)\" shape=\"outline\" color=\"red\"\r\n [loading]=\"profileRequestorService.isSubmitting[item?.value]\" *ngIf=\"item?.value === 'REJECT'\">\r\n {{item?.description}}</ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value)\" shape=\"outline\" color=\"red\"\r\n [loading]=\"profileRequestorService.isSubmitting[item?.value]\" *ngIf=\"item?.value === 'CANCEL'\">\r\n {{item?.description}}</ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value)\" shape=\"outline\" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"item?.value === 'SENDBACK'\">\r\n {{item?.description}}</ds-button>\r\n\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value) \" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"!(item?.value === 'SUBMIT' || item?.value === 'APPROVE' || item?.value === 'SENDBACK' || item?.value === 'REJECT' || item?.value === 'CANCEL')\">{{item?.description}}</ds-button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 justify-content-end gap-3\"\r\n *ngIf=\"lov?.decision?.type !== 'button'\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{i18n.translate('reset')}}</span>\r\n </ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm('SUBMIT')}\"\r\n [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n (click)=\"onSubmit('SUBMIT') || profileRequestorService.disableButtons\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n </div>\r\n</div>-->\r\n", styles: [".form-section-divide{--form-section-columns: 1fr 1fr}@media (max-width: 756px){.form-section-divide{--form-section-columns: 100%}}.form-section-divide .full{grid-column:1/-1}.head-title{position:relative;margin-bottom:12px}.head-title h3{display:inline-block;color:#8e9aa0;font-size:14px;font-weight:500;background-color:#fff;padding-inline-end:20px;position:relative;z-index:2;margin:0}.head-title:after{content:\"\";position:absolute;width:100%;height:1px;background-color:#dee0e2;top:50%;left:0;right:0;transform:translateY(-50%);z-index:1}.chamber{margin-bottom:20px}.chamber .chamber-content{background-color:#f8f8f8;padding:20px}.chamber .chamber-content .chamber-select{display:flex}.chamber .chamber-content mat-checkbox{font-size:14px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GeneralApproverSectionComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: 'app-general-approver-section', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], imports: [
|
|
41
|
+
NgClass
|
|
42
|
+
], template: "<div\r\n [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\">\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n\r\n <div class=\"d-flex gap-2\">\r\n General Approval working fine\r\n </div>\r\n\r\n </ds-alert>\r\n\r\n\r\n</div>\r\n\r\n\r\n<!--<div class=\"mt-4\" *ngIf=\"!section?.header?.readOnly\">\r\n\r\n <div class=\"d-flex align-items-center gap-3\" *ngIf=\"lov?.decision?.type === 'button'\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{i18n.translate('reset')}}</span>\r\n </ds-button>\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 flex-row-reverse gap-3\">\r\n <ng-container *ngFor=\"let item of lov?.decision?.options\">\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value) \" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"item?.value === 'SUBMIT'\">{{item?.description}}</ds-button>\r\n\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value) \" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"item?.value === 'APPROVE'\">{{item?.description}}</ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value)\" shape=\"outline\" color=\"red\"\r\n [loading]=\"profileRequestorService.isSubmitting[item?.value]\" *ngIf=\"item?.value === 'REJECT'\">\r\n {{item?.description}}</ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value)\" shape=\"outline\" color=\"red\"\r\n [loading]=\"profileRequestorService.isSubmitting[item?.value]\" *ngIf=\"item?.value === 'CANCEL'\">\r\n {{item?.description}}</ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value)\" shape=\"outline\" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"item?.value === 'SENDBACK'\">\r\n {{item?.description}}</ds-button>\r\n\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value) \" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"!(item?.value === 'SUBMIT' || item?.value === 'APPROVE' || item?.value === 'SENDBACK' || item?.value === 'REJECT' || item?.value === 'CANCEL')\">{{item?.description}}</ds-button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 justify-content-end gap-3\"\r\n *ngIf=\"lov?.decision?.type !== 'button'\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{i18n.translate('reset')}}</span>\r\n </ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm('SUBMIT')}\"\r\n [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n (click)=\"onSubmit('SUBMIT') || profileRequestorService.disableButtons\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n </div>\r\n</div>-->\r\n", styles: [".form-section-divide{--form-section-columns: 1fr 1fr}@media (max-width: 756px){.form-section-divide{--form-section-columns: 100%}}.form-section-divide .full{grid-column:1/-1}.head-title{position:relative;margin-bottom:12px}.head-title h3{display:inline-block;color:#8e9aa0;font-size:14px;font-weight:500;background-color:#fff;padding-inline-end:20px;position:relative;z-index:2;margin:0}.head-title:after{content:\"\";position:absolute;width:100%;height:1px;background-color:#dee0e2;top:50%;left:0;right:0;transform:translateY(-50%);z-index:1}.chamber{margin-bottom:20px}.chamber .chamber-content{background-color:#f8f8f8;padding:20px}.chamber .chamber-content .chamber-select{display:flex}.chamber .chamber-content mat-checkbox{font-size:14px}\n"] }]
|
|
43
|
+
}], ctorParameters: () => [{ type: i1.I18nService }, { type: i2.StateMachineService }], propDecorators: { isReadOnly: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], section: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], lov: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], className: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}] } });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC1hcHByb3Zlci1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvdGVzdENvbXBvbmVudC9nZW5lcmFsLWFwcHJvdmVyLXNlY3Rpb24vZ2VuZXJhbC1hcHByb3Zlci1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvdGVzdENvbXBvbmVudC9nZW5lcmFsLWFwcHJvdmVyLXNlY3Rpb24vZ2VuZXJhbC1hcHByb3Zlci1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSXpGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVl4QyxNQUFNLE9BQU8sK0JBQStCO0lBWXZCO0lBRUE7SUFaVixVQUFVLENBQVU7SUFDcEIsT0FBTyxDQUFVO0lBQ2pCLEdBQUcsQ0FBTTtJQUNULFNBQVMsR0FBVyxjQUFjLENBQUM7SUFHNUMsZ0JBQWdCLENBQVM7SUFDekIsYUFBYSxDQUFTO0lBQ3RCLElBQUksQ0FBTztJQUVYLFlBQW1CLElBQWlCO0lBQ3hCLDJEQUEyRDtJQUNwRCxtQkFBd0M7UUFGeEMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUVqQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBSTNELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLHFCQUFxQjtRQUM5Qjs7OztpQkFJUztJQUNQLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBUyxFQUFFLFNBQWlCO1FBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDOUMsQ0FBQzt1R0FsQ1UsK0JBQStCOzJGQUEvQiwrQkFBK0Isc0xDaEI1QywyaEhBNkRBLG95QkRoREksT0FBTzs7MkZBR0UsK0JBQStCO2tCQVYzQyxTQUFTOytCQUNFLDhCQUE4QixjQUc1QixJQUFJLFdBQ1AsQ0FBQyxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQyxXQUMxQzt3QkFDUCxPQUFPO3FCQUNSO2tIQUlRLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0LCBOT19FUlJPUlNfU0NIRU1BfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJMThuU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvaTE4bi5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdGF0ZU1hY2hpbmVTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9zdGF0ZS1tYWNoaW5lLnNlcnZpY2UnO1xyXG5pbXBvcnQge0Zvcm0sIFNlY3Rpb259IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCB7TmdDbGFzc30gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZ2VuZXJhbC1hcHByb3Zlci1zZWN0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ2VuZXJhbC1hcHByb3Zlci1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9nZW5lcmFsLWFwcHJvdmVyLXNlY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOT19FUlJPUlNfU0NIRU1BXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2VuZXJhbEFwcHJvdmVyU2VjdGlvbkNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGlzUmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2VjdGlvbjogU2VjdGlvbjtcclxuICBASW5wdXQoKSBsb3Y6IGFueTtcclxuICBASW5wdXQoKSBjbGFzc05hbWU6IHN0cmluZyA9IFwiaW5mby1zZWN0aW9uXCI7XHJcblxyXG5cclxuICBjdXJyZW50U2VjdGlvbklkOiBzdHJpbmc7XHJcbiAgbGFzdFNlY3Rpb25JZDogc3RyaW5nO1xyXG4gIGZvcm06IEZvcm07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpMThuOiBJMThuU2VydmljZSxcclxuICAgICAgICAgICAgICAvLyBwdWJsaWMgcHJvZmlsZVJlcXVlc3RvclNlcnZpY2U6IFByb2ZpbGVSZXF1ZXN0b3JTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBTdGF0ZU1hY2hpbmVTZXJ2aWNlOiBTdGF0ZU1hY2hpbmVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIC8vIHB1YmxpYyBfbGlzdGVuZXJTZXJ2aWNlOiBMaXN0ZW5lclNlcnZpY2UsXHJcbiAgKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5TZXJ2aWNlc1N1YlNjcmlwdGlvbnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZXJ2aWNlc1N1YlNjcmlwdGlvbnMoKSB7XHJcbi8qICAgIHRoaXMucHJvZmlsZVJlcXVlc3RvclNlcnZpY2UuZ2V0Rm9ybSgpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgdGhpcy5mb3JtID0gZGF0YTtcclxuICAgICAgdGhpcy5sYXN0U2VjdGlvbklkID0gdGhpcy5mb3JtLnNlY3Rpb25zW3RoaXMuZm9ybS5zZWN0aW9ucy5sZW5ndGggLSAxXS5pZDtcclxuICAgICAgdGhpcy5jdXJyZW50U2VjdGlvbklkID0gdGhpcy5zZWN0aW9uLmlkO1xyXG4gICAgfSk7Ki9cclxuICB9XHJcblxyXG4gIGhhbmRsZUVtaXRWYWx1ZShkYXRhOiBhbnksIGZpZWxkTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzW2ZpZWxkTmFtZV0gPSBkYXRhO1xyXG4gIH1cclxuXHJcblxyXG4vKiAgdmFsaWRGb3JtKGFjdGlvbikge1xyXG4gICAgbGV0IHJldHVyblZhbHVlID0gdHJ1ZTtcclxuICAgIGNvbnN0IGxhc3RTZWN0aW9uID0gdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlsc1xyXG4gICAgbGV0IGNvbW1lbnRWYWxpZDtcclxuICAgIGlmIChsYXN0U2VjdGlvbi5jb21tZW50ICYmIGxhc3RTZWN0aW9uLmNvbW1lbnQubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgbGFzdFNlY3Rpb24uY29tbWVudC5sZW5ndGggPj0gMSAmJlxyXG4gICAgICAgIGxhc3RTZWN0aW9uLmNvbW1lbnQubGVuZ3RoIDw9IDIwMDBcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29tbWVudFZhbGlkID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb21tZW50VmFsaWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29tbWVudFZhbGlkID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHN3aXRjaCAoYWN0aW9uKSB7XHJcbiAgICAgIGNhc2UgJ1NVQk1JVCc6XHJcbiAgICAgICAgLy8gaWYgKGxhc3RTZWN0aW9uSWQgPT0gJ3JlcXVlc3REZXRhaWxzJykge1xyXG4gICAgICAgIC8vICAgLyEqIGVtcHR5ICohL1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ0FQUFJPVkUnOlxyXG4gICAgICAgIGlmIChjb21tZW50VmFsaWQpIHtcclxuICAgICAgICAgIHJldHVyblZhbHVlID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuVmFsdWUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ1JFSkVDVCc6XHJcbiAgICAgICAgaWYgKGxhc3RTZWN0aW9uLmNvbW1lbnQgJiYgY29tbWVudFZhbGlkKSB7XHJcbiAgICAgICAgICByZXR1cm5WYWx1ZSA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVyblZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdTRU5EQkFDSyc6XHJcbiAgICAgICAgaWYgKGxhc3RTZWN0aW9uLmNvbW1lbnQgJiYgY29tbWVudFZhbGlkKSB7XHJcbiAgICAgICAgICByZXR1cm5WYWx1ZSA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVyblZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdTQVZFX0NIQU5HRVMnOlxyXG4gICAgICAgIHJldHVyblZhbHVlID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQ0FOQ0VMJzpcclxuICAgICAgICBpZiAobGFzdFNlY3Rpb24uY29tbWVudCAmJiBjb21tZW50VmFsaWQpIHtcclxuICAgICAgICAgIHJldHVyblZhbHVlID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuVmFsdWUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ1NFTkRUT0RPJzpcclxuICAgICAgICByZXR1cm5WYWx1ZSA9IGZhbHNlO1xyXG5cclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiByZXR1cm5WYWx1ZTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KGFjdGlvbjogYW55KSB7XHJcbiAgICBpZiAodGhpcy52YWxpZEZvcm0oYWN0aW9uKSkge1xyXG4gICAgICB0aGlzLnByb2ZpbGVSZXF1ZXN0b3JTZXJ2aWNlLmRpc2FibGVCdXR0b25zID0gdHJ1ZTtcclxuICAgICAgdGhpcy5wcm9maWxlUmVxdWVzdG9yU2VydmljZS5pc1N1Ym1pdHRpbmdbYWN0aW9uXSA9IHRydWU7XHJcbiAgICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICBmdW5jdGlvbjogJ29uU3VibWl0JyxcclxuICAgICAgICBhY3Rpb246IGFjdGlvbixcclxuICAgICAgICBkYXRhOiB0aGlzLnNlY3Rpb25cclxuICAgICAgfTtcclxuICAgICAgdGhpcy5fbGlzdGVuZXJTZXJ2aWNlLmZpbHRlcihvYmopO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXRGb3JtKCkge1xyXG4gICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICBmdW5jdGlvbjogJ3Jlc2V0Rm9ybSdcclxuICAgIH07XHJcbiAgICB0aGlzLl9saXN0ZW5lclNlcnZpY2UuZmlsdGVyKG9iaik7XHJcbiAgfSovXHJcbn1cclxuIiwiPGRpdlxyXG4gIFtuZ0NsYXNzXT1cInsnZm9ybS1zZWN0aW9uLWRpdmlkZSBmb3JtLXNlY3Rpb24nOiFzZWN0aW9uPy5oZWFkZXI/LnJlYWRPbmx5LCdpbmZvLXNlY3Rpb24nOnNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHl9XCI+XHJcbiAgPGRzLWFsZXJ0IGNsYXNzPVwiZnVsbFwiIHR5cGU9XCJ3YXJuaW5nXCIgaWNvbj1cImluZm9cIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yXCI+XHJcbiAgICAgIEdlbmVyYWwgQXBwcm92YWwgd29ya2luZyBmaW5lXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kcy1hbGVydD5cclxuXHJcblxyXG48L2Rpdj5cclxuXHJcblxyXG48IS0tPGRpdiBjbGFzcz1cIm10LTRcIiAqbmdJZj1cIiFzZWN0aW9uPy5oZWFkZXI/LnJlYWRPbmx5XCI+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCIgKm5nSWY9XCJsb3Y/LmRlY2lzaW9uPy50eXBlID09PSAnYnV0dG9uJ1wiPlxyXG4gICAgPGRzLWJ1dHRvbiBzaGFwZT1cInRleHRcIiBjb2xvcj1cInJlZFwiIChjbGljayk9XCJyZXNldEZvcm0oKVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImZzLTE2IGZ3LW1lZGl1bVwiPnt7aTE4bi50cmFuc2xhdGUoJ3Jlc2V0Jyl9fTwvc3Bhbj5cclxuICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtZ3Jvdy0xIGZsZXgtcm93LXJldmVyc2UgZ2FwLTNcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsb3Y/LmRlY2lzaW9uPy5vcHRpb25zXCI+XHJcbiAgICAgICAgPGRzLWJ1dHRvbiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzohdmFsaWRGb3JtKGl0ZW0/LnZhbHVlKSB8fCBwcm9maWxlUmVxdWVzdG9yU2VydmljZS5kaXNhYmxlQnV0dG9uc31cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU3VibWl0KGl0ZW0/LnZhbHVlKSBcIiBbbG9hZGluZ109XCJwcm9maWxlUmVxdWVzdG9yU2VydmljZS5pc1N1Ym1pdHRpbmdbaXRlbT8udmFsdWVdXCJcclxuICAgICAgICAgICpuZ0lmPVwiaXRlbT8udmFsdWUgPT09ICdTVUJNSVQnXCI+e3tpdGVtPy5kZXNjcmlwdGlvbn19PC9kcy1idXR0b24+XHJcblxyXG4gICAgICAgIDxkcy1idXR0b24gW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6IXZhbGlkRm9ybShpdGVtPy52YWx1ZSkgfHwgcHJvZmlsZVJlcXVlc3RvclNlcnZpY2UuZGlzYWJsZUJ1dHRvbnN9XCJcclxuICAgICAgICAgIChjbGljayk9XCJvblN1Ym1pdChpdGVtPy52YWx1ZSkgXCIgW2xvYWRpbmddPVwicHJvZmlsZVJlcXVlc3RvclNlcnZpY2UuaXNTdWJtaXR0aW5nW2l0ZW0/LnZhbHVlXVwiXHJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0/LnZhbHVlID09PSAnQVBQUk9WRSdcIj57e2l0ZW0/LmRlc2NyaXB0aW9ufX08L2RzLWJ1dHRvbj5cclxuICAgICAgICA8ZHMtYnV0dG9uIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOiF2YWxpZEZvcm0oaXRlbT8udmFsdWUpIHx8IHByb2ZpbGVSZXF1ZXN0b3JTZXJ2aWNlLmRpc2FibGVCdXR0b25zfVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25TdWJtaXQoaXRlbT8udmFsdWUpXCIgc2hhcGU9XCJvdXRsaW5lXCIgY29sb3I9XCJyZWRcIlxyXG4gICAgICAgICAgW2xvYWRpbmddPVwicHJvZmlsZVJlcXVlc3RvclNlcnZpY2UuaXNTdWJtaXR0aW5nW2l0ZW0/LnZhbHVlXVwiICpuZ0lmPVwiaXRlbT8udmFsdWUgPT09ICdSRUpFQ1QnXCI+XHJcbiAgICAgICAgICB7e2l0ZW0/LmRlc2NyaXB0aW9ufX08L2RzLWJ1dHRvbj5cclxuICAgICAgICA8ZHMtYnV0dG9uIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOiF2YWxpZEZvcm0oaXRlbT8udmFsdWUpIHx8IHByb2ZpbGVSZXF1ZXN0b3JTZXJ2aWNlLmRpc2FibGVCdXR0b25zfVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25TdWJtaXQoaXRlbT8udmFsdWUpXCIgc2hhcGU9XCJvdXRsaW5lXCIgY29sb3I9XCJyZWRcIlxyXG4gICAgICAgICAgW2xvYWRpbmddPVwicHJvZmlsZVJlcXVlc3RvclNlcnZpY2UuaXNTdWJtaXR0aW5nW2l0ZW0/LnZhbHVlXVwiICpuZ0lmPVwiaXRlbT8udmFsdWUgPT09ICdDQU5DRUwnXCI+XHJcbiAgICAgICAgICB7e2l0ZW0/LmRlc2NyaXB0aW9ufX08L2RzLWJ1dHRvbj5cclxuICAgICAgICA8ZHMtYnV0dG9uIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOiF2YWxpZEZvcm0oaXRlbT8udmFsdWUpIHx8IHByb2ZpbGVSZXF1ZXN0b3JTZXJ2aWNlLmRpc2FibGVCdXR0b25zfVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25TdWJtaXQoaXRlbT8udmFsdWUpXCIgc2hhcGU9XCJvdXRsaW5lXCIgW2xvYWRpbmddPVwicHJvZmlsZVJlcXVlc3RvclNlcnZpY2UuaXNTdWJtaXR0aW5nW2l0ZW0/LnZhbHVlXVwiXHJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0/LnZhbHVlID09PSAnU0VOREJBQ0snXCI+XHJcbiAgICAgICAgICB7e2l0ZW0/LmRlc2NyaXB0aW9ufX08L2RzLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgPGRzLWJ1dHRvbiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzohdmFsaWRGb3JtKGl0ZW0/LnZhbHVlKSB8fCBwcm9maWxlUmVxdWVzdG9yU2VydmljZS5kaXNhYmxlQnV0dG9uc31cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU3VibWl0KGl0ZW0/LnZhbHVlKSBcIiBbbG9hZGluZ109XCJwcm9maWxlUmVxdWVzdG9yU2VydmljZS5pc1N1Ym1pdHRpbmdbaXRlbT8udmFsdWVdXCJcclxuICAgICAgICAgICpuZ0lmPVwiIShpdGVtPy52YWx1ZSA9PT0gJ1NVQk1JVCcgfHwgaXRlbT8udmFsdWUgPT09ICdBUFBST1ZFJyB8fCBpdGVtPy52YWx1ZSA9PT0gJ1NFTkRCQUNLJyB8fCBpdGVtPy52YWx1ZSA9PT0gJ1JFSkVDVCcgfHwgaXRlbT8udmFsdWUgPT09ICdDQU5DRUwnKVwiPnt7aXRlbT8uZGVzY3JpcHRpb259fTwvZHMtYnV0dG9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ncm93LTEganVzdGlmeS1jb250ZW50LWVuZCBnYXAtM1wiXHJcbiAgICAqbmdJZj1cImxvdj8uZGVjaXNpb24/LnR5cGUgIT09ICdidXR0b24nXCI+XHJcbiAgICA8ZHMtYnV0dG9uIHNoYXBlPVwidGV4dFwiIGNvbG9yPVwicmVkXCIgKGNsaWNrKT1cInJlc2V0Rm9ybSgpXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTYgZnctbWVkaXVtXCI+e3tpMThuLnRyYW5zbGF0ZSgncmVzZXQnKX19PC9zcGFuPlxyXG4gICAgPC9kcy1idXR0b24+XHJcbiAgICA8ZHMtYnV0dG9uIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOiF2YWxpZEZvcm0oJ1NVQk1JVCcpfVwiXHJcbiAgICAgIFtsb2FkaW5nXT1cInByb2ZpbGVSZXF1ZXN0b3JTZXJ2aWNlLmlzU3VibWl0dGluZ1tpdGVtPy52YWx1ZV1cIlxyXG4gICAgICAoY2xpY2spPVwib25TdWJtaXQoJ1NVQk1JVCcpIHx8IHByb2ZpbGVSZXF1ZXN0b3JTZXJ2aWNlLmRpc2FibGVCdXR0b25zXCI+XHJcbiAgICAgIHt7aTE4bi50cmFuc2xhdGUoJ3N1Ym1pdCcpfX1cclxuICAgIDwvZHMtYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4tLT5cclxuIl19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as en from '../../i18n/en';
|
|
3
|
+
import * as ar from '../../i18n/ar';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class I18nService {
|
|
6
|
+
locales;
|
|
7
|
+
coreLocales;
|
|
8
|
+
language;
|
|
9
|
+
constructor() {
|
|
10
|
+
// this.language = (window as any).wmConfig.language;
|
|
11
|
+
this.language = "en";
|
|
12
|
+
this.locales = { en: en.default, ar: ar.default };
|
|
13
|
+
}
|
|
14
|
+
translate(key) {
|
|
15
|
+
let result = null;
|
|
16
|
+
try {
|
|
17
|
+
result = this.coreLocales[this.language][key];
|
|
18
|
+
if (!result) {
|
|
19
|
+
result = this.locales[this.language][key];
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
result = null;
|
|
24
|
+
}
|
|
25
|
+
return result || key;
|
|
26
|
+
}
|
|
27
|
+
getLanguage() {
|
|
28
|
+
return this.language;
|
|
29
|
+
}
|
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: I18nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
31
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: I18nService, providedIn: 'any' });
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: I18nService, decorators: [{
|
|
34
|
+
type: Injectable,
|
|
35
|
+
args: [{
|
|
36
|
+
providedIn: 'any',
|
|
37
|
+
}]
|
|
38
|
+
}], ctorParameters: () => [] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi90ZXN0Q29tcG9uZW50L3NlcnZpY2VzL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtwQyxNQUFNLE9BQU8sV0FBVztJQUNkLE9BQU8sQ0FBMkM7SUFDbEQsV0FBVyxDQUEyQztJQUN0RCxRQUFRLENBQVU7SUFFMUI7UUFDRSxxREFBcUQ7UUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFHO1FBQ1gsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTSxDQUFDLEVBQUUsQ0FBQztZQUNSLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sTUFBTSxJQUFJLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO3VHQTNCVSxXQUFXOzJHQUFYLFdBQVcsY0FGUixLQUFLOzsyRkFFUixXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxLQUFLO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgZW4gZnJvbSAnLi4vLi4vaTE4bi9lbic7XHJcbmltcG9ydCAqIGFzIGFyIGZyb20gJy4uLy4uL2kxOG4vYXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ2FueScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJMThuU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBsb2NhbGVzOiB7W2tleTogc3RyaW5nXToge1trZXk6IHN0cmluZ106IHN0cmluZ319O1xyXG4gIHByaXZhdGUgY29yZUxvY2FsZXM6IHtba2V5OiBzdHJpbmddOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfX07XHJcbiAgcHJpdmF0ZSBsYW5ndWFnZSA6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAvLyB0aGlzLmxhbmd1YWdlID0gKHdpbmRvdyBhcyBhbnkpLndtQ29uZmlnLmxhbmd1YWdlO1xyXG4gICAgdGhpcy5sYW5ndWFnZSA9IFwiZW5cIjtcclxuICAgIHRoaXMubG9jYWxlcyA9IHtlbjogZW4uZGVmYXVsdCwgYXI6IGFyLmRlZmF1bHR9O1xyXG4gIH1cclxuXHJcbiAgdHJhbnNsYXRlKGtleSkge1xyXG4gICAgbGV0IHJlc3VsdCA9IG51bGw7XHJcbiAgICB0cnkge1xyXG4gICAgICByZXN1bHQgPSB0aGlzLmNvcmVMb2NhbGVzW3RoaXMubGFuZ3VhZ2VdW2tleV07XHJcbiAgICAgIGlmICghcmVzdWx0KSB7XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5sb2NhbGVzW3RoaXMubGFuZ3VhZ2VdW2tleV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNhdGNoKGUpIHtcclxuICAgICAgcmVzdWx0ID0gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQgfHwga2V5O1xyXG4gIH1cclxuXHJcbiAgZ2V0TGFuZ3VhZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as Constants from '../../constants';
|
|
3
|
+
import { RequestDetailsSectionComponent } from "../request-details-section/request-details-section.component";
|
|
4
|
+
import segmentDynamicLoaderConfiguration from '../config/segment-dynamic-loader.config';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./i18n.service";
|
|
7
|
+
export class SegmentDynamicLoaderService {
|
|
8
|
+
i18n;
|
|
9
|
+
requestDetailsSection = RequestDetailsSectionComponent;
|
|
10
|
+
roleToApprovalSectionMapping = segmentDynamicLoaderConfiguration.roleToApprovalSectionMapping;
|
|
11
|
+
constructor(i18n) {
|
|
12
|
+
this.i18n = i18n;
|
|
13
|
+
}
|
|
14
|
+
getComponent(componentId) {
|
|
15
|
+
if (componentId.toLowerCase() === Constants.SECTION_ID_REQUEST_DETAILS.toLowerCase()) {
|
|
16
|
+
return this.requestDetailsSection;
|
|
17
|
+
}
|
|
18
|
+
let role = componentId.toLowerCase().split(Constants.SECTION_ID_APPROVAL_PARTIAL_NAME.toLowerCase())[0].toLowerCase();
|
|
19
|
+
return this.roleToApprovalSectionMapping[role];
|
|
20
|
+
}
|
|
21
|
+
getSectionName(componentId) {
|
|
22
|
+
if (componentId.toLowerCase() === Constants.SECTION_ID_REQUEST_DETAILS.toLowerCase()) {
|
|
23
|
+
return this.i18n.translate('requestDetailsTitle');
|
|
24
|
+
}
|
|
25
|
+
else if (componentId.toLowerCase() === 'hrRequestDetails'.toLowerCase()) {
|
|
26
|
+
return this.i18n.translate('hrRequestDetailsTitle');
|
|
27
|
+
}
|
|
28
|
+
let role = componentId.toLowerCase().split(Constants.SECTION_ID_APPROVAL_PARTIAL_NAME.toLowerCase())[0].toLowerCase();
|
|
29
|
+
return this.i18n.translate(`${role.toLowerCase()}Role`);
|
|
30
|
+
}
|
|
31
|
+
getPrintPartialName(componentName) {
|
|
32
|
+
if (componentName === Constants.SECTION_ID_REQUEST_DETAILS) {
|
|
33
|
+
return 'sectionrequestDetails';
|
|
34
|
+
}
|
|
35
|
+
else if (componentName === 'wpo_dApproval') {
|
|
36
|
+
return 'sectionGeneralApprover';
|
|
37
|
+
}
|
|
38
|
+
else if (componentName === 'wpo_gmApproval') {
|
|
39
|
+
return 'sectionGeneralApprover';
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return 'sectionGeneralApproval';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SegmentDynamicLoaderService, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
46
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SegmentDynamicLoaderService, providedIn: 'any' });
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SegmentDynamicLoaderService, decorators: [{
|
|
49
|
+
type: Injectable,
|
|
50
|
+
args: [{
|
|
51
|
+
providedIn: 'any',
|
|
52
|
+
}]
|
|
53
|
+
}], ctorParameters: () => [{ type: i1.I18nService }] });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC1keW5hbWljLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi90ZXN0Q29tcG9uZW50L3NlcnZpY2VzL3NlZ21lbnQtZHluYW1pYy1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDNUcsT0FBTyxpQ0FBaUMsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBS3hGLE1BQU0sT0FBTywyQkFBMkI7SUFJbEI7SUFIcEIscUJBQXFCLEdBQUcsOEJBQThCLENBQUM7SUFDdkQsNEJBQTRCLEdBQUcsaUNBQWlDLENBQUMsNEJBQTRCLENBQUM7SUFFOUYsWUFBb0IsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUVyQyxDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQW1CO1FBQzlCLElBQUksV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3JGLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLElBQUksR0FBRyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0MsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RILE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjLENBQUMsV0FBbUI7UUFDaEMsSUFBRyxXQUFXLENBQUMsV0FBVyxFQUFFLEtBQUssU0FBUyxDQUFDLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDcEYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3BELENBQUM7YUFDSSxJQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3ZFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsZ0NBQWdDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsbUJBQW1CLENBQUUsYUFBcUI7UUFJeEMsSUFBSSxhQUFhLEtBQUssU0FBUyxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDM0QsT0FBTyx1QkFBdUIsQ0FBQztRQUNqQyxDQUFDO2FBQ0ksSUFBSSxhQUFhLEtBQUssZUFBZSxFQUFJLENBQUM7WUFBRSxPQUFPLHdCQUF3QixDQUFBO1FBQUEsQ0FBQzthQUN0RSxJQUFJLGFBQWEsS0FBSyxnQkFBZ0IsRUFBSSxDQUFDO1lBQUUsT0FBTyx3QkFBd0IsQ0FBQTtRQUFBLENBQUM7YUFFbkYsQ0FBQztZQUFDLE9BQU8sd0JBQXdCLENBQUE7UUFBQyxDQUFDO0lBRTFDLENBQUM7dUdBdkNVLDJCQUEyQjsyR0FBM0IsMkJBQTJCLGNBRnhCLEtBQUs7OzJGQUVSLDJCQUEyQjtrQkFIdkMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIENvbnN0YW50cyBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4vaTE4bi5zZXJ2aWNlJztcclxuaW1wb3J0IHtSZXF1ZXN0RGV0YWlsc1NlY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHNlZ21lbnREeW5hbWljTG9hZGVyQ29uZmlndXJhdGlvbiBmcm9tICcuLi9jb25maWcvc2VnbWVudC1keW5hbWljLWxvYWRlci5jb25maWcnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ2FueScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWdtZW50RHluYW1pY0xvYWRlclNlcnZpY2Uge1xyXG4gIHJlcXVlc3REZXRhaWxzU2VjdGlvbiA9IFJlcXVlc3REZXRhaWxzU2VjdGlvbkNvbXBvbmVudDtcclxuICByb2xlVG9BcHByb3ZhbFNlY3Rpb25NYXBwaW5nID0gc2VnbWVudER5bmFtaWNMb2FkZXJDb25maWd1cmF0aW9uLnJvbGVUb0FwcHJvdmFsU2VjdGlvbk1hcHBpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaTE4bjogSTE4blNlcnZpY2UpIHtcclxuXHJcbiAgfVxyXG5cclxuICBnZXRDb21wb25lbnQoY29tcG9uZW50SWQ6IHN0cmluZykge1xyXG4gICAgaWYgKGNvbXBvbmVudElkLnRvTG93ZXJDYXNlKCkgPT09IENvbnN0YW50cy5TRUNUSU9OX0lEX1JFUVVFU1RfREVUQUlMUy50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJlcXVlc3REZXRhaWxzU2VjdGlvbjtcclxuICAgIH1cclxuICAgIGxldCByb2xlID0gY29tcG9uZW50SWQudG9Mb3dlckNhc2UoKS5zcGxpdChDb25zdGFudHMuU0VDVElPTl9JRF9BUFBST1ZBTF9QQVJUSUFMX05BTUUudG9Mb3dlckNhc2UoKSlbMF0udG9Mb3dlckNhc2UoKTtcclxuICAgIHJldHVybiB0aGlzLnJvbGVUb0FwcHJvdmFsU2VjdGlvbk1hcHBpbmdbcm9sZV07XHJcbiAgfVxyXG5cclxuICBnZXRTZWN0aW9uTmFtZShjb21wb25lbnRJZDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmKGNvbXBvbmVudElkLnRvTG93ZXJDYXNlKCkgPT09IENvbnN0YW50cy5TRUNUSU9OX0lEX1JFUVVFU1RfREVUQUlMUy50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmkxOG4udHJhbnNsYXRlKCdyZXF1ZXN0RGV0YWlsc1RpdGxlJyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKGNvbXBvbmVudElkLnRvTG93ZXJDYXNlKCkgPT09ICdoclJlcXVlc3REZXRhaWxzJy50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmkxOG4udHJhbnNsYXRlKCdoclJlcXVlc3REZXRhaWxzVGl0bGUnKTtcclxuICAgIH1cclxuICAgIGxldCByb2xlID0gY29tcG9uZW50SWQudG9Mb3dlckNhc2UoKS5zcGxpdChDb25zdGFudHMuU0VDVElPTl9JRF9BUFBST1ZBTF9QQVJUSUFMX05BTUUudG9Mb3dlckNhc2UoKSlbMF0udG9Mb3dlckNhc2UoKTtcclxuICAgIHJldHVybiB0aGlzLmkxOG4udHJhbnNsYXRlKGAke3JvbGUudG9Mb3dlckNhc2UoKX1Sb2xlYCk7XHJcbiAgfVxyXG5cclxuICBnZXRQcmludFBhcnRpYWxOYW1lIChjb21wb25lbnROYW1lOiBzdHJpbmcpIHtcclxuXHJcblxyXG5cclxuICAgIGlmIChjb21wb25lbnROYW1lID09PSBDb25zdGFudHMuU0VDVElPTl9JRF9SRVFVRVNUX0RFVEFJTFMpIHtcclxuICAgICAgcmV0dXJuICdzZWN0aW9ucmVxdWVzdERldGFpbHMnO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoY29tcG9uZW50TmFtZSA9PT0gJ3dwb19kQXBwcm92YWwnICkgIHsgIHJldHVybiAnc2VjdGlvbkdlbmVyYWxBcHByb3Zlcid9XHJcbiAgICAgICAgICBlbHNlIGlmIChjb21wb25lbnROYW1lID09PSAnd3BvX2dtQXBwcm92YWwnICkgIHsgIHJldHVybiAnc2VjdGlvbkdlbmVyYWxBcHByb3Zlcid9XHJcblxyXG4gICAgZWxzZSB7IHJldHVybiAnc2VjdGlvbkdlbmVyYWxBcHByb3ZhbCcgfVxyXG5cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Messages } from "../../interfaces";
|
|
3
|
+
import * as constants from "../../constants";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
import * as i2 from "../../services";
|
|
7
|
+
export class StateMachineService {
|
|
8
|
+
http;
|
|
9
|
+
coreStateMachineService;
|
|
10
|
+
currentSubmitter;
|
|
11
|
+
feedbackForm = false;
|
|
12
|
+
formName;
|
|
13
|
+
serviceName;
|
|
14
|
+
refreshToken;
|
|
15
|
+
pendingForm = false;
|
|
16
|
+
responderForm = false;
|
|
17
|
+
feedBackSent = false;
|
|
18
|
+
feedbackReponse = {
|
|
19
|
+
requestFrom: null,
|
|
20
|
+
requestTo: null,
|
|
21
|
+
requestFeedback: null,
|
|
22
|
+
responseFeedback: null
|
|
23
|
+
};
|
|
24
|
+
transitions;
|
|
25
|
+
state;
|
|
26
|
+
authToken;
|
|
27
|
+
formId;
|
|
28
|
+
isReadOnly;
|
|
29
|
+
inboxUrl;
|
|
30
|
+
isMobile;
|
|
31
|
+
requesterEmail;
|
|
32
|
+
authorizedEmail;
|
|
33
|
+
constructor(http, coreStateMachineService) {
|
|
34
|
+
this.http = http;
|
|
35
|
+
this.coreStateMachineService = coreStateMachineService;
|
|
36
|
+
this.isMobile = window.wmConfig.isMobile;
|
|
37
|
+
this.state = constants.STATE_MACHINE_STATUS_IDLE;
|
|
38
|
+
this.currentSubmitter = null;
|
|
39
|
+
this.authToken = '';
|
|
40
|
+
this.refreshToken = '';
|
|
41
|
+
this.formId = window.wmConfig.formId;
|
|
42
|
+
this.formName = window.wmConfig.formPrefix;
|
|
43
|
+
if (this.formName.includes('-new')) {
|
|
44
|
+
const myArray = this.formName.split("-");
|
|
45
|
+
this.formName = myArray['0'];
|
|
46
|
+
}
|
|
47
|
+
this.inboxUrl = window.wmConfig.inboxUri;
|
|
48
|
+
console.log('inboxUrl', this.inboxUrl);
|
|
49
|
+
console.log('inboxUrl', location.host + this.inboxUrl);
|
|
50
|
+
/* istanbul ignore next */
|
|
51
|
+
this.transitions = {
|
|
52
|
+
idle: {
|
|
53
|
+
mockApi: function (filterData, ...args) {
|
|
54
|
+
let body = {
|
|
55
|
+
method: constants.HTTP_METHOD_GET, //GET - PUT - POST
|
|
56
|
+
destination: constants.TARGET_SERVER_WM,
|
|
57
|
+
serviceName: 'serviceName', //,
|
|
58
|
+
formName: this.formName,
|
|
59
|
+
queryParameters: {}
|
|
60
|
+
};
|
|
61
|
+
let options = this.getRequestOptions();
|
|
62
|
+
let succ = 'serviceResponce';
|
|
63
|
+
return this.callPost(body, succ, options);
|
|
64
|
+
},
|
|
65
|
+
getFileTemplate: function (...args) {
|
|
66
|
+
let [formID] = args;
|
|
67
|
+
this.state = constants.STATE_MACHINE_STATUS_FETCHING;
|
|
68
|
+
let body = {
|
|
69
|
+
method: constants.HTTP_METHOD_GET,
|
|
70
|
+
destination: constants.TARGET_SERVER_WM,
|
|
71
|
+
serviceName: "getFileTemplate",
|
|
72
|
+
formName: "WPO",
|
|
73
|
+
queryParameters: {
|
|
74
|
+
formID: formID,
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
let options = this.getRequestOptions();
|
|
78
|
+
let succ = constants.STATE_MACHINE_ACTION_SUCCESS_RESPONSE;
|
|
79
|
+
return this.callPost(body, succ, options);
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
fetching: {
|
|
83
|
+
serviceResponce: function (...args) {
|
|
84
|
+
let [payload] = args;
|
|
85
|
+
let result = payload;
|
|
86
|
+
this.state = constants.STATE_MACHINE_STATUS_IDLE;
|
|
87
|
+
return result;
|
|
88
|
+
},
|
|
89
|
+
failure: function (...args) {
|
|
90
|
+
let [errors] = args;
|
|
91
|
+
this.state = constants.STATE_MACHINE_STATUS_ERROR;
|
|
92
|
+
return this.dispatch(constants.STATE_MACHINE_ACTION_HANDLE_ERROR, errors);
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
error: {
|
|
96
|
+
handleError: function (...args) {
|
|
97
|
+
let [errors] = args;
|
|
98
|
+
let result = new Messages({}, [], [], []);
|
|
99
|
+
if (errors?.meta?.messages) {
|
|
100
|
+
errors.meta.messages.forEach((message) => {
|
|
101
|
+
result[message.type].push(message.message);
|
|
102
|
+
if (message.payloadReference) {
|
|
103
|
+
let payloadReferenceTokens = message.payloadReference.split('/');
|
|
104
|
+
payloadReferenceTokens.slice(1, payloadReferenceTokens.length - 1);
|
|
105
|
+
let element = result.errorFields;
|
|
106
|
+
payloadReferenceTokens.forEach((token) => {
|
|
107
|
+
element[token] = {};
|
|
108
|
+
element = element[token];
|
|
109
|
+
});
|
|
110
|
+
element = true;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
else if (errors?.errors) {
|
|
115
|
+
errors.errors.forEach((message) => {
|
|
116
|
+
result['error'].push(message.message);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
this.state = constants.STATE_MACHINE_STATUS_IDLE;
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
sending: {
|
|
124
|
+
failure: function (...args) {
|
|
125
|
+
let [errors] = args;
|
|
126
|
+
this.state = constants.STATE_MACHINE_STATUS_ERROR;
|
|
127
|
+
return this.dispatch(constants.STATE_MACHINE_ACTION_HANDLE_ERROR, errors);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
dispatch(actionName, ...args) {
|
|
133
|
+
const actions = this.transitions[this.state];
|
|
134
|
+
const action = actions[actionName];
|
|
135
|
+
if (action) {
|
|
136
|
+
return action.apply(this, args);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: StateMachineService, deps: [{ token: i1.HttpClient }, { token: i2.CoreService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
140
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: StateMachineService, providedIn: 'any' });
|
|
141
|
+
}
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: StateMachineService, decorators: [{
|
|
143
|
+
type: Injectable,
|
|
144
|
+
args: [{
|
|
145
|
+
providedIn: 'any',
|
|
146
|
+
}]
|
|
147
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.CoreService }] });
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtbWFjaGluZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi90ZXN0Q29tcG9uZW50L3NlcnZpY2VzL3N0YXRlLW1hY2hpbmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxRQUFRLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEtBQUssU0FBUyxNQUFNLGlCQUFpQixDQUFDOzs7O0FBSzdDLE1BQU0sT0FBTyxtQkFBbUI7SUF3QlY7SUFBMEI7SUF2QnRDLGdCQUFnQixDQUFNO0lBQzlCLFlBQVksR0FBWSxLQUFLLENBQUM7SUFDdEIsUUFBUSxDQUFTO0lBQ2pCLFdBQVcsQ0FBVTtJQUNyQixZQUFZLENBQVM7SUFDN0IsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUM3QixhQUFhLEdBQVksS0FBSyxDQUFDO0lBQy9CLFlBQVksR0FBWSxLQUFLLENBQUM7SUFDOUIsZUFBZSxHQUFRO1FBQ3JCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsZUFBZSxFQUFFLElBQUk7UUFDckIsZ0JBQWdCLEVBQUUsSUFBSTtLQUN2QixDQUFDO0lBQ00sV0FBVyxDQUFpRDtJQUM1RCxLQUFLLENBQVM7SUFDZCxTQUFTLENBQVM7SUFDbEIsTUFBTSxDQUFTO0lBQ2hCLFVBQVUsQ0FBUztJQUNuQixRQUFRLENBQVM7SUFDaEIsUUFBUSxDQUFVO0lBQ2xCLGNBQWMsQ0FBVTtJQUN4QixlQUFlLENBQVU7SUFDakMsWUFBb0IsSUFBZ0IsRUFBVSx1QkFBb0M7UUFBOUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBYTtRQUNoRixJQUFJLENBQUMsUUFBUSxHQUFJLE1BQWMsQ0FBQyxR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O0lBQ0gsQ0FBQzt1R0E5SVUsbUJBQW1COzJHQUFuQixtQkFBbUIsY0FGaEIsS0FBSzs7MkZBRVIsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxLQUFLO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7Q29yZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQgeyBNZXNzYWdlc30gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXNcIjtcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdhbnknLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RhdGVNYWNoaW5lU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjdXJyZW50U3VibWl0dGVyOiBhbnk7XHJcbiAgZmVlZGJhY2tGb3JtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBmb3JtTmFtZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgc2VydmljZU5hbWUhOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSByZWZyZXNoVG9rZW46IHN0cmluZztcclxuICBwZW5kaW5nRm9ybTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHJlc3BvbmRlckZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuICBmZWVkQmFja1NlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBmZWVkYmFja1JlcG9uc2U6IGFueSA9IHtcclxuICAgIHJlcXVlc3RGcm9tOiBudWxsLFxyXG4gICAgcmVxdWVzdFRvOiBudWxsLFxyXG4gICAgcmVxdWVzdEZlZWRiYWNrOiBudWxsLFxyXG4gICAgcmVzcG9uc2VGZWVkYmFjazogbnVsbFxyXG4gIH07XHJcbiAgcHJpdmF0ZSB0cmFuc2l0aW9uczogeyBba2V5OiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IEZ1bmN0aW9uIH0gfTtcclxuICBwcml2YXRlIHN0YXRlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBhdXRoVG9rZW46IHN0cmluZztcclxuICBwcml2YXRlIGZvcm1JZDogc3RyaW5nO1xyXG4gIHB1YmxpYyBpc1JlYWRPbmx5OiBzdHJpbmc7XHJcbiAgcHVibGljIGluYm94VXJsOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBpc01vYmlsZTogYm9vbGVhbjtcclxuICBwcml2YXRlIHJlcXVlc3RlckVtYWlsITogc3RyaW5nO1xyXG4gIHByaXZhdGUgYXV0aG9yaXplZEVtYWlsITogc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjb3JlU3RhdGVNYWNoaW5lU2VydmljZTogQ29yZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuaXNNb2JpbGUgPSAod2luZG93IGFzIGFueSkud21Db25maWcuaXNNb2JpbGU7XHJcbiAgICB0aGlzLnN0YXRlID0gY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfU1RBVFVTX0lETEU7XHJcbiAgICB0aGlzLmN1cnJlbnRTdWJtaXR0ZXIgPSBudWxsO1xyXG4gICAgdGhpcy5hdXRoVG9rZW4gPSAnJztcclxuICAgIHRoaXMucmVmcmVzaFRva2VuID0gJyc7XHJcbiAgICB0aGlzLmZvcm1JZCA9ICh3aW5kb3cgYXMgYW55KS53bUNvbmZpZy5mb3JtSWQ7XHJcbiAgICB0aGlzLmZvcm1OYW1lID0od2luZG93IGFzIGFueSkud21Db25maWcuZm9ybVByZWZpeDtcclxuICAgIGlmKHRoaXMuZm9ybU5hbWUuaW5jbHVkZXMoJy1uZXcnKSl7XHJcbiAgICAgIGNvbnN0IG15QXJyYXkgPSB0aGlzLmZvcm1OYW1lLnNwbGl0KFwiLVwiKTtcclxuICAgICAgdGhpcy5mb3JtTmFtZSA9IG15QXJyYXlbJzAnXVxyXG4gICAgfVxyXG4gICAgdGhpcy5pbmJveFVybCA9ICh3aW5kb3cgYXMgYW55KS53bUNvbmZpZy5pbmJveFVyaTtcclxuICAgIGNvbnNvbGUubG9nKCdpbmJveFVybCcsIHRoaXMuaW5ib3hVcmwpO1xyXG4gICAgY29uc29sZS5sb2coJ2luYm94VXJsJywgbG9jYXRpb24uaG9zdCArIHRoaXMuaW5ib3hVcmwpO1xyXG5cclxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xyXG4gICAgdGhpcy50cmFuc2l0aW9ucyA9IHtcclxuICAgICAgaWRsZToge1xyXG4gICAgICAgIG1vY2tBcGk6IGZ1bmN0aW9uIChmaWx0ZXJEYXRhLCAuLi5hcmdzKSB7XHJcbiAgICAgICAgICBsZXQgYm9keSA9IHtcclxuICAgICAgICAgICAgbWV0aG9kOiBjb25zdGFudHMuSFRUUF9NRVRIT0RfR0VULCAvL0dFVCAtIFBVVCAtIFBPU1RcclxuICAgICAgICAgICAgZGVzdGluYXRpb246IGNvbnN0YW50cy5UQVJHRVRfU0VSVkVSX1dNLFxyXG4gICAgICAgICAgICBzZXJ2aWNlTmFtZTogJ3NlcnZpY2VOYW1lJywgLy8sXHJcbiAgICAgICAgICAgIGZvcm1OYW1lOiB0aGlzLmZvcm1OYW1lLFxyXG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnM6IHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxldCBvcHRpb25zID0gdGhpcy5nZXRSZXF1ZXN0T3B0aW9ucygpO1xyXG4gICAgICAgICAgbGV0IHN1Y2MgPSAnc2VydmljZVJlc3BvbmNlJztcclxuICAgICAgICAgIHJldHVybiB0aGlzLmNhbGxQb3N0KGJvZHksIHN1Y2MsIG9wdGlvbnMpO1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIGdldEZpbGVUZW1wbGF0ZTogZnVuY3Rpb24oLi4uYXJncykge1xyXG4gICAgICAgICAgbGV0IFtmb3JtSURdID0gYXJncztcclxuICAgICAgICAgIHRoaXMuc3RhdGUgPSBjb25zdGFudHMuU1RBVEVfTUFDSElORV9TVEFUVVNfRkVUQ0hJTkc7XHJcbiAgICAgICAgICBsZXQgYm9keSA9IHtcclxuICAgICAgICAgICAgbWV0aG9kOiBjb25zdGFudHMuSFRUUF9NRVRIT0RfR0VULFxyXG4gICAgICAgICAgICBkZXN0aW5hdGlvbjogY29uc3RhbnRzLlRBUkdFVF9TRVJWRVJfV00sXHJcbiAgICAgICAgICAgIHNlcnZpY2VOYW1lOiBcImdldEZpbGVUZW1wbGF0ZVwiLFxyXG4gICAgICAgICAgICBmb3JtTmFtZTogXCJXUE9cIixcclxuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzOiB7XHJcbiAgICAgICAgICAgICAgZm9ybUlEOiBmb3JtSUQsXHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgbGV0IG9wdGlvbnMgPSB0aGlzLmdldFJlcXVlc3RPcHRpb25zKCk7XHJcbiAgICAgICAgICBsZXQgc3VjYyA9IGNvbnN0YW50cy5TVEFURV9NQUNISU5FX0FDVElPTl9TVUNDRVNTX1JFU1BPTlNFO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2FsbFBvc3QoYm9keSwgc3VjYywgb3B0aW9ucyk7XHJcbiAgICAgICAgfSxcclxuXHJcblxyXG5cclxuXHJcbiAgICAgIH0sXHJcbiAgICAgIGZldGNoaW5nOiB7XHJcbiAgICAgICAgc2VydmljZVJlc3BvbmNlOiBmdW5jdGlvbiAoLi4uYXJnczogYW55KSB7XHJcbiAgICAgICAgICBsZXQgW3BheWxvYWRdID0gYXJncztcclxuICAgICAgICAgIGxldCByZXN1bHQgPSBwYXlsb2FkO1xyXG4gICAgICAgICAgdGhpcy5zdGF0ZSA9IGNvbnN0YW50cy5TVEFURV9NQUNISU5FX1NUQVRVU19JRExFO1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZhaWx1cmU6IGZ1bmN0aW9uICguLi5hcmdzKSB7XHJcbiAgICAgICAgICBsZXQgW2Vycm9yc10gPSBhcmdzO1xyXG4gICAgICAgICAgdGhpcy5zdGF0ZSA9IGNvbnN0YW50cy5TVEFURV9NQUNISU5FX1NUQVRVU19FUlJPUjtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmRpc3BhdGNoKGNvbnN0YW50cy5TVEFURV9NQUNISU5FX0FDVElPTl9IQU5ETEVfRVJST1IsIGVycm9ycyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjoge1xyXG4gICAgICAgIGhhbmRsZUVycm9yOiBmdW5jdGlvbiAoLi4uYXJncykge1xyXG4gICAgICAgICAgbGV0IFtlcnJvcnNdID0gYXJncztcclxuICAgICAgICAgIGxldCByZXN1bHQgPSBuZXcgTWVzc2FnZXMoXHJcbiAgICAgICAgICAgIHt9LFxyXG4gICAgICAgICAgICBbXSxcclxuICAgICAgICAgICAgW10sXHJcbiAgICAgICAgICAgIFtdXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgaWYgKGVycm9ycz8ubWV0YT8ubWVzc2FnZXMpIHtcclxuICAgICAgICAgICAgZXJyb3JzLm1ldGEubWVzc2FnZXMuZm9yRWFjaCgobWVzc2FnZSkgPT4ge1xyXG4gICAgICAgICAgICAgIHJlc3VsdFttZXNzYWdlLnR5cGVdLnB1c2gobWVzc2FnZS5tZXNzYWdlKTtcclxuICAgICAgICAgICAgICBpZiAobWVzc2FnZS5wYXlsb2FkUmVmZXJlbmNlKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcGF5bG9hZFJlZmVyZW5jZVRva2VucyA9IG1lc3NhZ2UucGF5bG9hZFJlZmVyZW5jZS5zcGxpdCgnLycpO1xyXG4gICAgICAgICAgICAgICAgcGF5bG9hZFJlZmVyZW5jZVRva2Vucy5zbGljZSgxLCBwYXlsb2FkUmVmZXJlbmNlVG9rZW5zLmxlbmd0aCAtIDEpO1xyXG4gICAgICAgICAgICAgICAgbGV0IGVsZW1lbnQgPSByZXN1bHQuZXJyb3JGaWVsZHM7XHJcbiAgICAgICAgICAgICAgICBwYXlsb2FkUmVmZXJlbmNlVG9rZW5zLmZvckVhY2goKHRva2VuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGVsZW1lbnRbdG9rZW5dID0ge307XHJcbiAgICAgICAgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50W3Rva2VuXTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICBlbGVtZW50ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChlcnJvcnM/LmVycm9ycykge1xyXG4gICAgICAgICAgICBlcnJvcnMuZXJyb3JzLmZvckVhY2goKG1lc3NhZ2UpID0+IHtcclxuICAgICAgICAgICAgICByZXN1bHRbJ2Vycm9yJ10ucHVzaChtZXNzYWdlLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc3RhdGUgPSBjb25zdGFudHMuU1RBVEVfTUFDSElORV9TVEFUVVNfSURMRTtcclxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBzZW5kaW5nOiB7XHJcbiAgICAgICAgZmFpbHVyZTogZnVuY3Rpb24gKC4uLmFyZ3MpIHtcclxuICAgICAgICAgIGxldCBbZXJyb3JzXSA9IGFyZ3M7XHJcbiAgICAgICAgICB0aGlzLnN0YXRlID0gY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfU1RBVFVTX0VSUk9SO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2goY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX0hBTkRMRV9FUlJPUiwgZXJyb3JzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBkaXNwYXRjaChhY3Rpb25OYW1lLCAuLi5hcmdzKSB7XHJcbiAgICBjb25zdCBhY3Rpb25zID0gdGhpcy50cmFuc2l0aW9uc1t0aGlzLnN0YXRlXTtcclxuICAgIGNvbnN0IGFjdGlvbiA9IGFjdGlvbnNbYWN0aW9uTmFtZV07XHJcblxyXG4gICAgaWYgKGFjdGlvbikge1xyXG4gICAgICByZXR1cm4gYWN0aW9uLmFwcGx5KHRoaXMsIGFyZ3MpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbi8qICBwcml2YXRlIGdldFJlcXVlc3RPcHRpb25zKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICBhdXRoVG9rZW46IHRoaXMuY29yZVN0YXRlTWFjaGluZVNlcnZpY2UuZ2V0U2Vzc2lvblRva2VuKCksXHJcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6IGNvbnN0YW50cy5IRUFERVJfQ09OVEVOVF9UWVBFX0ZPUk1cclxuICAgICAgfSksXHJcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZSdcclxuICAgIH1cclxuICB9Ki9cclxuXHJcbiAgLypwdWJsaWMgY2FsbFBvc3QoYm9keSwgc3VjYywgb3B0aW9ucykge1xyXG4gICAgbGV0IGFwaVVybCA9IGVudmlyb25tZW50LnByb3h5U2VydmljZUJhc2VVcmwgKyAod2luZG93IGFzIGFueSkud21Db25maWcubGFuZ3VhZ2UgKyBlbnZpcm9ubWVudC5wcm94eUZ1bGxBZGRyZXNzICsgZW52aXJvbm1lbnQucHJveHlTZXJ2aWNlRXhlY3V0ZTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlVcmwsIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShib2R5KSksIG9wdGlvbnMpLnRvUHJvbWlzZSgpXHJcbiAgICAgIC50aGVuKFxyXG4gICAgICAgIChyZXNwb25zZU9iamVjdDogYW55KSA9PiB7XHJcbiAgICAgICAgICBsZXQgcGF5bG9hZCA9IHJlc3BvbnNlT2JqZWN0LmJvZHk7XHJcbiAgICAgICAgICB0aGlzLnN0YXRlID0gY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfU1RBVFVTX0ZFVENISU5HO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2goc3VjYywgcGF5bG9hZCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgKS5jYXRjaChcclxuICAgICAgICAoaHR0cEVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIGxldCByZXNwb25zZUVycm9yID0gaHR0cEVycm9yLmVycm9yO1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlRXJyb3IpIHtcclxuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IGNvbnN0YW50cy5TVEFURV9NQUNISU5FX1NUQVRVU19GRVRDSElORztcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2goY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX0ZBSUxVUkUsIHJlc3BvbnNlRXJyb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBjb25zdGFudHMuU1RBVEVfTUFDSElORV9TVEFUVVNfSURMRTtcclxuICAgICAgICAgICAgdGhyb3cgaHR0cEVycm9yO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9Ki9cclxufVxyXG4iXX0=
|