bpm-core 0.0.59 → 0.0.60
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/components/app-component-sections/main-request-details/main-request-details.component.mjs +3 -3
- package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +3 -3
- package/esm2022/lib/components/app-component-sections/workflow-section/workflow-section.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +14 -7
- package/esm2022/lib/components/shared-components/form-field/control-value-accessor.directive.mjs +6 -4
- package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs +4 -3
- package/esm2022/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.mjs +8 -4
- package/esm2022/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/form-label/form-label.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/input-currency/input-currency.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/input-email/input-email.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/input-mask/input-mask.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/input-number/input-number.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +23 -8
- package/esm2022/lib/components/shared-components/form-field/radio/radio.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +22 -17
- package/esm2022/lib/components/shared-components/form-field/textarea/textarea.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/toggle-button/toggle-button.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/validation-errors/validation-errors.component.mjs +1 -2
- package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +27 -4
- package/fesm2022/bpm-core.mjs +142 -87
- package/fesm2022/bpm-core.mjs.map +1 -1
- package/lib/components/shared-components/form-field/checkbox/checkbox.component.d.ts +3 -2
- package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +2 -1
- package/lib/components/shared-components/form-field/input-telephone/input-telephone.component.d.ts +7 -1
- package/lib/components/shared-components/form-field/shared-imports.d.ts +2 -2
- package/lib/testComponent/request-details-section/request-details-section.component.d.ts +3 -1
- package/package.json +1 -1
- package/src/lib/assets/scss/_general.scss +64 -152
- package/src/lib/assets/scss/_upgrade.scss +6 -0
- package/src/lib/assets/scss/base.scss +21 -16
|
@@ -14,9 +14,8 @@ import * as i2 from "@angular/material/core";
|
|
|
14
14
|
import * as i3 from "@angular/forms";
|
|
15
15
|
import * as i4 from "@ncstate/sat-popover";
|
|
16
16
|
import * as i5 from "../form-label/form-label.component";
|
|
17
|
-
import * as i6 from "../
|
|
18
|
-
import * as i7 from "
|
|
19
|
-
import * as i8 from "../../../../pipes/translate.pipe";
|
|
17
|
+
import * as i6 from "../info-item/info-item.component";
|
|
18
|
+
import * as i7 from "../../../../pipes/translate.pipe";
|
|
20
19
|
export class SearchEmployeeComponent extends ControlValueAccessorDirective {
|
|
21
20
|
valueName;
|
|
22
21
|
className = 'bordered-input';
|
|
@@ -37,7 +36,7 @@ export class SearchEmployeeComponent extends ControlValueAccessorDirective {
|
|
|
37
36
|
destroyRef = inject(DestroyRef);
|
|
38
37
|
deleteRow(ind, rowData) {
|
|
39
38
|
if (!this.isReadOnly) {
|
|
40
|
-
this.arrayList = this.arrayList
|
|
39
|
+
this.arrayList = this.arrayList?.filter((item, index) => {
|
|
41
40
|
return index != ind;
|
|
42
41
|
});
|
|
43
42
|
const obj = {
|
|
@@ -46,6 +45,12 @@ export class SearchEmployeeComponent extends ControlValueAccessorDirective {
|
|
|
46
45
|
};
|
|
47
46
|
this.emitedDeletedValue.emit(obj);
|
|
48
47
|
}
|
|
48
|
+
if (!this.arrayList?.length && this.multiple) {
|
|
49
|
+
this.employeeSearchControl.markAsTouched();
|
|
50
|
+
this.control.setValue([]);
|
|
51
|
+
this.control.setValidators(this.Validators['required']);
|
|
52
|
+
this.control.updateValueAndValidity();
|
|
53
|
+
}
|
|
49
54
|
}
|
|
50
55
|
onLoadOptions(event) {
|
|
51
56
|
const input = event.target.value;
|
|
@@ -91,23 +96,23 @@ export class SearchEmployeeComponent extends ControlValueAccessorDirective {
|
|
|
91
96
|
this.selected = true;
|
|
92
97
|
this.data = [];
|
|
93
98
|
if (this.multiple) {
|
|
94
|
-
if (this.arrayList
|
|
99
|
+
if (this.arrayList?.some((item) => item?.personEmail === object?.email)) {
|
|
95
100
|
this.userAlreadyExist = true;
|
|
96
101
|
return;
|
|
97
102
|
}
|
|
98
103
|
let obj = {
|
|
99
104
|
personName: object.name,
|
|
100
105
|
personEmail: object.email,
|
|
101
|
-
job: object.job.name,
|
|
102
|
-
jobCode: object.job.code,
|
|
103
|
-
manager: object.manager,
|
|
104
|
-
department: object.department,
|
|
105
|
-
generalDepartment: object.generalDepartment,
|
|
106
|
-
sector: object.sector,
|
|
107
|
-
section: object.section,
|
|
108
|
-
seniorSectorName: object.seniorSectorName,
|
|
106
|
+
// job: object.job.name,
|
|
107
|
+
// jobCode: object.job.code,
|
|
108
|
+
// manager: object.manager,
|
|
109
|
+
// department: object.department,
|
|
110
|
+
// generalDepartment: object.generalDepartment,
|
|
111
|
+
// sector: object.sector,
|
|
112
|
+
// section: object.section,
|
|
113
|
+
// seniorSectorName: object.seniorSectorName,
|
|
109
114
|
};
|
|
110
|
-
this.arrayList
|
|
115
|
+
this.arrayList?.push(obj);
|
|
111
116
|
this.control.setValue(this.arrayList);
|
|
112
117
|
}
|
|
113
118
|
else {
|
|
@@ -126,7 +131,7 @@ export class SearchEmployeeComponent extends ControlValueAccessorDirective {
|
|
|
126
131
|
useExisting: forwardRef(() => SearchEmployeeComponent),
|
|
127
132
|
multi: true,
|
|
128
133
|
},
|
|
129
|
-
], usesInheritance: true, ngImport: i0, template: "@if (!isReadOnly) {\r\n <ng-container>\r\n @if(label) {\r\n <app-form-label [label]=\"label\" [optional]=\"!required\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n <mat-form-field class=\"primary-form {{className}}\" [floatLabel]=\"floatLabel\">\r\n <mat-label>{{ label }}</mat-label>\r\n <ds-icon icon=\"search\" class=\"fc-coral fs-18\"></ds-icon>\r\n <label class=\"mat-form-content\">\r\n <input\r\n type=\"text\" aria-label=\"Number\" (input)=\"onLoadOptions($event)\" matInput [disabled]=\"isDisabled\"\r\n [matAutocomplete]=\"auto\" [formControl]=\"employeeSearchControl\" [value]=\"control.value\">\r\n </label>\r\n @if (loading) {\r\n <span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix></span>\r\n }\r\n <mat-autocomplete #auto=\"matAutocomplete\">\r\n @for (option of data; track option) {\r\n <mat-option\r\n [value]=\"option?.['personName']\"\r\n (onSelectionChange)=\"selectOption(option, $event)\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"img-card circled-img small\">\r\n <img [src]=\"getImage(option?.email)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <span class=\"mx-2\"></span>\r\n <div class=\"line-height-1\">\r\n <h6 class=\"fs-17 fw-medium fc-onyx mb-0 line-height-1\">{{ option?.name }}</h6>\r\n <span class=\"fs-13 fw-normal fc-dark-gray\">{{ option?.description }}</span>\r\n </div>\r\n </div>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n @if (showHint) {\r\n <mat-hint>\r\n <span class=\"sfi sfi-check-circle font-10 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp': value}\"></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n <app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n @if (userAlreadyExist) {\r\n <mat-error class=\"mb-2\">{{ 'userAlreadyExist' | translate }}</mat-error>\r\n }\r\n @if (arrayList?.length && !isReadOnly && multiple) {\r\n <div class=\"col-12 mt-2\">\r\n <div class=\"example-list n-results\">\r\n @for (emails of arrayList; track $index) {\r\n <div class=\"example-box n-col px-3\" [ngClass]=\"{'mt-0': $index === 0}\">\r\n <div class=\"d-flex flex-grow-1 w-100\">\r\n <div class=\"user-info flex-grow-1\">\r\n <img alt=\"user image\" [src]=\"getImage(emails?.['personEmail'])\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" class=\"prof-img\" draggable=\"false\">\r\n @if (emails?.['personName']) {\r\n <label>\r\n {{ emails?.['personName'] }}\r\n <span class=\"title\">{{ emails?.['personEmail'] }}</span>\r\n </label>\r\n }\r\n </div>\r\n @if (!isReadOnly) {\r\n <ds-button class=\"ds-btn-action\" size=\"small\" (click)=\"deleteRow($index, emails)\" icon>\r\n <ds-icon icon=\"trash\" class=\"fc-red fs-20\"></ds-icon>\r\n </ds-button>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </ng-container>\r\n}\r\n\r\n@if (isReadOnly) {\r\n <ng-container>\r\n <app-info-item\r\n class=\"info-item\" type=\"user-picker\" [hasLabel]=\"!!label\"\r\n [multiple]=\"multiple\" [ngClass]=\"{'user-picker': !isReadOnly}\" [actionType]=\"!isReadOnly ? 'delete' : 'edit'\"\r\n [label]=\"label\" [name]=\"control.value['personName']\" [value]=\"control.value['personEmail']\" [arrayList]=\"arrayList\">\r\n </app-info-item>\r\n </ng-container>\r\n}\r\n\r\n<sat-popover #searchEmpPopover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"default-popover p-3\">\r\n <ol class=\"px-3 m-0\">\r\n <li>{{ 'searchEmployeeTooltip_1' | translate }}</li>\r\n <li>{{ 'searchEmployeeTooltip_2' | translate }}</li>\r\n <li>{{ 'searchEmployeeTooltip_3' | translate }}</li>\r\n <li>{{ 'searchEmployeeTooltip_4' | translate }}</li>\r\n </ol>\r\n </div>\r\n</sat-popover>", styles: [".small-input~.btn{height:41px}:host{flex-grow:1}.agenda-list.inside .mat-list-item{display:flex;align-items:center;padding:0 1rem;background-color:#fff;border:1px solid silver;height:88px!important}.agenda-list.inside .mat-list-item:before{position:relative;left:auto;right:auto}.agenda-list .mat-list-item{height:66px!important;background-color:#d3d3d3;margin-bottom:1.5rem;cursor:move}.agenda-list .mat-list-item:hover:before{opacity:1}.agenda-list .mat-list-item:before{content:\"\\e928\";font-family:stc-font-icons;left:-1.5rem;color:#a9a9a9;position:absolute;font-size:1.5rem;opacity:0;transition:all .3s linear}[dir=rtl] .agenda-list .mat-list-item:before{left:auto;right:-1.5rem}.agenda-list .mat-list-item:last-child{margin-bottom:0}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:0;overflow:hidden}.example-box{color:#000000de;display:flex;box-sizing:border-box;cursor:move;font-size:14px;position:relative;background-color:#f3f3f1;padding:18px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding-inline-start:50px;border:0;flex-direction:column;width:100%}.example-box .user-info{display:flex;align-items:center}.example-box .user-info .drag-icon{position:absolute;left:18px;cursor:move}html[dir=rtl] .example-box .user-info .drag-icon{left:auto;right:18px}.example-box .user-info .prof-img{width:40px;height:40px;border-radius:50%;border:2px solid #fff;margin-inline-end:10px}.example-box .user-info label{font-size:13px;font-weight:500;color:#1d242d;flex-grow:1}.example-box .user-info label .title{display:block;color:#ff375e;font-size:9px}.example-box .user-info-reviewer{display:flex;gap:.5rem;width:calc(100% + 68px);padding:10px 15px;margin:10px 0 -18px -50px;background-color:#dde0e1}[dir=rtl] .example-box .user-info-reviewer{margin:10px -50px -18px 0}.example-box .user-info-reviewer .drag-icon{position:absolute;transform:translateY(-50%);cursor:move}.example-box .user-info-reviewer .reviewer-info{display:flex}.example-box .user-info-reviewer .reviewer-info .prof-img{width:20px;height:20px;border-radius:50%;border:1px solid #fff;margin:0 5px}.example-box .user-info-reviewer .reviewer-info label{font-size:11px;font-weight:500;color:#000;width:100px;margin-top:1px}.example-box .user-info-reviewer .reviewer-info label .title{display:block;color:#ff375e;font-size:11px}.example-box .user-info-reviewer span{color:#a54ee1;font-size:11px;padding:0;margin-bottom:0;display:block;text-align:start}.example-box .icon{width:30px;height:30px;background-color:#ff375e33;text-align:center;line-height:26px;cursor:pointer;flex-shrink:0}.cdk-drag-preview{box-sizing:border-box;border-radius:0;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;overflow:hidden}.cdk-drag-preview .icon{display:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.n-content{max-width:700px;width:100%}.n-results{width:100%;border:0;counter-reset:section}.n-results .n-col{position:relative;background-color:#f3f3f1;padding:10px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding-inline-start:50px;border:0;flex-direction:column;width:100%}.n-results .n-col:last-child{margin-bottom:30px}.n-results .n-col:after,.n-results .n-col:before{display:none}@media (max-width: 991px){.example-box .user-info:before{margin-inline-end:10px;flex-shrink:0}}@media (max-width: 767px){.n-col{padding-inline-start:40px}.n-col .user-info-reviewer span{margin-bottom:0}}@media (max-width: 321px){.n-results .n-col{flex-wrap:wrap;justify-content:center}.n-results .n-col .user-info{justify-content:center}.n-results .n-col .user-info:before{position:absolute;top:15px;left:15px}.n-results .n-col .user-info .prof-img{margin:0 10px 10px}.n-results .n-col .user-info label{width:100%;text-align:center}.n-results .n-col .icon{width:100%}}::ng-deep .default-popover{max-width:320px;right:-2.5rem!important}[dir=rtl] ::ng-deep .default-popover{left:-2.5rem!important;right:auto}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i4.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "component", type: i5.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i6.ValidationErrorsComponent, selector: "app-validation-errors", inputs: ["errors", "customErrorMessages"] }, { kind: "component", type: i7.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i3.ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
|
134
|
+
], usesInheritance: true, ngImport: i0, template: "@if (!isReadOnly) {\r\n<ng-container>\r\n @if(label) {\r\n <app-form-label\r\n [label]=\"label\"\r\n [optional]=\"!control.hasValidator(Validators['required'])\" \r\n [tooltip]=\"tooltip\"\r\n ></app-form-label>\r\n }\r\n <mat-form-field\r\n class=\"primary-form {{ className }}\"\r\n [floatLabel]=\"floatLabel\"\r\n [ngClass]=\"{\r\n 'custom-validation': !control.errors\r\n }\"\r\n >\r\n <mat-label>{{ label }}</mat-label>\r\n <ds-icon icon=\"search\" class=\"fc-coral fs-18\"></ds-icon>\r\n <label class=\"mat-form-content\">\r\n <input\r\n type=\"text\"\r\n aria-label=\"Number\"\r\n (input)=\"onLoadOptions($event)\"\r\n matInput\r\n [disabled]=\"isDisabled\"\r\n [matAutocomplete]=\"auto\"\r\n [formControl]=\"employeeSearchControl\"\r\n />\r\n </label>\r\n @if (loading) {\r\n <span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix></span>\r\n }\r\n <mat-autocomplete #auto=\"matAutocomplete\">\r\n @for (option of data; track option) {\r\n <mat-option\r\n [value]=\"option?.['personName']\"\r\n (onSelectionChange)=\"selectOption(option, $event)\"\r\n >\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <div class=\"dropdown-img\">\r\n <ds-avatar\r\n [image]=\"getImage(option?.email)\"\r\n onerror=\"this.onerror=null;this.src='assets/images/user.svg';\"\r\n slot=\"prefix\"\r\n class=\"avatar\"\r\n size=\"small\"\r\n >\r\n </ds-avatar>\r\n </div>\r\n <div class=\"line-height-1\">\r\n <h6 class=\"fs-14 fw-medium fc-onyx mb-0 line-height-1\">\r\n {{ option?.name }}\r\n </h6>\r\n <span class=\"fs-13 fw-normal fc-dark-gray\">{{\r\n option?.description\r\n }}</span>\r\n </div>\r\n </div>\r\n </mat-option>\r\n \r\n }\r\n </mat-autocomplete>\r\n @if (showHint) {\r\n <mat-hint>\r\n <span\r\n class=\"sfi sfi-check-circle font-10 fc-dark-gray\"\r\n [ngClass]=\"{ 'fc-oasis-light-imp': value }\"\r\n ></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n \r\n \r\n <!-- <app-validation-errors [errors]=\"customErrorMessage || employeeSearchControl.errors\" [isEmployeeSearchControl]=\"multiple? true: false\"></app-validation-errors> -->\r\n @if(control.invalid && employeeSearchControl.touched){\r\n <mat-error class=\"mb-2\">\r\n this filed is required\r\n </mat-error>\r\n }\r\n \r\n\r\n \r\n @if (userAlreadyExist) {\r\n <mat-error class=\"mb-2\">{{ \"userAlreadyExist\" | translate }}</mat-error>\r\n } @if (arrayList?.length && !isReadOnly && multiple) {\r\n <div class=\"col-12 mt-2\">\r\n <div class=\"example-list n-results\">\r\n @for (emails of arrayList; track $index) {\r\n <div class=\"example-box n-col px-3\" [ngClass]=\"{ 'mt-0': $index === 0 }\">\r\n <div class=\"d-flex flex-grow-1 w-100\">\r\n <div class=\"user-info flex-grow-1\">\r\n <ds-avatar\r\n [image]=\"getImage(emails?.['personEmail'])\"\r\n onerror=\"this.onerror=null;this.src='assets/images/user.svg';\"\r\n slot=\"prefix\"\r\n class=\"avatar prof-img\"\r\n >\r\n </ds-avatar>\r\n @if (emails?.['personName']) {\r\n <label>\r\n {{ emails?.['personName'] }}\r\n <span class=\"title\">{{ emails?.['personEmail'] }}</span>\r\n </label>\r\n }\r\n </div>\r\n @if (!isReadOnly) {\r\n <ds-button\r\n class=\"ds-btn-action\"\r\n size=\"small\"\r\n (click)=\"deleteRow($index, emails)\"\r\n icon\r\n >\r\n <ds-icon icon=\"trash\" class=\"fc-coral fs-20\"></ds-icon>\r\n </ds-button>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n</ng-container>\r\n} @if (isReadOnly) {\r\n<ng-container>\r\n <app-info-item\r\n class=\"info-item\"\r\n type=\"user-picker\"\r\n [hasLabel]=\"!!label\"\r\n [multiple]=\"multiple\"\r\n [ngClass]=\"{ 'user-picker': !isReadOnly }\"\r\n [actionType]=\"!isReadOnly ? 'delete' : 'edit'\"\r\n [label]=\"label\"\r\n [name]=\"control.value['personName']\"\r\n [value]=\"control.value['personEmail']\"\r\n [arrayList]=\"arrayList\"\r\n >\r\n </app-info-item>\r\n</ng-container>\r\n}\r\n\r\n<sat-popover #searchEmpPopover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"default-popover p-3\">\r\n <ol class=\"px-3 m-0\">\r\n <li>{{ \"searchEmployeeTooltip_1\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_2\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_3\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_4\" | translate }}</li>\r\n </ol>\r\n </div>\r\n</sat-popover>\r\n", styles: [".small-input~.btn{height:41px}:host{flex-grow:1}.agenda-list.inside .mat-list-item{display:flex;align-items:center;padding:0 1rem;background-color:#fff;border:1px solid silver;height:88px!important}.agenda-list.inside .mat-list-item:before{position:relative;left:auto;right:auto}.agenda-list .mat-list-item{height:66px!important;background-color:#d3d3d3;margin-bottom:1.5rem;cursor:move}.agenda-list .mat-list-item:hover:before{opacity:1}.agenda-list .mat-list-item:before{content:\"\\e928\";font-family:stc-font-icons;left:-1.5rem;color:#a9a9a9;position:absolute;font-size:1.5rem;opacity:0;transition:all .3s linear}[dir=rtl] .agenda-list .mat-list-item:before{left:auto;right:-1.5rem}.agenda-list .mat-list-item:last-child{margin-bottom:0}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:0;overflow:hidden}.example-box{color:#000000de;display:flex;box-sizing:border-box;cursor:move;font-size:14px;position:relative;background-color:#f3f3f1;padding:18px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding-inline-start:50px;border:0;flex-direction:column;width:100%}.example-box .user-info{display:flex;align-items:center}.example-box .user-info .drag-icon{position:absolute;left:18px;cursor:move}html[dir=rtl] .example-box .user-info .drag-icon{left:auto;right:18px}.example-box .user-info .prof-img{width:40px;height:40px;border-radius:50%;border:2px solid #fff;margin-inline-end:10px}.example-box .user-info label{font-size:13px;font-weight:500;color:#1d242d;flex-grow:1}.example-box .user-info label .title{display:block;color:#ff375e;font-size:9px}.example-box .user-info-reviewer{display:flex;gap:.5rem;width:calc(100% + 68px);padding:10px 15px;margin:10px 0 -18px -50px;background-color:#dde0e1}[dir=rtl] .example-box .user-info-reviewer{margin:10px -50px -18px 0}.example-box .user-info-reviewer .drag-icon{position:absolute;transform:translateY(-50%);cursor:move}.example-box .user-info-reviewer .reviewer-info{display:flex}.example-box .user-info-reviewer .reviewer-info .prof-img{width:20px;height:20px;border-radius:50%;border:1px solid #fff;margin:0 5px}.example-box .user-info-reviewer .reviewer-info label{font-size:11px;font-weight:500;color:#000;width:100px;margin-top:1px}.example-box .user-info-reviewer .reviewer-info label .title{display:block;color:#ff375e;font-size:11px}.example-box .user-info-reviewer span{color:#a54ee1;font-size:11px;padding:0;margin-bottom:0;display:block;text-align:start}.example-box .icon{width:30px;height:30px;background-color:#ff375e33;text-align:center;line-height:26px;cursor:pointer;flex-shrink:0}.cdk-drag-preview{box-sizing:border-box;border-radius:0;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;overflow:hidden}.cdk-drag-preview .icon{display:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.n-content{max-width:700px;width:100%}.n-results{width:100%;border:0;counter-reset:section}.n-results .n-col{position:relative;background-color:#f3f3f1;padding:10px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding-inline-start:50px;border:0;flex-direction:column;width:100%}.n-results .n-col:last-child{margin-bottom:30px}.n-results .n-col:after,.n-results .n-col:before{display:none}@media (max-width: 991px){.example-box .user-info:before{margin-inline-end:10px;flex-shrink:0}}@media (max-width: 767px){.n-col{padding-inline-start:40px}.n-col .user-info-reviewer span{margin-bottom:0}}@media (max-width: 321px){.n-results .n-col{flex-wrap:wrap;justify-content:center}.n-results .n-col .user-info{justify-content:center}.n-results .n-col .user-info:before{position:absolute;top:15px;left:15px}.n-results .n-col .user-info .prof-img{margin:0 10px 10px}.n-results .n-col .user-info label{width:100%;text-align:center}.n-results .n-col .icon{width:100%}}::ng-deep .default-popover{max-width:320px;right:-2.5rem!important}[dir=rtl] ::ng-deep .default-popover{left:-2.5rem!important;right:auto}.dropdown-img{width:30px;height:30px;border-radius:50%;border:2px solid #fff}.dropdown-img .avatar--medium{--default-size: 30px}:host ::ng-deep .avatar{border:0 none!important}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i4.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "component", type: i5.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i6.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i3.ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
130
135
|
}
|
|
131
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SearchEmployeeComponent, decorators: [{
|
|
132
137
|
type: Component,
|
|
@@ -144,7 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
144
149
|
useExisting: forwardRef(() => SearchEmployeeComponent),
|
|
145
150
|
multi: true,
|
|
146
151
|
},
|
|
147
|
-
], template: "@if (!isReadOnly) {\r\n
|
|
152
|
+
], template: "@if (!isReadOnly) {\r\n<ng-container>\r\n @if(label) {\r\n <app-form-label\r\n [label]=\"label\"\r\n [optional]=\"!control.hasValidator(Validators['required'])\" \r\n [tooltip]=\"tooltip\"\r\n ></app-form-label>\r\n }\r\n <mat-form-field\r\n class=\"primary-form {{ className }}\"\r\n [floatLabel]=\"floatLabel\"\r\n [ngClass]=\"{\r\n 'custom-validation': !control.errors\r\n }\"\r\n >\r\n <mat-label>{{ label }}</mat-label>\r\n <ds-icon icon=\"search\" class=\"fc-coral fs-18\"></ds-icon>\r\n <label class=\"mat-form-content\">\r\n <input\r\n type=\"text\"\r\n aria-label=\"Number\"\r\n (input)=\"onLoadOptions($event)\"\r\n matInput\r\n [disabled]=\"isDisabled\"\r\n [matAutocomplete]=\"auto\"\r\n [formControl]=\"employeeSearchControl\"\r\n />\r\n </label>\r\n @if (loading) {\r\n <span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix></span>\r\n }\r\n <mat-autocomplete #auto=\"matAutocomplete\">\r\n @for (option of data; track option) {\r\n <mat-option\r\n [value]=\"option?.['personName']\"\r\n (onSelectionChange)=\"selectOption(option, $event)\"\r\n >\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <div class=\"dropdown-img\">\r\n <ds-avatar\r\n [image]=\"getImage(option?.email)\"\r\n onerror=\"this.onerror=null;this.src='assets/images/user.svg';\"\r\n slot=\"prefix\"\r\n class=\"avatar\"\r\n size=\"small\"\r\n >\r\n </ds-avatar>\r\n </div>\r\n <div class=\"line-height-1\">\r\n <h6 class=\"fs-14 fw-medium fc-onyx mb-0 line-height-1\">\r\n {{ option?.name }}\r\n </h6>\r\n <span class=\"fs-13 fw-normal fc-dark-gray\">{{\r\n option?.description\r\n }}</span>\r\n </div>\r\n </div>\r\n </mat-option>\r\n \r\n }\r\n </mat-autocomplete>\r\n @if (showHint) {\r\n <mat-hint>\r\n <span\r\n class=\"sfi sfi-check-circle font-10 fc-dark-gray\"\r\n [ngClass]=\"{ 'fc-oasis-light-imp': value }\"\r\n ></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n \r\n \r\n <!-- <app-validation-errors [errors]=\"customErrorMessage || employeeSearchControl.errors\" [isEmployeeSearchControl]=\"multiple? true: false\"></app-validation-errors> -->\r\n @if(control.invalid && employeeSearchControl.touched){\r\n <mat-error class=\"mb-2\">\r\n this filed is required\r\n </mat-error>\r\n }\r\n \r\n\r\n \r\n @if (userAlreadyExist) {\r\n <mat-error class=\"mb-2\">{{ \"userAlreadyExist\" | translate }}</mat-error>\r\n } @if (arrayList?.length && !isReadOnly && multiple) {\r\n <div class=\"col-12 mt-2\">\r\n <div class=\"example-list n-results\">\r\n @for (emails of arrayList; track $index) {\r\n <div class=\"example-box n-col px-3\" [ngClass]=\"{ 'mt-0': $index === 0 }\">\r\n <div class=\"d-flex flex-grow-1 w-100\">\r\n <div class=\"user-info flex-grow-1\">\r\n <ds-avatar\r\n [image]=\"getImage(emails?.['personEmail'])\"\r\n onerror=\"this.onerror=null;this.src='assets/images/user.svg';\"\r\n slot=\"prefix\"\r\n class=\"avatar prof-img\"\r\n >\r\n </ds-avatar>\r\n @if (emails?.['personName']) {\r\n <label>\r\n {{ emails?.['personName'] }}\r\n <span class=\"title\">{{ emails?.['personEmail'] }}</span>\r\n </label>\r\n }\r\n </div>\r\n @if (!isReadOnly) {\r\n <ds-button\r\n class=\"ds-btn-action\"\r\n size=\"small\"\r\n (click)=\"deleteRow($index, emails)\"\r\n icon\r\n >\r\n <ds-icon icon=\"trash\" class=\"fc-coral fs-20\"></ds-icon>\r\n </ds-button>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n</ng-container>\r\n} @if (isReadOnly) {\r\n<ng-container>\r\n <app-info-item\r\n class=\"info-item\"\r\n type=\"user-picker\"\r\n [hasLabel]=\"!!label\"\r\n [multiple]=\"multiple\"\r\n [ngClass]=\"{ 'user-picker': !isReadOnly }\"\r\n [actionType]=\"!isReadOnly ? 'delete' : 'edit'\"\r\n [label]=\"label\"\r\n [name]=\"control.value['personName']\"\r\n [value]=\"control.value['personEmail']\"\r\n [arrayList]=\"arrayList\"\r\n >\r\n </app-info-item>\r\n</ng-container>\r\n}\r\n\r\n<sat-popover #searchEmpPopover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"default-popover p-3\">\r\n <ol class=\"px-3 m-0\">\r\n <li>{{ \"searchEmployeeTooltip_1\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_2\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_3\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_4\" | translate }}</li>\r\n </ol>\r\n </div>\r\n</sat-popover>\r\n", styles: [".small-input~.btn{height:41px}:host{flex-grow:1}.agenda-list.inside .mat-list-item{display:flex;align-items:center;padding:0 1rem;background-color:#fff;border:1px solid silver;height:88px!important}.agenda-list.inside .mat-list-item:before{position:relative;left:auto;right:auto}.agenda-list .mat-list-item{height:66px!important;background-color:#d3d3d3;margin-bottom:1.5rem;cursor:move}.agenda-list .mat-list-item:hover:before{opacity:1}.agenda-list .mat-list-item:before{content:\"\\e928\";font-family:stc-font-icons;left:-1.5rem;color:#a9a9a9;position:absolute;font-size:1.5rem;opacity:0;transition:all .3s linear}[dir=rtl] .agenda-list .mat-list-item:before{left:auto;right:-1.5rem}.agenda-list .mat-list-item:last-child{margin-bottom:0}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:0;overflow:hidden}.example-box{color:#000000de;display:flex;box-sizing:border-box;cursor:move;font-size:14px;position:relative;background-color:#f3f3f1;padding:18px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding-inline-start:50px;border:0;flex-direction:column;width:100%}.example-box .user-info{display:flex;align-items:center}.example-box .user-info .drag-icon{position:absolute;left:18px;cursor:move}html[dir=rtl] .example-box .user-info .drag-icon{left:auto;right:18px}.example-box .user-info .prof-img{width:40px;height:40px;border-radius:50%;border:2px solid #fff;margin-inline-end:10px}.example-box .user-info label{font-size:13px;font-weight:500;color:#1d242d;flex-grow:1}.example-box .user-info label .title{display:block;color:#ff375e;font-size:9px}.example-box .user-info-reviewer{display:flex;gap:.5rem;width:calc(100% + 68px);padding:10px 15px;margin:10px 0 -18px -50px;background-color:#dde0e1}[dir=rtl] .example-box .user-info-reviewer{margin:10px -50px -18px 0}.example-box .user-info-reviewer .drag-icon{position:absolute;transform:translateY(-50%);cursor:move}.example-box .user-info-reviewer .reviewer-info{display:flex}.example-box .user-info-reviewer .reviewer-info .prof-img{width:20px;height:20px;border-radius:50%;border:1px solid #fff;margin:0 5px}.example-box .user-info-reviewer .reviewer-info label{font-size:11px;font-weight:500;color:#000;width:100px;margin-top:1px}.example-box .user-info-reviewer .reviewer-info label .title{display:block;color:#ff375e;font-size:11px}.example-box .user-info-reviewer span{color:#a54ee1;font-size:11px;padding:0;margin-bottom:0;display:block;text-align:start}.example-box .icon{width:30px;height:30px;background-color:#ff375e33;text-align:center;line-height:26px;cursor:pointer;flex-shrink:0}.cdk-drag-preview{box-sizing:border-box;border-radius:0;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;overflow:hidden}.cdk-drag-preview .icon{display:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.n-content{max-width:700px;width:100%}.n-results{width:100%;border:0;counter-reset:section}.n-results .n-col{position:relative;background-color:#f3f3f1;padding:10px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding-inline-start:50px;border:0;flex-direction:column;width:100%}.n-results .n-col:last-child{margin-bottom:30px}.n-results .n-col:after,.n-results .n-col:before{display:none}@media (max-width: 991px){.example-box .user-info:before{margin-inline-end:10px;flex-shrink:0}}@media (max-width: 767px){.n-col{padding-inline-start:40px}.n-col .user-info-reviewer span{margin-bottom:0}}@media (max-width: 321px){.n-results .n-col{flex-wrap:wrap;justify-content:center}.n-results .n-col .user-info{justify-content:center}.n-results .n-col .user-info:before{position:absolute;top:15px;left:15px}.n-results .n-col .user-info .prof-img{margin:0 10px 10px}.n-results .n-col .user-info label{width:100%;text-align:center}.n-results .n-col .icon{width:100%}}::ng-deep .default-popover{max-width:320px;right:-2.5rem!important}[dir=rtl] ::ng-deep .default-popover{left:-2.5rem!important;right:auto}.dropdown-img{width:30px;height:30px;border-radius:50%;border:2px solid #fff}.dropdown-img .avatar--medium{--default-size: 30px}:host ::ng-deep .avatar{border:0 none!important}\n"] }]
|
|
148
153
|
}], propDecorators: { valueName: [{
|
|
149
154
|
type: Input
|
|
150
155
|
}], className: [{
|
|
@@ -174,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
174
179
|
}], emitedDeletedValue: [{
|
|
175
180
|
type: Output
|
|
176
181
|
}] } });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWVtcGxveWVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL3NlYXJjaC1lbXBsb3llZS9zZWFyY2gtZW1wbG95ZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvc2VhcmNoLWVtcGxveWVlL3NlYXJjaC1lbXBsb3llZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixHQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7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LENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUtRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0UsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNFLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEZvcm1zTW9kdWxlLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxyXG4gIERlc3Ryb3lSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgaW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnLi4vY29udHJvbC12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IFNhdFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAbmNzdGF0ZS9zYXQtcG9wb3Zlcic7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnNDb21wb25lbnQgfSBmcm9tICcuLi92YWxpZGF0aW9uLWVycm9ycy92YWxpZGF0aW9uLWVycm9ycy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2luZm8taXRlbS9pbmZvLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2hhcmVkcyB9IGZyb20gJy4uL3NoYXJlZC1pbXBvcnRzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc2VhcmNoLWVtcGxveWVlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWVtcGxveWVlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtZW1wbG95ZWUuY29tcG9uZW50LnNjc3MnXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRGb3JtRmllbGQsXHJcbiAgICBNYXRJbnB1dCxcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFNhdFBvcG92ZXJNb2R1bGUsXHJcbiAgICAuLi5TaGFyZWRzLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWFyY2hFbXBsb3llZUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoRW1wbG95ZWVDb21wb25lbnQ8XHJcbiAgVHlwZVxyXG4+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT4ge1xyXG4gIEBJbnB1dCgpIHZhbHVlTmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnYm9yZGVyZWQtaW5wdXQnO1xyXG4gIEBJbnB1dCgpIG9wdGlvbmFsID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGF0YSE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIGZsb2F0TGFiZWw6IGFueSA9ICdhdXRvJztcclxuICBASW5wdXQoKSBlcnJvciE6IHN0cmluZztcclxuICBzZWxlY3RlZCA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEVtcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25JbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBzaG93RWRpdCA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBlZGl0RGlyZWN0TWFuZ2VyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZGVsZXRlRGlyZWN0TWFuZ2VyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBhcnJheUxpc3Q6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgaXNVbmlxdWVVc2VycyA9IGZhbHNlO1xyXG4gIHVzZXJBbHJlYWR5RXhpc3QgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgZW1pdGVkRGVsZXRlZFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcblxyXG4gIGRlbGV0ZVJvdyhpbmQ6IG51bWJlciwgcm93RGF0YSkge1xyXG4gICAgaWYgKCF0aGlzLmlzUmVhZE9ubHkpIHtcclxuICAgICAgdGhpcy5hcnJheUxpc3QgPSB0aGlzLmFycmF5TGlzdC5maWx0ZXIoKGl0ZW06IGFueSwgaW5kZXgpID0+IHtcclxuICAgICAgICByZXR1cm4gaW5kZXggIT0gaW5kO1xyXG4gICAgICB9KTtcclxuICAgICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICAgIHJvd0RhdGE6IHJvd0RhdGEsXHJcbiAgICAgICAgYXJyYXlMaXN0OiB0aGlzLmFycmF5TGlzdCxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5lbWl0ZWREZWxldGVkVmFsdWUuZW1pdChvYmopO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Mb2FkT3B0aW9ucyhldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIHRoaXMuZGF0YSA9IFtdO1xyXG4gICAgaWYgKGlucHV0Lmxlbmd0aCA+PSAzKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jb3JlU2VydmljZVxyXG4gICAgICAgIC5zZWFyY2hFbXBsb3llZShpbnB1dClcclxuICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChmb3JtOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IGZvcm0uVXNlcnM7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnIpID0+IHt9LFxyXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChpbnB1dC5sZW5ndGggPT0gMCkge1xyXG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbmNsdWRlRGF0YShvcHRpb246IGFueSwgZmlsdGVyVmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKFxyXG4gICAgICBvcHRpb24/LmVtYWlsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpIHx8XHJcbiAgICAgIG9wdGlvbj8ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJbWFnZShpZDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnL2dyb3VwL2ktZ2F0ZS93bS1icG0vZm9ybXMvLS9wcm94eS9wb3J0cmFpdD9lbWFpbD0nICsgaWQ7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RPcHRpb24ob2JqZWN0OiBhbnksIGV2OiBhbnkpIHtcclxuICAgIHRoaXMudXNlckFscmVhZHlFeGlzdCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICB0aGlzLmRhdGEgPSBbXTtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIGlmICh0aGlzLmFycmF5TGlzdC5zb21lKChpdGVtKSA9PiBpdGVtPy5wZXJzb25FbWFpbCA9PT0gb2JqZWN0Py5lbWFpbCkpIHtcclxuICAgICAgICB0aGlzLnVzZXJBbHJlYWR5RXhpc3QgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBsZXQgb2JqID0ge1xyXG4gICAgICAgIHBlcnNvbk5hbWU6IG9iamVjdC5uYW1lLFxyXG4gICAgICAgIHBlcnNvbkVtYWlsOiBvYmplY3QuZW1haWwsXHJcbiAgICAgICAgam9iOiBvYmplY3Quam9iLm5hbWUsXHJcbiAgICAgICAgam9iQ29kZTogb2JqZWN0LmpvYi5jb2RlLFxyXG4gICAgICAgIG1hbmFnZXI6IG9iamVjdC5tYW5hZ2VyLFxyXG4gICAgICAgIGRlcGFydG1lbnQ6IG9iamVjdC5kZXBhcnRtZW50LFxyXG4gICAgICAgIGdlbmVyYWxEZXBhcnRtZW50OiBvYmplY3QuZ2VuZXJhbERlcGFydG1lbnQsXHJcbiAgICAgICAgc2VjdG9yOiBvYmplY3Quc2VjdG9yLFxyXG4gICAgICAgIHNlY3Rpb246IG9iamVjdC5zZWN0aW9uLFxyXG4gICAgICAgIHNlbmlvclNlY3Rvck5hbWU6IG9iamVjdC5zZW5pb3JTZWN0b3JOYW1lLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmFycmF5TGlzdC5wdXNoKG9iaik7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh0aGlzLmFycmF5TGlzdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBjb250cm9sVmFsdWUgPSB7XHJcbiAgICAgICAgcGVyc29uTmFtZTogb2JqZWN0Lm5hbWUsXHJcbiAgICAgICAgcGVyc29uRW1haWw6IG9iamVjdC5lbWFpbCxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGNvbnRyb2xWYWx1ZSk7XHJcbiAgICAgIHRoaXMuZW1wbG95ZWVTZWFyY2hDb250cm9sLnNldFZhbHVlKG9iamVjdC5uYW1lKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2Ugc2VhcmNoRW1wIHtcclxuICBwZXJzb25OYW1lPzogc3RyaW5nO1xyXG4gIHBlcnNvbkVtYWlsPzogc3RyaW5nO1xyXG4gIGNvbnRhY3Q/OiBzdHJpbmc7XHJcbiAgZW1wbG95ZWVOdW1iZXI/OiBzdHJpbmc7XHJcbn1cclxuIiwiQGlmICghaXNSZWFkT25seSkge1xyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICBAaWYobGFiZWwpIHtcclxuICAgICAgPGFwcC1mb3JtLWxhYmVsIFtsYWJlbF09XCJsYWJlbFwiIFtvcHRpb25hbF09XCIhcmVxdWlyZWRcIiBbdG9vbHRpcF09XCJ0b29sdGlwXCI+PC9hcHAtZm9ybS1sYWJlbD5cclxuICAgIH1cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInByaW1hcnktZm9ybSB7e2NsYXNzTmFtZX19XCIgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxkcy1pY29uIGljb249XCJzZWFyY2hcIiBjbGFzcz1cImZjLWNvcmFsIGZzLTE4XCI+PC9kcy1pY29uPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJtYXQtZm9ybS1jb250ZW50XCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiIGFyaWEtbGFiZWw9XCJOdW1iZXJcIiAoaW5wdXQpPVwib25Mb2FkT3B0aW9ucygkZXZlbnQpXCIgbWF0SW5wdXQgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCIgW2Zvcm1Db250cm9sXT1cImVtcGxveWVlU2VhcmNoQ29udHJvbFwiIFt2YWx1ZV09XCJjb250cm9sLnZhbHVlXCI+XHJcbiAgICAgIDwvbGFiZWw+XHJcbiAgICAgIEBpZiAobG9hZGluZykge1xyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2ZpIHNmaS1zcGlubmVyIGQtaW5saW5lLWJsb2NrIHNwaW4gZmMtY29yYWxcIiBtYXRTdWZmaXg+PC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCI+XHJcbiAgICAgICAgQGZvciAob3B0aW9uIG9mIGRhdGE7IHRyYWNrIG9wdGlvbikge1xyXG4gICAgICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbj8uWydwZXJzb25OYW1lJ11cIlxyXG4gICAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0T3B0aW9uKG9wdGlvbiwgJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWctY2FyZCBjaXJjbGVkLWltZyBzbWFsbFwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImdldEltYWdlKG9wdGlvbj8uZW1haWwpXCIgb25lcnJvcj1cInRoaXMub25lcnJvcj1udWxsO3RoaXMuc3JjPSdhc3NldHMvaW1hZ2VzL3VzZXIuc3ZnJztcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmUtaGVpZ2h0LTFcIj5cclxuICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cImZzLTE3IGZ3LW1lZGl1bSBmYy1vbnl4IG1iLTAgbGluZS1oZWlnaHQtMVwiPnt7IG9wdGlvbj8ubmFtZSB9fTwvaDY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTEzIGZ3LW5vcm1hbCBmYy1kYXJrLWdyYXlcIj57eyBvcHRpb24/LmRlc2NyaXB0aW9uIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgQGlmIChzaG93SGludCkge1xyXG4gICAgICAgIDxtYXQtaGludD5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2ZpIHNmaS1jaGVjay1jaXJjbGUgZm9udC0xMCBmYy1kYXJrLWdyYXlcIiBbbmdDbGFzc109XCJ7J2ZjLW9hc2lzLWxpZ2h0LWltcCc6IHZhbHVlfVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXgtMVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTIgZmMtb255eFwiPnt7IGhpbnQgfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtaGludD5cclxuICAgICAgfVxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxhcHAtdmFsaWRhdGlvbi1lcnJvcnMgW2Vycm9yc109XCJjb250cm9sLmVycm9yc1wiPjwvYXBwLXZhbGlkYXRpb24tZXJyb3JzPlxyXG4gICAgQGlmICh1c2VyQWxyZWFkeUV4aXN0KSB7XHJcbiAgICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJtYi0yXCI+e3sgJ3VzZXJBbHJlYWR5RXhpc3QnIHwgdHJhbnNsYXRlIH19PC9tYXQtZXJyb3I+XHJcbiAgICB9XHJcbiAgICBAaWYgKGFycmF5TGlzdD8ubGVuZ3RoICYmICFpc1JlYWRPbmx5ICYmIG11bHRpcGxlKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXQtMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLWxpc3Qgbi1yZXN1bHRzXCI+XHJcbiAgICAgICAgICBAZm9yIChlbWFpbHMgb2YgYXJyYXlMaXN0OyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtYm94IG4tY29sIHB4LTNcIiBbbmdDbGFzc109XCJ7J210LTAnOiAkaW5kZXggPT09IDB9XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWdyb3ctMSB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItaW5mbyBmbGV4LWdyb3ctMVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW1nIGFsdD1cInVzZXIgaW1hZ2VcIiBbc3JjXT1cImdldEltYWdlKGVtYWlscz8uWydwZXJzb25FbWFpbCddKVwiIG9uZXJyb3I9XCJ0aGlzLm9uZXJyb3I9bnVsbDt0aGlzLnNyYz0nYXNzZXRzL2ltYWdlcy91c2VyLnN2Zyc7XCIgY2xhc3M9XCJwcm9mLWltZ1wiIGRyYWdnYWJsZT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgIEBpZiAoZW1haWxzPy5bJ3BlcnNvbk5hbWUnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IGVtYWlscz8uWydwZXJzb25OYW1lJ10gfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj57eyBlbWFpbHM/LlsncGVyc29uRW1haWwnXSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIEBpZiAoIWlzUmVhZE9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgPGRzLWJ1dHRvbiBjbGFzcz1cImRzLWJ0bi1hY3Rpb25cIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwiZGVsZXRlUm93KCRpbmRleCwgZW1haWxzKVwiIGljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRzLWljb24gaWNvbj1cInRyYXNoXCIgY2xhc3M9XCJmYy1yZWQgZnMtMjBcIj48L2RzLWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbkBpZiAoaXNSZWFkT25seSkge1xyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICA8YXBwLWluZm8taXRlbVxyXG4gICAgICBjbGFzcz1cImluZm8taXRlbVwiIHR5cGU9XCJ1c2VyLXBpY2tlclwiIFtoYXNMYWJlbF09XCIhIWxhYmVsXCJcclxuICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgW25nQ2xhc3NdPVwieyd1c2VyLXBpY2tlcic6ICFpc1JlYWRPbmx5fVwiIFthY3Rpb25UeXBlXT1cIiFpc1JlYWRPbmx5ID8gJ2RlbGV0ZScgOiAnZWRpdCdcIlxyXG4gICAgICBbbGFiZWxdPVwibGFiZWxcIiBbbmFtZV09XCJjb250cm9sLnZhbHVlWydwZXJzb25OYW1lJ11cIiBbdmFsdWVdPVwiY29udHJvbC52YWx1ZVsncGVyc29uRW1haWwnXVwiIFthcnJheUxpc3RdPVwiYXJyYXlMaXN0XCI+XHJcbiAgICA8L2FwcC1pbmZvLWl0ZW0+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbjxzYXQtcG9wb3ZlciAjc2VhcmNoRW1wUG9wb3ZlciBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiIHZlcnRpY2FsQWxpZ249XCJiZWxvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJkZWZhdWx0LXBvcG92ZXIgcC0zXCI+XHJcbiAgICA8b2wgY2xhc3M9XCJweC0zIG0tMFwiPlxyXG4gICAgICA8bGk+e3sgJ3NlYXJjaEVtcGxveWVlVG9vbHRpcF8xJyB8IHRyYW5zbGF0ZSB9fTwvbGk+XHJcbiAgICAgIDxsaT57eyAnc2VhcmNoRW1wbG95ZWVUb29sdGlwXzInIHwgdHJhbnNsYXRlIH19PC9saT5cclxuICAgICAgPGxpPnt7ICdzZWFyY2hFbXBsb3llZVRvb2x0aXBfMycgfCB0cmFuc2xhdGUgfX08L2xpPlxyXG4gICAgICA8bGk+e3sgJ3NlYXJjaEVtcGxveWVlVG9vbHRpcF80JyB8IHRyYW5zbGF0ZSB9fTwvbGk+XHJcbiAgICA8L29sPlxyXG4gIDwvZGl2PlxyXG48L3NhdC1wb3BvdmVyPiJdfQ==
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWVtcGxveWVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL3NlYXJjaC1lbXBsb3llZS9zZWFyY2gtZW1wbG95ZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvc2VhcmNoLWVtcGxveWVlL3NlYXJjaC1lbXBsb3llZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixHQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7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ckIsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLEdBQUcsT0FBTztxQkFDWCxhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFLUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBGb3Jtc01vZHVsZSxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcclxuICBEZXN0cm95UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIGluamVjdCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJy4uL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBTYXRQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQG5jc3RhdGUvc2F0LXBvcG92ZXInO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzQ29tcG9uZW50IH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1lcnJvcnMvdmFsaWRhdGlvbi1lcnJvcnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb0l0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9pbmZvLWl0ZW0vaW5mby1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoYXJlZHMgfSBmcm9tICcuLi9zaGFyZWQtaW1wb3J0cyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNlYXJjaC1lbXBsb3llZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1lbXBsb3llZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWVtcGxveWVlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0Rm9ybUZpZWxkLFxyXG4gICAgTWF0SW5wdXQsXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBTYXRQb3BvdmVyTW9kdWxlLFxyXG4gICAgLi4uU2hhcmVkcyxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VhcmNoRW1wbG95ZWVDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaEVtcGxveWVlQ29tcG9uZW50PFxyXG4gIFR5cGVcclxuPiBleHRlbmRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlPFR5cGU+IHtcclxuICBASW5wdXQoKSB2YWx1ZU5hbWUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJ2JvcmRlcmVkLWlucHV0JztcclxuICBASW5wdXQoKSBvcHRpb25hbCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRhdGEhOiBhbnlbXTtcclxuICBASW5wdXQoKSBmbG9hdExhYmVsOiBhbnkgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgZXJyb3IhOiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWQgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRFbXAgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uSW5wdXRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgc2hvd0VkaXQgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgZWRpdERpcmVjdE1hbmdlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGRlbGV0ZURpcmVjdE1hbmdlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgYXJyYXlMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGlzVW5pcXVlVXNlcnMgPSBmYWxzZTtcclxuICB1c2VyQWxyZWFkeUV4aXN0ID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIGVtaXRlZERlbGV0ZWRWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG4gIFxyXG5cclxuICBkZWxldGVSb3coaW5kOiBudW1iZXIsIHJvd0RhdGEpIHtcclxuICAgIGlmICghdGhpcy5pc1JlYWRPbmx5KSB7XHJcbiAgICAgIHRoaXMuYXJyYXlMaXN0ID0gdGhpcy5hcnJheUxpc3Q/LmZpbHRlcigoaXRlbTogYW55LCBpbmRleCkgPT4ge1xyXG4gICAgICAgIHJldHVybiBpbmRleCAhPSBpbmQ7XHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgICAgcm93RGF0YTogcm93RGF0YSxcclxuICAgICAgICBhcnJheUxpc3Q6IHRoaXMuYXJyYXlMaXN0LFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmVtaXRlZERlbGV0ZWRWYWx1ZS5lbWl0KG9iaik7XHJcbiAgICB9XHJcbiAgICBpZighdGhpcy5hcnJheUxpc3Q/Lmxlbmd0aCAmJiB0aGlzLm11bHRpcGxlKXtcclxuICAgICAgdGhpcy5lbXBsb3llZVNlYXJjaENvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoW10pO1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLlZhbGlkYXRvcnNbJ3JlcXVpcmVkJ10pXHJcbiAgICAgIHRoaXMuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KClcclxuICAgIH0gXHJcbiAgfVxyXG5cclxuICBvbkxvYWRPcHRpb25zKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgdGhpcy5kYXRhID0gW107XHJcbiAgICBpZiAoaW5wdXQubGVuZ3RoID49IDMpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNvcmVTZXJ2aWNlXHJcbiAgICAgICAgLnNlYXJjaEVtcGxveWVlKGlucHV0KVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKGZvcm06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5kYXRhID0gZm9ybS5Vc2VycztcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycikgPT4ge30sXHJcbiAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGlucHV0Lmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGluY2x1ZGVEYXRhKG9wdGlvbjogYW55LCBmaWx0ZXJWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIG9wdGlvbj8uZW1haWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSkgfHxcclxuICAgICAgb3B0aW9uPy5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEltYWdlKGlkOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICcvZ3JvdXAvaS1nYXRlL3dtLWJwbS9mb3Jtcy8tL3Byb3h5L3BvcnRyYWl0P2VtYWlsPScgKyBpZDtcclxuICB9XHJcblxyXG4gIHNlbGVjdE9wdGlvbihvYmplY3Q6IGFueSwgZXY6IGFueSkge1xyXG4gICAgdGhpcy51c2VyQWxyZWFkeUV4aXN0ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuZGF0YSA9IFtdO1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgaWYgKHRoaXMuYXJyYXlMaXN0Py5zb21lKChpdGVtKSA9PiBpdGVtPy5wZXJzb25FbWFpbCA9PT0gb2JqZWN0Py5lbWFpbCkpIHtcclxuICAgICAgICB0aGlzLnVzZXJBbHJlYWR5RXhpc3QgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBsZXQgb2JqID0ge1xyXG4gICAgICAgIHBlcnNvbk5hbWU6IG9iamVjdC5uYW1lLFxyXG4gICAgICAgIHBlcnNvbkVtYWlsOiBvYmplY3QuZW1haWwsXHJcbiAgICAgICAgLy8gam9iOiBvYmplY3Quam9iLm5hbWUsXHJcbiAgICAgICAgLy8gam9iQ29kZTogb2JqZWN0LmpvYi5jb2RlLFxyXG4gICAgICAgIC8vIG1hbmFnZXI6IG9iamVjdC5tYW5hZ2VyLFxyXG4gICAgICAgIC8vIGRlcGFydG1lbnQ6IG9iamVjdC5kZXBhcnRtZW50LFxyXG4gICAgICAgIC8vIGdlbmVyYWxEZXBhcnRtZW50OiBvYmplY3QuZ2VuZXJhbERlcGFydG1lbnQsXHJcbiAgICAgICAgLy8gc2VjdG9yOiBvYmplY3Quc2VjdG9yLFxyXG4gICAgICAgIC8vIHNlY3Rpb246IG9iamVjdC5zZWN0aW9uLFxyXG4gICAgICAgIC8vIHNlbmlvclNlY3Rvck5hbWU6IG9iamVjdC5zZW5pb3JTZWN0b3JOYW1lLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmFycmF5TGlzdD8ucHVzaChvYmopO1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodGhpcy5hcnJheUxpc3QpO1xyXG4gICAgXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBjb250cm9sVmFsdWUgPSB7XHJcbiAgICAgICAgcGVyc29uTmFtZTogb2JqZWN0Lm5hbWUsXHJcbiAgICAgICAgcGVyc29uRW1haWw6IG9iamVjdC5lbWFpbCxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGNvbnRyb2xWYWx1ZSk7XHJcbiAgICAgIHRoaXMuZW1wbG95ZWVTZWFyY2hDb250cm9sLnNldFZhbHVlKG9iamVjdC5uYW1lKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2Ugc2VhcmNoRW1wIHtcclxuICBwZXJzb25OYW1lPzogc3RyaW5nO1xyXG4gIHBlcnNvbkVtYWlsPzogc3RyaW5nO1xyXG4gIGNvbnRhY3Q/OiBzdHJpbmc7XHJcbiAgZW1wbG95ZWVOdW1iZXI/OiBzdHJpbmc7XHJcbn1cclxuIiwiQGlmICghaXNSZWFkT25seSkge1xyXG48bmctY29udGFpbmVyPlxyXG4gIEBpZihsYWJlbCkge1xyXG4gIDxhcHAtZm9ybS1sYWJlbFxyXG4gICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgIFtvcHRpb25hbF09XCIhY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9yc1sncmVxdWlyZWQnXSlcIiBcclxuICAgIFt0b29sdGlwXT1cInRvb2x0aXBcIlxyXG4gID48L2FwcC1mb3JtLWxhYmVsPlxyXG4gIH1cclxuICA8bWF0LWZvcm0tZmllbGRcclxuICAgIGNsYXNzPVwicHJpbWFyeS1mb3JtIHt7IGNsYXNzTmFtZSB9fVwiXHJcbiAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICdjdXN0b20tdmFsaWRhdGlvbic6ICFjb250cm9sLmVycm9yc1xyXG4gICB9XCJcclxuICA+XHJcbiAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XHJcbiAgICA8ZHMtaWNvbiBpY29uPVwic2VhcmNoXCIgY2xhc3M9XCJmYy1jb3JhbCBmcy0xOFwiPjwvZHMtaWNvbj5cclxuICAgIDxsYWJlbCBjbGFzcz1cIm1hdC1mb3JtLWNvbnRlbnRcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIGFyaWEtbGFiZWw9XCJOdW1iZXJcIlxyXG4gICAgICAgIChpbnB1dCk9XCJvbkxvYWRPcHRpb25zKCRldmVudClcIlxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImVtcGxveWVlU2VhcmNoQ29udHJvbFwiXHJcbiAgICAgIC8+XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgQGlmIChsb2FkaW5nKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInNmaSBzZmktc3Bpbm5lciBkLWlubGluZS1ibG9jayBzcGluIGZjLWNvcmFsXCIgbWF0U3VmZml4Pjwvc3Bhbj5cclxuICAgIH1cclxuICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCI+XHJcbiAgICAgIEBmb3IgKG9wdGlvbiBvZiBkYXRhOyB0cmFjayBvcHRpb24pIHtcclxuICAgICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uPy5bJ3BlcnNvbk5hbWUnXVwiXHJcbiAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0T3B0aW9uKG9wdGlvbiwgJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWltZ1wiPlxyXG4gICAgICAgICAgICAgIDxkcy1hdmF0YXJcclxuICAgICAgICAgICAgICAgIFtpbWFnZV09XCJnZXRJbWFnZShvcHRpb24/LmVtYWlsKVwiXHJcbiAgICAgICAgICAgICAgICBvbmVycm9yPVwidGhpcy5vbmVycm9yPW51bGw7dGhpcy5zcmM9J2Fzc2V0cy9pbWFnZXMvdXNlci5zdmcnO1wiXHJcbiAgICAgICAgICAgICAgICBzbG90PVwicHJlZml4XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXZhdGFyXCJcclxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDwvZHMtYXZhdGFyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmUtaGVpZ2h0LTFcIj5cclxuICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJmcy0xNCBmdy1tZWRpdW0gZmMtb255eCBtYi0wIGxpbmUtaGVpZ2h0LTFcIj5cclxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbj8ubmFtZSB9fVxyXG4gICAgICAgICAgICAgIDwvaDY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMyBmdy1ub3JtYWwgZmMtZGFyay1ncmF5XCI+e3tcclxuICAgICAgICAgICAgICAgIG9wdGlvbj8uZGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgXHJcbiAgICAgIH1cclxuICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgIEBpZiAoc2hvd0hpbnQpIHtcclxuICAgIDxtYXQtaGludD5cclxuICAgICAgPHNwYW5cclxuICAgICAgICBjbGFzcz1cInNmaSBzZmktY2hlY2stY2lyY2xlIGZvbnQtMTAgZmMtZGFyay1ncmF5XCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7ICdmYy1vYXNpcy1saWdodC1pbXAnOiB2YWx1ZSB9XCJcclxuICAgICAgPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCI+PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImZzLTEyIGZjLW9ueXhcIj57eyBoaW50IH19PC9zcGFuPlxyXG4gICAgPC9tYXQtaGludD5cclxuICAgIH1cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgXHJcbiAgIFxyXG4gICAgICA8IS0tIDxhcHAtdmFsaWRhdGlvbi1lcnJvcnMgW2Vycm9yc109XCJjdXN0b21FcnJvck1lc3NhZ2UgfHwgZW1wbG95ZWVTZWFyY2hDb250cm9sLmVycm9yc1wiIFtpc0VtcGxveWVlU2VhcmNoQ29udHJvbF09XCJtdWx0aXBsZT8gdHJ1ZTogZmFsc2VcIj48L2FwcC12YWxpZGF0aW9uLWVycm9ycz4gLS0+XHJcbiAgICAgICBAaWYoY29udHJvbC5pbnZhbGlkICYmIGVtcGxveWVlU2VhcmNoQ29udHJvbC50b3VjaGVkKXtcclxuICAgICAgICA8bWF0LWVycm9yIGNsYXNzPVwibWItMlwiPlxyXG4gICAgICAgICAgdGhpcyBmaWxlZCBpcyByZXF1aXJlZFxyXG4gICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgfVxyXG4gICBcclxuXHJcbiAgXHJcbiAgQGlmICh1c2VyQWxyZWFkeUV4aXN0KSB7XHJcbiAgPG1hdC1lcnJvciBjbGFzcz1cIm1iLTJcIj57eyBcInVzZXJBbHJlYWR5RXhpc3RcIiB8IHRyYW5zbGF0ZSB9fTwvbWF0LWVycm9yPlxyXG4gIH0gQGlmIChhcnJheUxpc3Q/Lmxlbmd0aCAmJiAhaXNSZWFkT25seSAmJiBtdWx0aXBsZSkge1xyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXQtMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtbGlzdCBuLXJlc3VsdHNcIj5cclxuICAgICAgQGZvciAoZW1haWxzIG9mIGFycmF5TGlzdDsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLWJveCBuLWNvbCBweC0zXCIgW25nQ2xhc3NdPVwieyAnbXQtMCc6ICRpbmRleCA9PT0gMCB9XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWdyb3ctMSB3LTEwMFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItaW5mbyBmbGV4LWdyb3ctMVwiPlxyXG4gICAgICAgICAgICA8ZHMtYXZhdGFyXHJcbiAgICAgICAgICAgICAgW2ltYWdlXT1cImdldEltYWdlKGVtYWlscz8uWydwZXJzb25FbWFpbCddKVwiXHJcbiAgICAgICAgICAgICAgb25lcnJvcj1cInRoaXMub25lcnJvcj1udWxsO3RoaXMuc3JjPSdhc3NldHMvaW1hZ2VzL3VzZXIuc3ZnJztcIlxyXG4gICAgICAgICAgICAgIHNsb3Q9XCJwcmVmaXhcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYXZhdGFyIHByb2YtaW1nXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2RzLWF2YXRhcj5cclxuICAgICAgICAgICAgQGlmIChlbWFpbHM/LlsncGVyc29uTmFtZSddKSB7XHJcbiAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICB7eyBlbWFpbHM/LlsncGVyc29uTmFtZSddIH19XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPnt7IGVtYWlscz8uWydwZXJzb25FbWFpbCddIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIEBpZiAoIWlzUmVhZE9ubHkpIHtcclxuICAgICAgICAgIDxkcy1idXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJkcy1idG4tYWN0aW9uXCJcclxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZVJvdygkaW5kZXgsIGVtYWlscylcIlxyXG4gICAgICAgICAgICBpY29uXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkcy1pY29uIGljb249XCJ0cmFzaFwiIGNsYXNzPVwiZmMtY29yYWwgZnMtMjBcIj48L2RzLWljb24+XHJcbiAgICAgICAgICA8L2RzLWJ1dHRvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9uZy1jb250YWluZXI+XHJcbn0gQGlmIChpc1JlYWRPbmx5KSB7XHJcbjxuZy1jb250YWluZXI+XHJcbiAgPGFwcC1pbmZvLWl0ZW1cclxuICAgIGNsYXNzPVwiaW5mby1pdGVtXCJcclxuICAgIHR5cGU9XCJ1c2VyLXBpY2tlclwiXHJcbiAgICBbaGFzTGFiZWxdPVwiISFsYWJlbFwiXHJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gICAgW25nQ2xhc3NdPVwieyAndXNlci1waWNrZXInOiAhaXNSZWFkT25seSB9XCJcclxuICAgIFthY3Rpb25UeXBlXT1cIiFpc1JlYWRPbmx5ID8gJ2RlbGV0ZScgOiAnZWRpdCdcIlxyXG4gICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgIFtuYW1lXT1cImNvbnRyb2wudmFsdWVbJ3BlcnNvbk5hbWUnXVwiXHJcbiAgICBbdmFsdWVdPVwiY29udHJvbC52YWx1ZVsncGVyc29uRW1haWwnXVwiXHJcbiAgICBbYXJyYXlMaXN0XT1cImFycmF5TGlzdFwiXHJcbiAgPlxyXG4gIDwvYXBwLWluZm8taXRlbT5cclxuPC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbjxzYXQtcG9wb3ZlciAjc2VhcmNoRW1wUG9wb3ZlciBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiIHZlcnRpY2FsQWxpZ249XCJiZWxvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJkZWZhdWx0LXBvcG92ZXIgcC0zXCI+XHJcbiAgICA8b2wgY2xhc3M9XCJweC0zIG0tMFwiPlxyXG4gICAgICA8bGk+e3sgXCJzZWFyY2hFbXBsb3llZVRvb2x0aXBfMVwiIHwgdHJhbnNsYXRlIH19PC9saT5cclxuICAgICAgPGxpPnt7IFwic2VhcmNoRW1wbG95ZWVUb29sdGlwXzJcIiB8IHRyYW5zbGF0ZSB9fTwvbGk+XHJcbiAgICAgIDxsaT57eyBcInNlYXJjaEVtcGxveWVlVG9vbHRpcF8zXCIgfCB0cmFuc2xhdGUgfX08L2xpPlxyXG4gICAgICA8bGk+e3sgXCJzZWFyY2hFbXBsb3llZVRvb2x0aXBfNFwiIHwgdHJhbnNsYXRlIH19PC9saT5cclxuICAgIDwvb2w+XHJcbiAgPC9kaXY+XHJcbjwvc2F0LXBvcG92ZXI+XHJcbiJdfQ==
|
|
@@ -22,7 +22,7 @@ export class TextareaComponent extends ControlValueAccessorDirective {
|
|
|
22
22
|
useExisting: forwardRef(() => TextareaComponent),
|
|
23
23
|
multi: true,
|
|
24
24
|
},
|
|
25
|
-
], usesInheritance: true, ngImport: i0, template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!required\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n <mat-form-field class=\"custom-textarea bordered-input {{className}}\">\r\n <mat-label>{{ label }}</mat-label>\r\n <label class=\"mat-form-content\">\r\n @if (type === 'arOnly'){\r\n <textarea [placeholder]=\"placeholder\" min=\"minlength\" arOnly max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n @if (type === 'enOnly'){\r\n <textarea [placeholder]=\"placeholder\" min=\"minlength\" enOnly max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n @if (type !== 'enOnly' && type !== 'arOnly' ){\r\n <textarea [placeholder]=\"placeholder\" \r\n [maxlength]=\"maxLength\" min=\"minlength\" specialIsAlphaNumeric max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n \r\n </label>\r\n @if (showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n \r\n </mat-form-field>\r\n <app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n \r\n </ng-container>\r\n}\r\n@if (isReadOnly && (showIfEmpty || control)){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [insideTable]=\"insideTable\" [label]=\"label\" [value]=\"control?.value\" [type]=\"type\"></app-info-item>\r\n </ng-container>\r\n}\r\n\r\n", styles: ["
|
|
25
|
+
], usesInheritance: true, ngImport: i0, template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!control.hasValidator(Validators['required'])\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n <mat-form-field class=\"custom-textarea bordered-input {{className}}\">\r\n <mat-label>{{ label }}</mat-label>\r\n <label class=\"mat-form-content\">\r\n @if (type === 'arOnly'){\r\n <textarea [placeholder]=\"placeholder\" min=\"minlength\" arOnly max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n @if (type === 'enOnly'){\r\n <textarea [placeholder]=\"placeholder\" min=\"minlength\" enOnly max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n @if (type !== 'enOnly' && type !== 'arOnly' ){\r\n <textarea [placeholder]=\"placeholder\" \r\n [maxlength]=\"maxLength\" min=\"minlength\" specialIsAlphaNumeric max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n \r\n </label>\r\n @if (showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n \r\n </mat-form-field>\r\n <app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n \r\n </ng-container>\r\n}\r\n@if (isReadOnly && (showIfEmpty || control)){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [insideTable]=\"insideTable\" [label]=\"label\" [value]=\"control?.value\" [type]=\"type\"></app-info-item>\r\n </ng-container>\r\n}\r\n\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i1.MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i4.ValidationErrorsComponent, selector: "app-validation-errors", inputs: ["errors", "customErrorMessages"] }, { kind: "component", type: i5.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i6.ReactiveFormsModule }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.EnOnlyDirective, selector: "[enOnly]" }, { kind: "directive", type: i9.ArOnlyDirective, selector: "[arOnly]" }] });
|
|
26
26
|
}
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextareaComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
@@ -36,10 +36,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
36
36
|
useExisting: forwardRef(() => TextareaComponent),
|
|
37
37
|
multi: true,
|
|
38
38
|
},
|
|
39
|
-
], template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!required\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n <mat-form-field class=\"custom-textarea bordered-input {{className}}\">\r\n <mat-label>{{ label }}</mat-label>\r\n <label class=\"mat-form-content\">\r\n @if (type === 'arOnly'){\r\n <textarea [placeholder]=\"placeholder\" min=\"minlength\" arOnly max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n @if (type === 'enOnly'){\r\n <textarea [placeholder]=\"placeholder\" min=\"minlength\" enOnly max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n @if (type !== 'enOnly' && type !== 'arOnly' ){\r\n <textarea [placeholder]=\"placeholder\" \r\n [maxlength]=\"maxLength\" min=\"minlength\" specialIsAlphaNumeric max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n \r\n </label>\r\n @if (showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n \r\n </mat-form-field>\r\n <app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n \r\n </ng-container>\r\n}\r\n@if (isReadOnly && (showIfEmpty || control)){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [insideTable]=\"insideTable\" [label]=\"label\" [value]=\"control?.value\" [type]=\"type\"></app-info-item>\r\n </ng-container>\r\n}\r\n\r\n"
|
|
39
|
+
], template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!control.hasValidator(Validators['required'])\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n <mat-form-field class=\"custom-textarea bordered-input {{className}}\">\r\n <mat-label>{{ label }}</mat-label>\r\n <label class=\"mat-form-content\">\r\n @if (type === 'arOnly'){\r\n <textarea [placeholder]=\"placeholder\" min=\"minlength\" arOnly max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n @if (type === 'enOnly'){\r\n <textarea [placeholder]=\"placeholder\" min=\"minlength\" enOnly max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n @if (type !== 'enOnly' && type !== 'arOnly' ){\r\n <textarea [placeholder]=\"placeholder\" \r\n [maxlength]=\"maxLength\" min=\"minlength\" specialIsAlphaNumeric max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n \r\n </label>\r\n @if (showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n \r\n </mat-form-field>\r\n <app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n \r\n </ng-container>\r\n}\r\n@if (isReadOnly && (showIfEmpty || control)){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [insideTable]=\"insideTable\" [label]=\"label\" [value]=\"control?.value\" [type]=\"type\"></app-info-item>\r\n </ng-container>\r\n}\r\n\r\n" }]
|
|
40
40
|
}], propDecorators: { className: [{
|
|
41
41
|
type: Input
|
|
42
42
|
}], preventSpecailChar: [{
|
|
43
43
|
type: Input
|
|
44
44
|
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7O0FBcUJwRixNQUFNLE9BQU8saUJBQXdCLFNBQVEsNkJBQW1DO0lBQ3JFLFNBQVMsQ0FBVTtJQUNuQixrQkFBa0IsQ0FBVzt1R0FGM0IsaUJBQWlCOzJGQUFqQixpQkFBaUIseUlBUmpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDaEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ3RCSCx1eERBeUNBOzsyRkRqQmEsaUJBQWlCO2tCQW5CN0IsU0FBUzsrQkFDRSxjQUFjLFdBR2YsQ0FBQyxzQkFBc0IsQ0FBQyxXQUN4Qjt3QkFDUCxHQUFHLGNBQWM7d0JBQ2pCLEdBQUcsT0FBTzt3QkFDVixHQUFHLHNCQUFzQjtxQkFDMUIsY0FDVyxJQUFJLGFBQ0w7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUdRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge0NvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgZm9yd2FyZFJlZiwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJy4uL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWF0Rm9ybUltcG9ydHMsIFNoYXJlZHMsIFRleHRMYW5ndWFnZURpcmVjdGl2ZXMgfSBmcm9tICcuLi9zaGFyZWQtaW1wb3J0cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC10ZXh0YXJlYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0YXJlYS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICAuLi5NYXRGb3JtSW1wb3J0cyxcclxuICAgIC4uLlNoYXJlZHMsXHJcbiAgICAuLi5UZXh0TGFuZ3VhZ2VEaXJlY3RpdmVzXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGV4dGFyZWFDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFDb21wb25lbnQ8VHlwZT4gZXh0ZW5kcyBDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZTxUeXBlPiB7XHJcbiAgQElucHV0KCkgY2xhc3NOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHByZXZlbnRTcGVjYWlsQ2hhciE6IGJvb2xlYW47XHJcbn1cclxuIiwiQGlmKCFpc1JlYWRPbmx5KXtcclxuICA8bmctY29udGFpbmVyPlxyXG4gICAgQGlmKGxhYmVsKXtcclxuICAgICAgPGFwcC1mb3JtLWxhYmVsIFtsYWJlbF09XCJsYWJlbFwiIFtvcHRpb25hbF09XCIhY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9yc1sncmVxdWlyZWQnXSlcIiBbdG9vbHRpcF09XCJ0b29sdGlwXCI+PC9hcHAtZm9ybS1sYWJlbD5cclxuICAgICAgfVxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiY3VzdG9tLXRleHRhcmVhIGJvcmRlcmVkLWlucHV0ICB7e2NsYXNzTmFtZX19XCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3sgbGFiZWwgfX08L21hdC1sYWJlbD5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwibWF0LWZvcm0tY29udGVudFwiPlxyXG4gICAgICAgIEBpZiAodHlwZSA9PT0gJ2FyT25seScpe1xyXG4gICAgICAgICAgPHRleHRhcmVhIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiICAgbWluPVwibWlubGVuZ3RoXCIgYXJPbmx5IG1heD1cIm1heFZhbHVlXCJcclxuICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBtYXRJbnB1dD48L3RleHRhcmVhPlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKHR5cGUgPT09ICdlbk9ubHknKXtcclxuICAgICAgICAgIDx0ZXh0YXJlYSAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgIG1pbj1cIm1pbmxlbmd0aFwiIGVuT25seSBtYXg9XCJtYXhWYWx1ZVwiXHJcbiAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgbWF0SW5wdXQ+PC90ZXh0YXJlYT5cclxuICAgICAgICB9XHJcbiAgICAgICBAaWYgKHR5cGUgIT09ICdlbk9ubHknICYmICB0eXBlICE9PSAnYXJPbmx5JyApe1xyXG4gICAgICAgIDx0ZXh0YXJlYSBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBcclxuICAgICAgICBbbWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiIG1pbj1cIm1pbmxlbmd0aFwiIHNwZWNpYWxJc0FscGhhTnVtZXJpYyBtYXg9XCJtYXhWYWx1ZVwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBtYXRJbnB1dD48L3RleHRhcmVhPlxyXG4gICAgICAgfVxyXG4gICAgICAgXHJcbiAgICAgIDwvbGFiZWw+XHJcbiAgICAgIEBpZiAoc2hvd0hpbnQpe1xyXG4gICAgICAgIDxtYXQtaGludCBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTEgbXQtMVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZmkgc2ZpLWluZm8gZnMtMTcgZmMtZGFyay1ncmF5XCIgW25nQ2xhc3NdPVwieydmYy1vYXNpcy1saWdodC1pbXAnOnZhbHVlfVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTIgZmMtYmxhY2sgbGluZS1oZWlnaHQtMVwiPnt7IGhpbnQgfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtaGludD5cclxuICAgICAgfVxyXG4gICAgXHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxhcHAtdmFsaWRhdGlvbi1lcnJvcnMgW2Vycm9yc109XCJjb250cm9sLmVycm9yc1wiPjwvYXBwLXZhbGlkYXRpb24tZXJyb3JzPlxyXG4gIFxyXG4gIDwvbmctY29udGFpbmVyPlxyXG59XHJcbkBpZiAoaXNSZWFkT25seSAmJiAoc2hvd0lmRW1wdHkgfHwgY29udHJvbCkpe1xyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiIFtpbnNpZGVUYWJsZV09XCJpbnNpZGVUYWJsZVwiIFtsYWJlbF09XCJsYWJlbFwiIFt2YWx1ZV09XCJjb250cm9sPy52YWx1ZVwiIFt0eXBlXT1cInR5cGVcIj48L2FwcC1pbmZvLWl0ZW0+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -27,7 +27,7 @@ export class ToggleButtonComponent extends ControlValueAccessorDirective {
|
|
|
27
27
|
useExisting: forwardRef(() => ToggleButtonComponent),
|
|
28
28
|
multi: true,
|
|
29
29
|
},
|
|
30
|
-
], usesInheritance: true, ngImport: i0, template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!required\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n @if(options){\r\n <mat-button-toggle-group class=\"
|
|
30
|
+
], usesInheritance: true, ngImport: i0, template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!control.hasValidator(Validators['required'])\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n @if(options){\r\n <mat-button-toggle-group class=\"Toggle__buttons d-flex align-items-center gap-3\" [value]=\"control.value\" [formControl]=\"control\"\r\n aria-label=\"Font Style\" [multiple]=\"multiple\">\r\n @for(item of options; track item){\r\n <mat-button-toggle [value]=\"item[key]\" (click)=\"hasHint ? hintSection?.toggle() : null\" [satPopoverAnchor]=\"hintSection\">\r\n <span>\r\n {{item[displayedLabel]}}\r\n </span>\r\n <sat-popover #hintSection [hasBackdrop]=\" true\" verticalAlign=\"below\">\r\n <div class=\"default-tooltip\">\r\n <p class=\"m-0\" [innerHTML]=\"item[displayedLabel]\"></p>\r\n </div>\r\n </sat-popover>\r\n </mat-button-toggle>\r\n }\r\n\r\n </mat-button-toggle-group>\r\n }\r\n </ng-container>\r\n}\r\n\r\n@if(isReadOnly && control.value){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [insideTable]=\"insideTable\" [type]=\"'toggleBtn'\" [label]=\"label\" [value]=\"control?.value\"></app-info-item>\r\n </ng-container>\r\n\r\n}\r\n", styles: [""], dependencies: [{ kind: "directive", type: MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i1.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: i1.SatPopoverAnchorDirective, selector: "[satPopoverAnchor]", inputs: ["satPopoverAnchor"], exportAs: ["satPopoverAnchor"] }, { kind: "component", type: i2.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i3.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i4.ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ToggleButtonComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
@@ -42,7 +42,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
42
42
|
useExisting: forwardRef(() => ToggleButtonComponent),
|
|
43
43
|
multi: true,
|
|
44
44
|
},
|
|
45
|
-
], standalone: true, template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!required\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n @if(options){\r\n <mat-button-toggle-group class=\"
|
|
45
|
+
], standalone: true, template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!control.hasValidator(Validators['required'])\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n @if(options){\r\n <mat-button-toggle-group class=\"Toggle__buttons d-flex align-items-center gap-3\" [value]=\"control.value\" [formControl]=\"control\"\r\n aria-label=\"Font Style\" [multiple]=\"multiple\">\r\n @for(item of options; track item){\r\n <mat-button-toggle [value]=\"item[key]\" (click)=\"hasHint ? hintSection?.toggle() : null\" [satPopoverAnchor]=\"hintSection\">\r\n <span>\r\n {{item[displayedLabel]}}\r\n </span>\r\n <sat-popover #hintSection [hasBackdrop]=\" true\" verticalAlign=\"below\">\r\n <div class=\"default-tooltip\">\r\n <p class=\"m-0\" [innerHTML]=\"item[displayedLabel]\"></p>\r\n </div>\r\n </sat-popover>\r\n </mat-button-toggle>\r\n }\r\n\r\n </mat-button-toggle-group>\r\n }\r\n </ng-container>\r\n}\r\n\r\n@if(isReadOnly && control.value){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [insideTable]=\"insideTable\" [type]=\"'toggleBtn'\" [label]=\"label\" [value]=\"control?.value\"></app-info-item>\r\n </ng-container>\r\n\r\n}\r\n" }]
|
|
46
46
|
}], propDecorators: { className: [{
|
|
47
47
|
type: Input
|
|
48
48
|
}], data: [{
|
|
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
64
64
|
}], key: [{
|
|
65
65
|
type: Input
|
|
66
66
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZm9ybS1maWVsZC90b2dnbGUtYnV0dG9uL3RvZ2dsZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvdG9nZ2xlLWJ1dHRvbi90b2dnbGUtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBQyxlQUFlLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQXFCNUMsTUFBTSxPQUFPLHFCQUE0QixTQUFRLDZCQUFtQztJQUN6RSxTQUFTLEdBQUcsZ0JBQWdCLENBQUM7SUFDN0IsSUFBSSxDQUFTO0lBQ1osUUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDL0IsS0FBSyxDQUFVO0lBQ2YsUUFBUSxDQUFVO0lBQ2xCLFFBQVEsQ0FBVTtJQUNsQixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLE9BQU8sQ0FBTztJQUNkLGNBQWMsQ0FBUztJQUN2QixHQUFHLENBQVM7dUdBVlYscUJBQXFCOzJGQUFyQixxQkFBcUIsdVNBVHJCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDcEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ3ZCSCwweENBaUNBLDBERHJCSSxvQkFBb0Isa1RBQ3BCLGVBQWUsNFFBQ2YsZ0JBQWdCOzsyRkFZUCxxQkFBcUI7a0JBbkJqQyxTQUFTOytCQUNFLG1CQUFtQixXQUdwQjt3QkFDUCxvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixHQUFHLE9BQU87cUJBQ1gsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsY0FDVyxJQUFJOzhCQUdQLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0UsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNYXRCdXR0b25Ub2dnbGUsIE1hdEJ1dHRvblRvZ2dsZUdyb3VwfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZVwiO1xyXG5pbXBvcnQge1NhdFBvcG92ZXJNb2R1bGV9IGZyb20gXCJAbmNzdGF0ZS9zYXQtcG9wb3ZlclwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJy4uL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNoYXJlZHMgfSBmcm9tICcuLi9zaGFyZWQtaW1wb3J0cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC10b2dnbGUtYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEJ1dHRvblRvZ2dsZUdyb3VwLFxyXG4gICAgTWF0QnV0dG9uVG9nZ2xlLFxyXG4gICAgU2F0UG9wb3Zlck1vZHVsZSxcclxuICAgIC4uLlNoYXJlZHNcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVG9nZ2xlQnV0dG9uQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9nZ2xlQnV0dG9uQ29tcG9uZW50PFR5cGU+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT4gIHtcclxuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnYm9yZGVyZWQtaW5wdXQnO1xyXG4gIEBJbnB1dCgpIGRhdGEhOiBhbnlbXTtcclxuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgZXJyb3IhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgb3B0aW9uQXIhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgb3B0aW9uRW4hOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGFzSGludCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6YW55W107XHJcbiAgQElucHV0KCkgZGlzcGxheWVkTGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBrZXk6IHN0cmluZztcclxuXHJcblxyXG5cclxuXHJcbn1cclxuIiwiQGlmKCFpc1JlYWRPbmx5KXtcclxuICA8bmctY29udGFpbmVyPlxyXG4gICAgQGlmKGxhYmVsKXtcclxuICAgICAgPGFwcC1mb3JtLWxhYmVsIFtsYWJlbF09XCJsYWJlbFwiIFtvcHRpb25hbF09XCIhY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9yc1sncmVxdWlyZWQnXSlcIiBbdG9vbHRpcF09XCJ0b29sdGlwXCI+PC9hcHAtZm9ybS1sYWJlbD5cclxuICAgICAgfVxyXG5cclxuICBAaWYob3B0aW9ucyl7XHJcbiAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgY2xhc3M9XCJUb2dnbGVfX2J1dHRvbnMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiIFt2YWx1ZV09XCJjb250cm9sLnZhbHVlXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgYXJpYS1sYWJlbD1cIkZvbnQgU3R5bGVcIiBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIj5cclxuICAgIEBmb3IoaXRlbSBvZiBvcHRpb25zOyB0cmFjayBpdGVtKXtcclxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJpdGVtW2tleV1cIiAoY2xpY2spPVwiaGFzSGludCA/IGhpbnRTZWN0aW9uPy50b2dnbGUoKSA6IG51bGxcIiBbc2F0UG9wb3ZlckFuY2hvcl09XCJoaW50U2VjdGlvblwiPlxyXG4gICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAge3tpdGVtW2Rpc3BsYXllZExhYmVsXX19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxzYXQtcG9wb3ZlciAjaGludFNlY3Rpb24gW2hhc0JhY2tkcm9wXT1cIiB0cnVlXCIgdmVydGljYWxBbGlnbj1cImJlbG93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC10b29sdGlwXCI+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwibS0wXCIgW2lubmVySFRNTF09XCJpdGVtW2Rpc3BsYXllZExhYmVsXVwiPjwvcD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvc2F0LXBvcG92ZXI+XHJcbiAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XHJcbiAgICB9XHJcblxyXG4gPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cclxuICB9XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbkBpZihpc1JlYWRPbmx5ICYmIGNvbnRyb2wudmFsdWUpe1xyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiIFtpbnNpZGVUYWJsZV09XCJpbnNpZGVUYWJsZVwiIFt0eXBlXT1cIid0b2dnbGVCdG4nXCIgW2xhYmVsXT1cImxhYmVsXCIgW3ZhbHVlXT1cImNvbnRyb2w/LnZhbHVlXCI+PC9hcHAtaW5mby1pdGVtPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxufVxyXG4iXX0=
|
|
@@ -15,7 +15,6 @@ export class ValidationErrorsComponent extends ControlValueAccessorDirective {
|
|
|
15
15
|
validatePhoneNumber: this.i18n.translate('pleaseEnterValidNumber')
|
|
16
16
|
};
|
|
17
17
|
ngOnChanges(changes) {
|
|
18
|
-
console.log(this.control?.errors);
|
|
19
18
|
const { customErrorMessages } = changes;
|
|
20
19
|
if (customErrorMessages) {
|
|
21
20
|
this.errorMessages = {
|
|
@@ -41,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
41
40
|
}], customErrorMessages: [{
|
|
42
41
|
type: Input
|
|
43
42
|
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvdmFsaWRhdGlvbi1lcnJvcnMvdmFsaWRhdGlvbi1lcnJvcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvdmFsaWRhdGlvbi1lcnJvcnMvdmFsaWRhdGlvbi1lcnJvcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOzs7QUFZL0QsTUFBTSxPQUFPLHlCQUFnQyxTQUFRLDZCQUFtQztJQUM3RSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ1osbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQ2xDLGFBQWEsR0FBRztRQUNkLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQztRQUNwRCxTQUFTLEVBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUM7UUFDckQsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDO1FBQ3BELG1CQUFtQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDO0tBQ25FLENBQUM7SUFFRixXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3hDLElBQUksbUJBQW1CLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHO2dCQUNuQixHQUFHLElBQUksQ0FBQyxhQUFhO2dCQUNyQixHQUFHLG1CQUFtQixDQUFDLFlBQVk7YUFDcEMsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxlQUFlLEtBQUssYUFBYSxDQUFDLEtBQUssRUFBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsc0JBQXNCLENBQUE7UUFDMUQsQ0FBQztJQUNILENBQUM7dUdBckJVLHlCQUF5QjsyRkFBekIseUJBQXlCLHVNQ2hCdEMsNFNBTUcseURETUMsWUFBWSwwRkFDWixRQUFROzsyRkFHQyx5QkFBeUI7a0JBVnJDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBR3JCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFFBQVE7cUJBQ1Q7OEJBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RXJyb3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICcuLi9jb250cm9sLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7UmVnZXhQYXR0ZXJuc30gZnJvbSBcIi4uLy4uLy4uLy4uL3JlZ2V4L3JlZ2V4LXBhdHRlcm5zXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC12YWxpZGF0aW9uLWVycm9ycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZhbGlkYXRpb24tZXJyb3JzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi92YWxpZGF0aW9uLWVycm9ycy5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0RXJyb3JcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uRXJyb3JzQ29tcG9uZW50PFR5cGU+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT4gIHtcclxuICBASW5wdXQoKSBlcnJvcnMgPSB7fTtcclxuICBASW5wdXQoKSBjdXN0b21FcnJvck1lc3NhZ2VzID0ge307XHJcbiAgZXJyb3JNZXNzYWdlcyA9IHtcclxuICAgIHJlcXVpcmVkOiB0aGlzLmkxOG4udHJhbnNsYXRlKCd0aGlzRmllbGRJc1JlcXVpcmVkJyksXHJcbiAgICBtYXhsZW5ndGg6ICB0aGlzLmkxOG4udHJhbnNsYXRlKCd0aGlzRmllbGRNYXhMZW5ndGgnKSxcclxuICAgIG1pbmxlbmd0aDogdGhpcy5pMThuLnRyYW5zbGF0ZSgndGhpc0ZpZWxkTWluTGVuZ3RoJyksXHJcbiAgICB2YWxpZGF0ZVBob25lTnVtYmVyOiB0aGlzLmkxOG4udHJhbnNsYXRlKCdwbGVhc2VFbnRlclZhbGlkTnVtYmVyJylcclxuICB9O1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IGN1c3RvbUVycm9yTWVzc2FnZXMgfSA9IGNoYW5nZXM7XHJcbiAgICBpZiAoY3VzdG9tRXJyb3JNZXNzYWdlcykge1xyXG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSB7XHJcbiAgICAgICAgLi4udGhpcy5lcnJvck1lc3NhZ2VzLFxyXG4gICAgICAgIC4uLmN1c3RvbUVycm9yTWVzc2FnZXMuY3VycmVudFZhbHVlLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZXJyb3JzPy5bJ3BhdHRlcm4nXT8ucmVxdWlyZWRQYXR0ZXJuID09PSBSZWdleFBhdHRlcm5zLmVtYWlsKXtcclxuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXNbJ3BhdHRlcm4nXSA9ICdZb3UgbXVzdCBlbnRlciBlbWFpbCdcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiICBAaWYoY29udHJvbC50b3VjaGVkKSB7XHJcbiAgICBAZm9yKGVycm9yIG9mIGVycm9ycyB8IGtleXZhbHVlOyB0cmFjayBlcnJvciApIHtcclxuICAgICAgICAgICAgPG1hdC1lcnJvciBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICAgIHt7IGVycm9yTWVzc2FnZXNbZXJyb3Iua2V5XSB9fSB7e2Vycm9yc1snbWF4bGVuZ3RoJ10/LnJlcXVpcmVkTGVuZ3RofX0ge3tlcnJvcnNbJ21pbmxlbmd0aCddPy5yZXF1aXJlZExlbmd0aH19XHJcbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICB9XHJcbiAgfSJdfQ==
|