bpm-core 0.0.56 → 0.0.58
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/layout/layout.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +6 -4
- package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +7 -7
- package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +4 -3
- package/esm2022/lib/components/shared-components/form-field/control-value-accessor.directive.mjs +5 -1
- 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 +4 -3
- package/esm2022/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.mjs +7 -7
- package/esm2022/lib/components/shared-components/form-field/form-label/form-label.component.mjs +5 -3
- package/esm2022/lib/components/shared-components/form-field/info-item/info-item.component.mjs +6 -4
- package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +7 -4
- package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +16 -3
- package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +16 -13
- package/esm2022/lib/components/shared-components/form-field/shared-imports.mjs +4 -2
- package/esm2022/lib/components/shared-components/form-field/toggle-button/toggle-button.component.mjs +6 -6
- package/esm2022/lib/components/shared-components/form-field/validation-errors/validation-errors.component.mjs +5 -5
- package/esm2022/lib/components/shared-components/table/table.component.mjs +2 -2
- package/esm2022/lib/i18n/ar.mjs +9 -2
- package/esm2022/lib/i18n/en.mjs +9 -2
- package/esm2022/lib/pipes/translate.pipe.mjs +36 -0
- package/esm2022/lib/testComponent/general-approver-section/general-approver-section.component.mjs +2 -2
- package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +86 -53
- package/fesm2022/bpm-core.mjs +550 -144
- package/fesm2022/bpm-core.mjs.map +1 -1
- package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +1 -0
- package/lib/components/shared-components/form-field/input/input.component.d.ts +2 -1
- package/lib/components/shared-components/form-field/input-telephone/input-telephone.component.d.ts +2 -0
- package/lib/components/shared-components/form-field/shared-imports.d.ts +3 -2
- package/lib/components/shared-components/form-field/toggle-button/toggle-button.component.d.ts +2 -2
- package/lib/components/shared-components/form-field/validation-errors/validation-errors.component.d.ts +4 -4
- package/lib/i18n/ar.d.ts +7 -0
- package/lib/i18n/en.d.ts +7 -0
- package/lib/pipes/translate.pipe.d.ts +11 -0
- package/lib/testComponent/request-details-section/request-details-section.component.d.ts +1 -0
- package/package.json +1 -1
- package/src/lib/assets/scss/_general.scss +2 -2
package/esm2022/lib/components/shared-components/form-field/info-item/info-item.component.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
2
2
|
import { MatSlideToggle } from '@angular/material/slide-toggle';
|
|
3
3
|
import { DatePipe, DecimalPipe, NgClass, NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';
|
|
4
|
+
import { TranslatePipe } from "../../../../pipes/translate.pipe";
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "../../../../services";
|
|
6
7
|
export class InfoItemComponent {
|
|
@@ -31,7 +32,7 @@ export class InfoItemComponent {
|
|
|
31
32
|
return '/group/i-gate/wm-bpm/forms/-/proxy/portrait?email=' + email;
|
|
32
33
|
}
|
|
33
34
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InfoItemComponent, deps: [{ token: i1.CoreI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InfoItemComponent, isStandalone: true, selector: "app-info-item", inputs: { label: "label", value: "value", name: "name", type: "type", dateType: "dateType", multiple: "multiple", insideTable: "insideTable", hasLabel: "hasLabel", arrayList: "arrayList", actionType: "actionType", download: "download" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\r\n @if(label){\r\n <span class=\"name \">{{ label }}</span>\r\n }\r\n\r\n <!-- class=\"disc\" -->\r\n <span *ngSwitchCase=\"'attach'\">\r\n<!-- <app-docs-uploader [field]=\"value\" styleHeight=\"mini\" display=\"only-files\"></app-docs-uploader>-->\r\n </span>\r\n <span class=\"disc mt-2 \" *ngSwitchCase=\"'user-picker'\">\r\n @if(!multiple){\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"img-card circled-img small\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\">{{name}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\">{{value}}</span>\r\n </div>\r\n </div>\r\n }\r\n\r\n @if(multiple){\r\n @if(multiple){\r\n <ng-container>\r\n @for (emails of arrayList; track $index; let ind = $index) {\r\n <div class=\"d-flex flex-wrap\">\r\n <ng-container>\r\n <div class=\"img-card circled-img small mb-3\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2 mb-3\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\"> {{(emails?.['personName'])}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\"> {{emails?.['personEmail']}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n }\r\n </ng-container>\r\n }\r\n }\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggle'\">\r\n <mat-slide-toggle [checked]=\"value\"></mat-slide-toggle>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggleBtn'\">\r\n <span>{{value}}</span>\r\n </span>\r\n <span class=\"disc\" *ngSwitchCase=\"'telephone'\">\r\n <div class=\"d-flex align-items-center\">\r\n <bdi>{{ value }}</bdi>\r\n </div>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'currency'\">\r\n <span>{{value | number:'1.2-2'}}</span>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'date'\">\r\n @if(dateType === 'hijri'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n @if(dateType === 'yearOnly'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n@if(dateType !== 'hijri' && dateType !== 'yearOnly' && !value?.startDate){\r\n <span>\r\n {{value | date :'dd/MM/yyyy'}}\r\n </span>\r\n}\r\n @if(dateType !== 'hijri' && dateType !== 'yearOnly' && value?.startDate){\r\n <span>\r\n {{value?.['startDate'] | date :'dd/MM/yyyy'}}\r\n -\r\n {{value?.['endDate'] | date :'dd/MM/yyyy'}}\r\n </span>\r\n }\r\n\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'dateHijri'\">\r\n {{ value }}\r\n </span>\r\n\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'link'\">\r\n <a [href]=\"value\" target=\"_blank\">{{
|
|
35
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InfoItemComponent, isStandalone: true, selector: "app-info-item", inputs: { label: "label", value: "value", name: "name", type: "type", dateType: "dateType", multiple: "multiple", insideTable: "insideTable", hasLabel: "hasLabel", arrayList: "arrayList", actionType: "actionType", download: "download" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\r\n @if(label){\r\n <span class=\"name \">{{ label }}</span>\r\n }\r\n\r\n <!-- class=\"disc\" -->\r\n <span *ngSwitchCase=\"'attach'\">\r\n<!-- <app-docs-uploader [field]=\"value\" styleHeight=\"mini\" display=\"only-files\"></app-docs-uploader>-->\r\n </span>\r\n <span class=\"disc mt-2 \" *ngSwitchCase=\"'user-picker'\">\r\n @if(!multiple){\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"img-card circled-img small\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\">{{name}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\">{{value}}</span>\r\n </div>\r\n </div>\r\n }\r\n\r\n @if(multiple){\r\n @if(multiple){\r\n <ng-container>\r\n @for (emails of arrayList; track $index; let ind = $index) {\r\n <div class=\"d-flex flex-wrap\">\r\n <ng-container>\r\n <div class=\"img-card circled-img small mb-3\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2 mb-3\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\"> {{(emails?.['personName'])}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\"> {{emails?.['personEmail']}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n }\r\n </ng-container>\r\n }\r\n }\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggle'\">\r\n <mat-slide-toggle [checked]=\"value\"></mat-slide-toggle>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggleBtn'\">\r\n <span>{{value}}</span>\r\n </span>\r\n <span class=\"disc\" *ngSwitchCase=\"'telephone'\">\r\n <div class=\"d-flex align-items-center\">\r\n <bdi>{{ value }}</bdi>\r\n </div>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'currency'\">\r\n <span>{{value | number:'1.2-2'}}</span>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'date'\">\r\n @if(dateType === 'hijri'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n @if(dateType === 'yearOnly'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n@if(dateType !== 'hijri' && dateType !== 'yearOnly' && !value?.startDate){\r\n <span>\r\n {{value | date :'dd/MM/yyyy'}}\r\n </span>\r\n}\r\n @if(dateType !== 'hijri' && dateType !== 'yearOnly' && value?.startDate){\r\n <span>\r\n {{value?.['startDate'] | date :'dd/MM/yyyy'}}\r\n -\r\n {{value?.['endDate'] | date :'dd/MM/yyyy'}}\r\n </span>\r\n }\r\n\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'dateHijri'\">\r\n {{ value }}\r\n </span>\r\n\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'link'\">\r\n <a [href]=\"value\" target=\"_blank\">{{'View' | translate}} {{ label }} </a>\r\n </span>\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'formIdLink'\">\r\n <a (click)=\"viewForm(value)\">{{ value }} </a>\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'text'\">\r\n {{ value }}\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'multipleSelect'\">\r\n @for(item of value; track $index; let i =$index){\r\n <span>{{item.value}}\r\n @if(!(i === value.length-1)){\r\n <span>, </span>\r\n }\r\n </span>\r\n }\r\n\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" [innerHTML]=\"value\" *ngSwitchDefault>\r\n </span>\r\n</ng-container>\r\n", styles: [":host.slide-end .disc{text-align:end}:host.user-picker{border-radius:4px;padding:1rem;background-color:var(--light-gray);max-width:320px;width:100%}:host.user-picker .name{display:none}:host.user-picker .disc{width:100%}.name{width:270px;font-size:.875rem;font-weight:var(--font-medium);color:var(--dark-gray);margin-bottom:0;display:inline-block}.disc{width:calc(100% - 270px);font-size:.875rem;font-weight:var(--font-regular);color:var(--black);display:inline-block}@media (max-width: 768px){.name,.disc{width:100%!important}}.breakLine{line-break:anywhere}a{color:#0d6efd!important}a:hover{cursor:pointer}\n"], dependencies: [{ kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
35
36
|
}
|
|
36
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InfoItemComponent, decorators: [{
|
|
37
38
|
type: Component,
|
|
@@ -42,8 +43,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
42
43
|
DatePipe,
|
|
43
44
|
NgClass,
|
|
44
45
|
NgSwitchDefault,
|
|
45
|
-
NgSwitch
|
|
46
|
-
|
|
46
|
+
NgSwitch,
|
|
47
|
+
TranslatePipe
|
|
48
|
+
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container [ngSwitch]=\"type\">\r\n @if(label){\r\n <span class=\"name \">{{ label }}</span>\r\n }\r\n\r\n <!-- class=\"disc\" -->\r\n <span *ngSwitchCase=\"'attach'\">\r\n<!-- <app-docs-uploader [field]=\"value\" styleHeight=\"mini\" display=\"only-files\"></app-docs-uploader>-->\r\n </span>\r\n <span class=\"disc mt-2 \" *ngSwitchCase=\"'user-picker'\">\r\n @if(!multiple){\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"img-card circled-img small\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\">{{name}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\">{{value}}</span>\r\n </div>\r\n </div>\r\n }\r\n\r\n @if(multiple){\r\n @if(multiple){\r\n <ng-container>\r\n @for (emails of arrayList; track $index; let ind = $index) {\r\n <div class=\"d-flex flex-wrap\">\r\n <ng-container>\r\n <div class=\"img-card circled-img small mb-3\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2 mb-3\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\"> {{(emails?.['personName'])}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\"> {{emails?.['personEmail']}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n }\r\n </ng-container>\r\n }\r\n }\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggle'\">\r\n <mat-slide-toggle [checked]=\"value\"></mat-slide-toggle>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggleBtn'\">\r\n <span>{{value}}</span>\r\n </span>\r\n <span class=\"disc\" *ngSwitchCase=\"'telephone'\">\r\n <div class=\"d-flex align-items-center\">\r\n <bdi>{{ value }}</bdi>\r\n </div>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'currency'\">\r\n <span>{{value | number:'1.2-2'}}</span>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'date'\">\r\n @if(dateType === 'hijri'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n @if(dateType === 'yearOnly'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n@if(dateType !== 'hijri' && dateType !== 'yearOnly' && !value?.startDate){\r\n <span>\r\n {{value | date :'dd/MM/yyyy'}}\r\n </span>\r\n}\r\n @if(dateType !== 'hijri' && dateType !== 'yearOnly' && value?.startDate){\r\n <span>\r\n {{value?.['startDate'] | date :'dd/MM/yyyy'}}\r\n -\r\n {{value?.['endDate'] | date :'dd/MM/yyyy'}}\r\n </span>\r\n }\r\n\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'dateHijri'\">\r\n {{ value }}\r\n </span>\r\n\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'link'\">\r\n <a [href]=\"value\" target=\"_blank\">{{'View' | translate}} {{ label }} </a>\r\n </span>\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'formIdLink'\">\r\n <a (click)=\"viewForm(value)\">{{ value }} </a>\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'text'\">\r\n {{ value }}\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'multipleSelect'\">\r\n @for(item of value; track $index; let i =$index){\r\n <span>{{item.value}}\r\n @if(!(i === value.length-1)){\r\n <span>, </span>\r\n }\r\n </span>\r\n }\r\n\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" [innerHTML]=\"value\" *ngSwitchDefault>\r\n </span>\r\n</ng-container>\r\n", styles: [":host.slide-end .disc{text-align:end}:host.user-picker{border-radius:4px;padding:1rem;background-color:var(--light-gray);max-width:320px;width:100%}:host.user-picker .name{display:none}:host.user-picker .disc{width:100%}.name{width:270px;font-size:.875rem;font-weight:var(--font-medium);color:var(--dark-gray);margin-bottom:0;display:inline-block}.disc{width:calc(100% - 270px);font-size:.875rem;font-weight:var(--font-regular);color:var(--black);display:inline-block}@media (max-width: 768px){.name,.disc{width:100%!important}}.breakLine{line-break:anywhere}a{color:#0d6efd!important}a:hover{cursor:pointer}\n"] }]
|
|
47
49
|
}], ctorParameters: () => [{ type: i1.CoreI18nService }], propDecorators: { label: [{
|
|
48
50
|
type: Input
|
|
49
51
|
}], value: [{
|
|
@@ -67,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
67
69
|
}], download: [{
|
|
68
70
|
type: Input
|
|
69
71
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL2luZm8taXRlbS9pbmZvLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5mby1pdGVtL2luZm8taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFpQixRQUFRLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pILE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBbUIvRCxNQUFNLE9BQU8saUJBQWlCO0lBYVQ7SUFaVixLQUFLLENBQVU7SUFDZixLQUFLLENBQU87SUFDWixJQUFJLENBQU87SUFDWCxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ2QsUUFBUSxDQUFVO0lBQ2xCLFFBQVEsQ0FBVztJQUNuQixXQUFXLENBQVc7SUFDdEIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixTQUFTLENBQVM7SUFDbEIsVUFBVSxDQUFVO0lBQ3BCLFFBQVEsQ0FBVztJQUU1QixZQUFtQixJQUFxQjtRQUFyQixTQUFJLEdBQUosSUFBSSxDQUFpQjtJQUFJLENBQUM7SUFFN0MsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXO1FBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0NBQW9DLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLE9BQU8sb0RBQW9ELEdBQUcsS0FBSyxDQUFDO0lBQ3RFLENBQUM7dUdBM0JVLGlCQUFpQjsyRkFBakIsaUJBQWlCLHVUQ3ZCOUIsODRIQWdIQSw0cEJEcEdJLGNBQWMsMFVBQ2QsWUFBWSxnRkFDWixXQUFXLDBDQUNYLFFBQVEsNkNBQ1IsT0FBTyxvRkFDUCxlQUFlLDhEQUNmLFFBQVEsd0VBQ1IsYUFBYTs7MkZBSUosaUJBQWlCO2tCQWpCN0IsU0FBUzsrQkFDRSxlQUFlLGNBR2IsSUFBSSxXQUNQO3dCQUNQLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxlQUFlO3dCQUNmLFFBQVE7d0JBQ1IsYUFBYTtxQkFDZCxXQUNRLENBQUMsc0JBQXNCLENBQUM7b0ZBR3hCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvcmVJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSwgRGVjaW1hbFBpcGUsIE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UsIE5nU3dpdGNoRGVmYXVsdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7VHJhbnNsYXRlUGlwZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1pbmZvLWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2luZm8taXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0U2xpZGVUb2dnbGUsXHJcbiAgICBOZ1N3aXRjaENhc2UsXHJcbiAgICBEZWNpbWFsUGlwZSxcclxuICAgIERhdGVQaXBlLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIE5nU3dpdGNoRGVmYXVsdCxcclxuICAgIE5nU3dpdGNoLFxyXG4gICAgVHJhbnNsYXRlUGlwZVxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbGFiZWwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdmFsdWUhOiBhbnk7XHJcbiAgQElucHV0KCkgbmFtZSE6IGFueTtcclxuICBASW5wdXQoKSB0eXBlID0gJ3RleHQnO1xyXG4gIEBJbnB1dCgpIGRhdGVUeXBlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpbnNpZGVUYWJsZSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaGFzTGFiZWwgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGFycmF5TGlzdCE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIGFjdGlvblR5cGUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZG93bmxvYWQhOiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaTE4bjogQ29yZUkxOG5TZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy50eXBlID09ICdjdXJyZW5jeScpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUucmVwbGFjZUFsbCgnLCcsICcnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZpZXdGb3JtKHVybDogc3RyaW5nKSB7XHJcbiAgICB3aW5kb3cub3BlbignL2dyb3VwL2ktZ2F0ZS93bS1icG0vZm9ybXM/Zm9ybUlkPScgKyB1cmwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW1hZ2UoZW1haWw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuICcvZ3JvdXAvaS1nYXRlL3dtLWJwbS9mb3Jtcy8tL3Byb3h5L3BvcnRyYWl0P2VtYWlsPScgKyBlbWFpbDtcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInR5cGVcIj5cclxuICBAaWYobGFiZWwpe1xyXG4gICAgPHNwYW4gY2xhc3M9XCJuYW1lIFwiPnt7IGxhYmVsIH19PC9zcGFuPlxyXG4gIH1cclxuXHJcbiAgPCEtLSBjbGFzcz1cImRpc2NcIiAtLT5cclxuICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2F0dGFjaCdcIj5cclxuPCEtLSAgICA8YXBwLWRvY3MtdXBsb2FkZXIgW2ZpZWxkXT1cInZhbHVlXCIgc3R5bGVIZWlnaHQ9XCJtaW5pXCIgZGlzcGxheT1cIm9ubHktZmlsZXNcIj48L2FwcC1kb2NzLXVwbG9hZGVyPi0tPlxyXG4gIDwvc3Bhbj5cclxuICA8c3BhbiBjbGFzcz1cImRpc2MgbXQtMiBcIiAqbmdTd2l0Y2hDYXNlPVwiJ3VzZXItcGlja2VyJ1wiPlxyXG4gICAgQGlmKCFtdWx0aXBsZSl7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImltZy1jYXJkIGNpcmNsZWQtaW1nIHNtYWxsXCI+XHJcbiAgICAgICAgICA8aW1nIFtzcmNdPVwiZ2V0SW1hZ2UodmFsdWUpXCIgb25lcnJvcj1cInRoaXMub25lcnJvcj1udWxsO3RoaXMuc3JjPSdhc3NldHMvaW1hZ2VzL3VzZXIuc3ZnJztcIiBhbHQ9XCJcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGluZS1oZWlnaHQtMSBteC0yXCIgW25nQ2xhc3NdPVwieydmbGV4LWdyb3ctMSc6IGFjdGlvblR5cGUgPT09ICdkZWxldGUnfVwiPlxyXG4gICAgICAgICAgPGg2IGNsYXNzPVwiZnMtMTQgZnctYm9sZCBmYy1vbnl4IG1iLTBcIj57e25hbWV9fTwvaDY+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTEyIGZjLWRhcmstZ3JheVwiPnt7dmFsdWV9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgQGlmKG11bHRpcGxlKXtcclxuICAgICAgQGlmKG11bHRpcGxlKXtcclxuICAgICAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICBAZm9yIChlbWFpbHMgb2YgYXJyYXlMaXN0OyB0cmFjayAkaW5kZXg7IGxldCBpbmQgPSAkaW5kZXgpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWctY2FyZCBjaXJjbGVkLWltZyBzbWFsbCBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJnZXRJbWFnZSh2YWx1ZSlcIiBvbmVycm9yPVwidGhpcy5vbmVycm9yPW51bGw7dGhpcy5zcmM9J2Fzc2V0cy9pbWFnZXMvdXNlci5zdmcnO1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGluZS1oZWlnaHQtMSBteC0yIG1iLTNcIiBbbmdDbGFzc109XCJ7J2ZsZXgtZ3Jvdy0xJzogYWN0aW9uVHlwZSA9PT0gJ2RlbGV0ZSd9XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cImZzLTE0IGZ3LWJvbGQgZmMtb255eCBtYi0wXCI+IHt7KGVtYWlscz8uWydwZXJzb25OYW1lJ10pfX08L2g2PlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTEyIGZjLWRhcmstZ3JheVwiPiB7e2VtYWlscz8uWydwZXJzb25FbWFpbCddfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIH1cclxuICAgIH1cclxuICA8L3NwYW4+XHJcblxyXG4gIDxzcGFuIGNsYXNzPVwiZGlzY1wiICpuZ1N3aXRjaENhc2U9XCIndG9nZ2xlJ1wiPlxyXG4gICAgPG1hdC1zbGlkZS10b2dnbGUgW2NoZWNrZWRdPVwidmFsdWVcIj48L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgPC9zcGFuPlxyXG5cclxuICA8c3BhbiBjbGFzcz1cImRpc2NcIiAqbmdTd2l0Y2hDYXNlPVwiJ3RvZ2dsZUJ0bidcIj5cclxuICAgIDxzcGFuPnt7dmFsdWV9fTwvc3Bhbj5cclxuICA8L3NwYW4+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXNjXCIgKm5nU3dpdGNoQ2FzZT1cIid0ZWxlcGhvbmUnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8YmRpPnt7IHZhbHVlIH19PC9iZGk+XHJcbiAgICA8L2Rpdj5cclxuICA8L3NwYW4+XHJcblxyXG4gIDxzcGFuIGNsYXNzPVwiZGlzY1wiICpuZ1N3aXRjaENhc2U9XCInY3VycmVuY3knXCI+XHJcbiAgICA8c3Bhbj57e3ZhbHVlICB8IG51bWJlcjonMS4yLTInfX08L3NwYW4+XHJcbiAgPC9zcGFuPlxyXG5cclxuICA8c3BhbiBjbGFzcz1cImRpc2NcIiAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XHJcbiAgICBAaWYoZGF0ZVR5cGUgPT09ICdoaWpyaScpe1xyXG4gICAgICA8c3Bhbj5cclxuICAgICAgICB7eyB2YWx1ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICB9XHJcbiAgIEBpZihkYXRlVHlwZSA9PT0gJ3llYXJPbmx5Jyl7XHJcbiAgICA8c3Bhbj5cclxuICAgICAge3sgdmFsdWUgfX1cclxuICAgIDwvc3Bhbj5cclxuICAgfVxyXG5AaWYoZGF0ZVR5cGUgIT09ICdoaWpyaScgJiYgZGF0ZVR5cGUgIT09ICd5ZWFyT25seScgJiYgIXZhbHVlPy5zdGFydERhdGUpe1xyXG4gIDxzcGFuPlxyXG4gICAge3t2YWx1ZSAgfCBkYXRlIDonZGQvTU0veXl5eSd9fVxyXG4gIDwvc3Bhbj5cclxufVxyXG4gIEBpZihkYXRlVHlwZSAhPT0gJ2hpanJpJyAmJiBkYXRlVHlwZSAhPT0gJ3llYXJPbmx5JyAmJiB2YWx1ZT8uc3RhcnREYXRlKXtcclxuICAgIDxzcGFuPlxyXG4gICAgICB7e3ZhbHVlPy5bJ3N0YXJ0RGF0ZSddICB8IGRhdGUgOidkZC9NTS95eXl5J319XHJcbiAgICAgIC1cclxuICAgICAge3t2YWx1ZT8uWydlbmREYXRlJ10gIHwgZGF0ZSA6J2RkL01NL3l5eXknfX1cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcblxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPHNwYW4gY2xhc3M9XCJkaXNjXCIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlSGlqcmknXCI+XHJcbiAgICB7eyB2YWx1ZSB9fVxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPHNwYW4gY2xhc3M9XCJkaXNjIGJyZWFrTGluZVwiICpuZ1N3aXRjaENhc2U9XCInbGluaydcIj5cclxuICAgIDxhIFtocmVmXT1cInZhbHVlXCIgdGFyZ2V0PVwiX2JsYW5rXCI+e3snVmlldycgfCB0cmFuc2xhdGV9fSB7eyBsYWJlbCB9fSA8L2E+XHJcbiAgPC9zcGFuPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGlzYyBicmVha0xpbmVcIiAqbmdTd2l0Y2hDYXNlPVwiJ2Zvcm1JZExpbmsnXCI+XHJcbiAgICA8YSAoY2xpY2spPVwidmlld0Zvcm0odmFsdWUpXCI+e3sgdmFsdWUgfX0gPC9hPlxyXG4gIDwvc3Bhbj5cclxuICA8c3BhbiBbbmdDbGFzc109XCJ7J2JyZWFrTGluZSc6ICFpbnNpZGVUYWJsZX1cIiBjbGFzcz1cImRpc2MgXCIgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0J1wiPlxyXG4gICAge3sgdmFsdWUgfX1cclxuICA8L3NwYW4+XHJcbiAgPHNwYW4gW25nQ2xhc3NdPVwieydicmVha0xpbmUnOiAhaW5zaWRlVGFibGV9XCIgY2xhc3M9XCJkaXNjIFwiICAqbmdTd2l0Y2hDYXNlPVwiJ211bHRpcGxlU2VsZWN0J1wiPlxyXG4gICAgQGZvcihpdGVtIG9mIHZhbHVlOyB0cmFjayAkaW5kZXg7IGxldCBpID0kaW5kZXgpe1xyXG4gICAgICA8c3Bhbj57e2l0ZW0udmFsdWV9fVxyXG4gICAgICAgIEBpZighKGkgPT09IHZhbHVlLmxlbmd0aC0xKSl7XHJcbiAgICAgICAgICA8c3Bhbj4sIDwvc3Bhbj5cclxuICAgICAgICB9XHJcbiAgICA8L3NwYW4+XHJcbiAgICB9XHJcblxyXG4gIDwvc3Bhbj5cclxuICA8c3BhbiBbbmdDbGFzc109XCJ7J2JyZWFrTGluZSc6ICFpbnNpZGVUYWJsZX1cIiBjbGFzcz1cImRpc2MgXCIgW2lubmVySFRNTF09XCJ2YWx1ZVwiICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgPC9zcGFuPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
@@ -19,14 +19,15 @@ export class InputComponent extends ControlValueAccessorDirective {
|
|
|
19
19
|
iconPrefixName;
|
|
20
20
|
iconSuffixName;
|
|
21
21
|
emitedChangedValue1 = new EventEmitter();
|
|
22
|
+
customErrorMessages;
|
|
22
23
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InputComponent, isStandalone: true, selector: "app-input", inputs: { floatLabel: "floatLabel", className: "className", iconPrefixName: "iconPrefixName", iconSuffixName: "iconSuffixName", emitedChangedValue1: "emitedChangedValue1" }, providers: [
|
|
24
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InputComponent, isStandalone: true, selector: "app-input", inputs: { floatLabel: "floatLabel", className: "className", iconPrefixName: "iconPrefixName", iconSuffixName: "iconSuffixName", emitedChangedValue1: "emitedChangedValue1", customErrorMessages: "customErrorMessages" }, providers: [
|
|
24
25
|
{
|
|
25
26
|
provide: NG_VALUE_ACCESSOR,
|
|
26
27
|
useExisting: forwardRef(() => InputComponent),
|
|
27
28
|
multi: true,
|
|
28
29
|
},
|
|
29
|
-
], usesInheritance: true, ngImport: i0, template: "@if(!isReadOnly){\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\r\n class=\"primary-form {{ className }}\"\r\n [ngClass]=\"{ 'input-disabled': control.disabled }\"\r\n [floatLabel]=\"floatLabel\"\r\n>\r\n @if(iconPrefixName){<span class=\"sfi {{ iconPrefixName }}\"></span>}\r\n <label class=\"mat-form-content\">\r\n <!-- add input for ar && en custom directive with add type = arOnly || type = enOnly-->\r\n @if(type === 'arOnly'){\r\n <input\r\n arOnly\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [required]=\"required\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n } @else if(type === 'enOnly'){\r\n <input\r\n enOnly\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [required]=\"required\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n }\r\n @else{\r\n <input\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n }\r\n </label>\r\n \r\n @if(iconSuffixName){<span matSuffix class=\"sfi {{ iconSuffixName }}\"></span>}\r\n @if(hint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span\r\n class=\"sfi sfi-info fs-17 fc-dark-gray\"\r\n [ngClass]=\"{ 'fc-oasis-light-imp': value }\"\r\n ></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{ 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\r\n} @if(isReadOnly && (showIfEmpty || control)){\r\n<ng-container class=\"info-section\">\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n [label]=\"label\"\r\n [insideTable]=\"insideTable\"\r\n [hasLabel]=\"!!label\"\r\n [type]=\"type\"\r\n [value]=\"control.value\"\r\n ></app-info-item>\r\n</ng-container>\r\n}", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none;opacity:1.5}\n"], dependencies: [{ kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.EnOnlyDirective, selector: "[enOnly]" }, { kind: "directive", type: i2.ArOnlyDirective, selector: "[arOnly]" }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "ngmodule", type: i8.MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i9.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"] }] });
|
|
30
|
+
], usesInheritance: true, ngImport: i0, template: "@if(!isReadOnly){\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\r\n class=\"primary-form {{ className }}\"\r\n [ngClass]=\"{ 'input-disabled': control.disabled }\"\r\n [floatLabel]=\"floatLabel\"\r\n>\r\n @if(iconPrefixName){<span class=\"sfi {{ iconPrefixName }}\"></span>}\r\n <label class=\"mat-form-content\">\r\n <!-- add input for ar && en custom directive with add type = arOnly || type = enOnly-->\r\n @if(type === 'arOnly'){\r\n <input\r\n arOnly\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [required]=\"required\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n } @else if(type === 'enOnly'){\r\n <input\r\n enOnly\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [required]=\"required\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n }\r\n @else{\r\n <input\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n }\r\n </label>\r\n \r\n @if(iconSuffixName){<span matSuffix class=\"sfi {{ iconSuffixName }}\"></span>}\r\n @if(hint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span\r\n class=\"sfi sfi-info fs-17 fc-dark-gray\"\r\n [ngClass]=\"{ 'fc-oasis-light-imp': value }\"\r\n ></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n</mat-form-field>\r\n<app-validation-errors [errors]=\"control.errors\" [customErrorMessages]=\"customErrorMessages\"></app-validation-errors>\r\n\r\n} @if(isReadOnly && (showIfEmpty || control)){\r\n<ng-container class=\"info-section\">\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n [label]=\"label\"\r\n [insideTable]=\"insideTable\"\r\n [hasLabel]=\"!!label\"\r\n [type]=\"type\"\r\n [value]=\"control.value\"\r\n ></app-info-item>\r\n</ng-container>\r\n}", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none;opacity:1.5}\n"], dependencies: [{ kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.EnOnlyDirective, selector: "[enOnly]" }, { kind: "directive", type: i2.ArOnlyDirective, selector: "[arOnly]" }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "ngmodule", type: i8.MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i9.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"] }] });
|
|
30
31
|
}
|
|
31
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputComponent, decorators: [{
|
|
32
33
|
type: Component,
|
|
@@ -41,7 +42,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
41
42
|
useExisting: forwardRef(() => InputComponent),
|
|
42
43
|
multi: true,
|
|
43
44
|
},
|
|
44
|
-
], template: "@if(!isReadOnly){\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\r\n class=\"primary-form {{ className }}\"\r\n [ngClass]=\"{ 'input-disabled': control.disabled }\"\r\n [floatLabel]=\"floatLabel\"\r\n>\r\n @if(iconPrefixName){<span class=\"sfi {{ iconPrefixName }}\"></span>}\r\n <label class=\"mat-form-content\">\r\n <!-- add input for ar && en custom directive with add type = arOnly || type = enOnly-->\r\n @if(type === 'arOnly'){\r\n <input\r\n arOnly\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [required]=\"required\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n } @else if(type === 'enOnly'){\r\n <input\r\n enOnly\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [required]=\"required\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n }\r\n @else{\r\n <input\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n }\r\n </label>\r\n \r\n @if(iconSuffixName){<span matSuffix class=\"sfi {{ iconSuffixName }}\"></span>}\r\n @if(hint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span\r\n class=\"sfi sfi-info fs-17 fc-dark-gray\"\r\n [ngClass]=\"{ 'fc-oasis-light-imp': value }\"\r\n ></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{ 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\r\n} @if(isReadOnly && (showIfEmpty || control)){\r\n<ng-container class=\"info-section\">\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n [label]=\"label\"\r\n [insideTable]=\"insideTable\"\r\n [hasLabel]=\"!!label\"\r\n [type]=\"type\"\r\n [value]=\"control.value\"\r\n ></app-info-item>\r\n</ng-container>\r\n}", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none;opacity:1.5}\n"] }]
|
|
45
|
+
], template: "@if(!isReadOnly){\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\r\n class=\"primary-form {{ className }}\"\r\n [ngClass]=\"{ 'input-disabled': control.disabled }\"\r\n [floatLabel]=\"floatLabel\"\r\n>\r\n @if(iconPrefixName){<span class=\"sfi {{ iconPrefixName }}\"></span>}\r\n <label class=\"mat-form-content\">\r\n <!-- add input for ar && en custom directive with add type = arOnly || type = enOnly-->\r\n @if(type === 'arOnly'){\r\n <input\r\n arOnly\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [required]=\"required\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n } @else if(type === 'enOnly'){\r\n <input\r\n enOnly\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [required]=\"required\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n }\r\n @else{\r\n <input\r\n matInput\r\n [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\"\r\n [formControl]=\"control\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n }\r\n </label>\r\n \r\n @if(iconSuffixName){<span matSuffix class=\"sfi {{ iconSuffixName }}\"></span>}\r\n @if(hint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span\r\n class=\"sfi sfi-info fs-17 fc-dark-gray\"\r\n [ngClass]=\"{ 'fc-oasis-light-imp': value }\"\r\n ></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n</mat-form-field>\r\n<app-validation-errors [errors]=\"control.errors\" [customErrorMessages]=\"customErrorMessages\"></app-validation-errors>\r\n\r\n} @if(isReadOnly && (showIfEmpty || control)){\r\n<ng-container class=\"info-section\">\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n [label]=\"label\"\r\n [insideTable]=\"insideTable\"\r\n [hasLabel]=\"!!label\"\r\n [type]=\"type\"\r\n [value]=\"control.value\"\r\n ></app-info-item>\r\n</ng-container>\r\n}", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none;opacity:1.5}\n"] }]
|
|
45
46
|
}], propDecorators: { floatLabel: [{
|
|
46
47
|
type: Input
|
|
47
48
|
}], className: [{
|
|
@@ -52,5 +53,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
52
53
|
type: Input
|
|
53
54
|
}], emitedChangedValue1: [{
|
|
54
55
|
type: Input
|
|
56
|
+
}], customErrorMessages: [{
|
|
57
|
+
type: Input
|
|
55
58
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7QUF1QnBGLE1BQU0sT0FBTyxjQUFxQixTQUFRLDZCQUFtQztJQUNsRSxVQUFVLEdBQVEsTUFBTSxDQUFDO0lBQ3pCLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztJQUM3QixjQUFjLENBQVU7SUFDeEIsY0FBYyxDQUFVO0lBQ3hCLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDekMsbUJBQW1CLENBQUM7dUdBTmxCLGNBQWM7MkZBQWQsY0FBYyxrUkFUZDtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUM3QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDeEJILDJxRUFxRUMsOEhEekRHLE9BQU87OzJGQWVFLGNBQWM7a0JBckIxQixTQUFTOytCQUNFLFdBQVcsV0FHWixDQUFDLHNCQUFzQixDQUFDLFdBQ3hCO3dCQUNQLE9BQU87d0JBQ1AsR0FBRyxzQkFBc0I7d0JBQ3pCLEdBQUcsT0FBTzt3QkFDVixHQUFHLGNBQWM7cUJBQ2xCLGNBQ1csSUFBSSxhQUNMO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQzs0QkFDN0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBSVEsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNYXRIaW50fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICcuLi9jb250cm9sLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdEZvcm1JbXBvcnRzLCBTaGFyZWRzLCBUZXh0TGFuZ3VhZ2VEaXJlY3RpdmVzIH0gZnJvbSAnLi4vc2hhcmVkLWltcG9ydHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaW5wdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0SGludCxcclxuICAgIC4uLlRleHRMYW5ndWFnZURpcmVjdGl2ZXMsXHJcbiAgICAuLi5TaGFyZWRzLFxyXG4gICAgLi4uTWF0Rm9ybUltcG9ydHNcclxuICBdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQ8VHlwZT4gZXh0ZW5kcyBDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZTxUeXBlPiAge1xyXG4gIEBJbnB1dCgpIGZsb2F0TGFiZWw6IGFueSA9ICdhdXRvJztcclxuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnYm9yZGVyZWQtaW5wdXQnO1xyXG4gIEBJbnB1dCgpIGljb25QcmVmaXhOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGljb25TdWZmaXhOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGVtaXRlZENoYW5nZWRWYWx1ZTEgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgY3VzdG9tRXJyb3JNZXNzYWdlcztcclxuXHJcbn1cclxuIiwiQGlmKCFpc1JlYWRPbmx5KXtcclxuQGlmKGxhYmVsKXtcclxuPGFwcC1mb3JtLWxhYmVsIFtsYWJlbF09XCJsYWJlbFwiIFtvcHRpb25hbF09XCIhcmVxdWlyZWRcIiBbdG9vbHRpcF09XCJ0b29sdGlwXCI+PC9hcHAtZm9ybS1sYWJlbD5cclxufVxyXG48bWF0LWZvcm0tZmllbGRcclxuICBjbGFzcz1cInByaW1hcnktZm9ybSB7eyBjbGFzc05hbWUgfX1cIlxyXG4gIFtuZ0NsYXNzXT1cInsgJ2lucHV0LWRpc2FibGVkJzogY29udHJvbC5kaXNhYmxlZCB9XCJcclxuICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcclxuPlxyXG4gIEBpZihpY29uUHJlZml4TmFtZSl7PHNwYW4gY2xhc3M9XCJzZmkge3sgaWNvblByZWZpeE5hbWUgfX1cIj48L3NwYW4+fVxyXG4gIDxsYWJlbCBjbGFzcz1cIm1hdC1mb3JtLWNvbnRlbnRcIj5cclxuICAgIDwhLS0gYWRkIGlucHV0IGZvciBhciAmJiBlbiBjdXN0b20gZGlyZWN0aXZlIHdpdGggYWRkIHR5cGUgPSBhck9ubHkgfHwgIHR5cGUgPSBlbk9ubHktLT5cclxuICAgIEBpZih0eXBlID09PSAnYXJPbmx5Jyl7XHJcbiAgICA8aW5wdXRcclxuICAgICAgYXJPbmx5XHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgIG9uaW5wdXQ9XCJ2YWxpZGl0eS52YWxpZCB8fCAodmFsdWU9JycpO1wiXHJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgIC8+XHJcbiAgICB9IEBlbHNlIGlmKHR5cGUgPT09ICdlbk9ubHknKXtcclxuICAgIDxpbnB1dFxyXG4gICAgICBlbk9ubHlcclxuICAgICAgbWF0SW5wdXRcclxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgb25pbnB1dD1cInZhbGlkaXR5LnZhbGlkIHx8ICh2YWx1ZT0nJyk7XCJcclxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgLz5cclxuICAgIH1cclxuICAgIEBlbHNle1xyXG4gICAgPGlucHV0XHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgIG9uaW5wdXQ9XCJ2YWxpZGl0eS52YWxpZCB8fCAodmFsdWU9JycpO1wiXHJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAvPlxyXG4gICAgfVxyXG4gIDwvbGFiZWw+XHJcbiAgXHJcbiAgQGlmKGljb25TdWZmaXhOYW1lKXs8c3BhbiBtYXRTdWZmaXggY2xhc3M9XCJzZmkge3sgaWNvblN1ZmZpeE5hbWUgfX1cIj48L3NwYW4+fVxyXG4gIEBpZihoaW50KXtcclxuICA8bWF0LWhpbnQgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xIG10LTFcIj5cclxuICAgIDxzcGFuXHJcbiAgICAgIGNsYXNzPVwic2ZpIHNmaS1pbmZvIGZzLTE3IGZjLWRhcmstZ3JheVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZjLW9hc2lzLWxpZ2h0LWltcCc6IHZhbHVlIH1cIlxyXG4gICAgPjwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwiZnMtMTIgZmMtYmxhY2sgbGluZS1oZWlnaHQtMVwiPnt7IGhpbnQgfX08L3NwYW4+XHJcbiAgPC9tYXQtaGludD5cclxuICB9XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcbjxhcHAtdmFsaWRhdGlvbi1lcnJvcnMgW2Vycm9yc109XCJjb250cm9sLmVycm9yc1wiIFtjdXN0b21FcnJvck1lc3NhZ2VzXT1cImN1c3RvbUVycm9yTWVzc2FnZXNcIj48L2FwcC12YWxpZGF0aW9uLWVycm9ycz5cclxuXHJcbn0gQGlmKGlzUmVhZE9ubHkgJiYgKHNob3dJZkVtcHR5IHx8IGNvbnRyb2wpKXtcclxuPG5nLWNvbnRhaW5lciBjbGFzcz1cImluZm8tc2VjdGlvblwiPlxyXG4gIDxhcHAtaW5mby1pdGVtXHJcbiAgICBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiXHJcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxyXG4gICAgW2luc2lkZVRhYmxlXT1cImluc2lkZVRhYmxlXCJcclxuICAgIFtoYXNMYWJlbF09XCIhIWxhYmVsXCJcclxuICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgW3ZhbHVlXT1cImNvbnRyb2wudmFsdWVcIlxyXG4gID48L2FwcC1pbmZvLWl0ZW0+XHJcbjwvbmctY29udGFpbmVyPlxyXG59Il19
|
|
@@ -14,9 +14,22 @@ import * as i5 from "../info-item/info-item.component";
|
|
|
14
14
|
export class InputTelephoneComponent extends ControlValueAccessorDirective {
|
|
15
15
|
floatLabel = 'auto';
|
|
16
16
|
className = 'bordered-input';
|
|
17
|
+
controlValue = '';
|
|
17
18
|
CountryISO = CountryISO;
|
|
18
19
|
SearchCountryField = SearchCountryField;
|
|
19
20
|
show = false;
|
|
21
|
+
setControlValue(controlValue) {
|
|
22
|
+
if (this.telephoneControl.valid && controlValue) {
|
|
23
|
+
this.control.setValue(controlValue['internationalNumber']);
|
|
24
|
+
this.telephoneControl.setValue(controlValue['internationalNumber']);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.control.setValue(null);
|
|
28
|
+
}
|
|
29
|
+
if (this.telephoneControl.invalid && this.telephoneControl.touched) {
|
|
30
|
+
this.control.markAsTouched();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
20
33
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputTelephoneComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
21
34
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InputTelephoneComponent, isStandalone: true, selector: "app-input-telephone", inputs: { floatLabel: "floatLabel", className: "className" }, providers: [
|
|
22
35
|
{
|
|
@@ -24,7 +37,7 @@ export class InputTelephoneComponent extends ControlValueAccessorDirective {
|
|
|
24
37
|
useExisting: forwardRef(() => InputTelephoneComponent),
|
|
25
38
|
multi: true,
|
|
26
39
|
},
|
|
27
|
-
], 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 style=\"height: 50px;\" class=\"primary-form input-telephone {{className}}\" floatLabel=\"always\"> -->\r\n <div class=\"primary-form input-telephone {{className}}\" floatLabel=\"always\">\r\n <label class=\"mat-form-content\">\r\n <!-- [placeholder]=\"label\" -->\r\n <!-- <input matInput [disabled]=\"disabled\" ng2TelInput numberOnly #phone\r\n [ng2TelInputOptions]=\"{initialCountry: 'sa', utilsScript: 'assets/js/utils.js'}\" (hasError)=\"hasError($event)\"\r\n (ng2TelOutput)=\"getNumber($event)\" (intlTelInputObject)=\"telInputObject($event)\"\r\n (countryChange)=\"onCountryChange($event)\" [(ngModel)]=\"field\" [name]=\"name\"\r\n oninput=\"this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\\..*)\\./g, '$1');\"\r\n [maxlength]=\"maxLength\" [minLength]=\"minLength\" />-->\r\n <!-- <input matInput [hidden]=\"true\"/> -->\r\n <ngx-intl-tel-input\r\n [formControl]=\"
|
|
40
|
+
], 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 style=\"height: 50px;\" class=\"primary-form input-telephone {{className}}\" floatLabel=\"always\"> -->\r\n <div class=\"primary-form input-telephone {{className}}\" floatLabel=\"always\">\r\n <label class=\"mat-form-content\">\r\n <!-- [placeholder]=\"label\" -->\r\n <!-- <input matInput [disabled]=\"disabled\" ng2TelInput numberOnly #phone\r\n [ng2TelInputOptions]=\"{initialCountry: 'sa', utilsScript: 'assets/js/utils.js'}\" (hasError)=\"hasError($event)\"\r\n (ng2TelOutput)=\"getNumber($event)\" (intlTelInputObject)=\"telInputObject($event)\"\r\n (countryChange)=\"onCountryChange($event)\" [(ngModel)]=\"field\" [name]=\"name\"\r\n oninput=\"this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\\..*)\\./g, '$1');\"\r\n [maxlength]=\"maxLength\" [minLength]=\"minLength\" />-->\r\n <!-- <input matInput [hidden]=\"true\"/> -->\r\n <ngx-intl-tel-input\r\n (input)=\"setControlValue(telephoneControl.value)\"\r\n [formControl]=\"telephoneControl\"\r\n [cssClass]=\"'custom'\"\r\n [preferredCountries]=\"[CountryISO.UnitedStates, CountryISO.UnitedKingdom]\"\r\n [enableAutoCountrySelect]=\"false\"\r\n [enablePlaceholder]=\"true\"\r\n [searchCountryFlag]=\"true\"\r\n [searchCountryField]=\"[SearchCountryField.Iso2, SearchCountryField.Name]\"\r\n [selectFirstCountry]=\"false\"\r\n [selectedCountryISO]=\"CountryISO.SaudiArabia\"\r\n [maxLength]=\"17\"\r\n [phoneValidation]=\"true\"\r\n [inputId]=\"\"\r\n name=\"phone\"\r\n ></ngx-intl-tel-input>\r\n </label>\r\n </div>\r\n <!-- </mat-form-field> -->\r\n <app-validation-errors [errors]=\"telephoneControl.errors\"></app-validation-errors>\r\n </ng-container>\r\n}\r\n@if(isReadOnly){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [type]=\"'telephone'\" [label]=\"label\"\r\n [value]=\"control.value\"></app-info-item>\r\n </ng-container>\r\n}\r\n\r\n", styles: ["[dir=rtl] :host .mat-input-element{direction:ltr;text-align:right}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: NgxIntlTelInputModule }, { kind: "component", type: i2.NgxIntlTelInputComponent, selector: "ngx-intl-tel-input", inputs: ["value", "preferredCountries", "enablePlaceholder", "customPlaceholder", "numberFormat", "cssClass", "onlyCountries", "enableAutoCountrySelect", "searchCountryFlag", "searchCountryField", "searchCountryPlaceholder", "maxLength", "selectFirstCountry", "selectedCountryISO", "phoneValidation", "inputId", "separateDialCode"], outputs: ["countryChange"] }, { kind: "directive", type: i2.NativeElementInjectorDirective, selector: "[ngModel], [formControl], [formControlName]" }, { 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: i1.ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
28
41
|
}
|
|
29
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputTelephoneComponent, decorators: [{
|
|
30
43
|
type: Component,
|
|
@@ -39,10 +52,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
39
52
|
useExisting: forwardRef(() => InputTelephoneComponent),
|
|
40
53
|
multi: true,
|
|
41
54
|
},
|
|
42
|
-
], 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 style=\"height: 50px;\" class=\"primary-form input-telephone {{className}}\" floatLabel=\"always\"> -->\r\n <div class=\"primary-form input-telephone {{className}}\" floatLabel=\"always\">\r\n <label class=\"mat-form-content\">\r\n <!-- [placeholder]=\"label\" -->\r\n <!-- <input matInput [disabled]=\"disabled\" ng2TelInput numberOnly #phone\r\n [ng2TelInputOptions]=\"{initialCountry: 'sa', utilsScript: 'assets/js/utils.js'}\" (hasError)=\"hasError($event)\"\r\n (ng2TelOutput)=\"getNumber($event)\" (intlTelInputObject)=\"telInputObject($event)\"\r\n (countryChange)=\"onCountryChange($event)\" [(ngModel)]=\"field\" [name]=\"name\"\r\n oninput=\"this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\\..*)\\./g, '$1');\"\r\n [maxlength]=\"maxLength\" [minLength]=\"minLength\" />-->\r\n <!-- <input matInput [hidden]=\"true\"/> -->\r\n <ngx-intl-tel-input\r\n [formControl]=\"
|
|
55
|
+
], 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 style=\"height: 50px;\" class=\"primary-form input-telephone {{className}}\" floatLabel=\"always\"> -->\r\n <div class=\"primary-form input-telephone {{className}}\" floatLabel=\"always\">\r\n <label class=\"mat-form-content\">\r\n <!-- [placeholder]=\"label\" -->\r\n <!-- <input matInput [disabled]=\"disabled\" ng2TelInput numberOnly #phone\r\n [ng2TelInputOptions]=\"{initialCountry: 'sa', utilsScript: 'assets/js/utils.js'}\" (hasError)=\"hasError($event)\"\r\n (ng2TelOutput)=\"getNumber($event)\" (intlTelInputObject)=\"telInputObject($event)\"\r\n (countryChange)=\"onCountryChange($event)\" [(ngModel)]=\"field\" [name]=\"name\"\r\n oninput=\"this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\\..*)\\./g, '$1');\"\r\n [maxlength]=\"maxLength\" [minLength]=\"minLength\" />-->\r\n <!-- <input matInput [hidden]=\"true\"/> -->\r\n <ngx-intl-tel-input\r\n (input)=\"setControlValue(telephoneControl.value)\"\r\n [formControl]=\"telephoneControl\"\r\n [cssClass]=\"'custom'\"\r\n [preferredCountries]=\"[CountryISO.UnitedStates, CountryISO.UnitedKingdom]\"\r\n [enableAutoCountrySelect]=\"false\"\r\n [enablePlaceholder]=\"true\"\r\n [searchCountryFlag]=\"true\"\r\n [searchCountryField]=\"[SearchCountryField.Iso2, SearchCountryField.Name]\"\r\n [selectFirstCountry]=\"false\"\r\n [selectedCountryISO]=\"CountryISO.SaudiArabia\"\r\n [maxLength]=\"17\"\r\n [phoneValidation]=\"true\"\r\n [inputId]=\"\"\r\n name=\"phone\"\r\n ></ngx-intl-tel-input>\r\n </label>\r\n </div>\r\n <!-- </mat-form-field> -->\r\n <app-validation-errors [errors]=\"telephoneControl.errors\"></app-validation-errors>\r\n </ng-container>\r\n}\r\n@if(isReadOnly){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [type]=\"'telephone'\" [label]=\"label\"\r\n [value]=\"control.value\"></app-info-item>\r\n </ng-container>\r\n}\r\n\r\n", styles: ["[dir=rtl] :host .mat-input-element{direction:ltr;text-align:right}\n"] }]
|
|
43
56
|
}], propDecorators: { floatLabel: [{
|
|
44
57
|
type: Input
|
|
45
58
|
}], className: [{
|
|
46
59
|
type: Input
|
|
47
60
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVsZXBob25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL2lucHV0LXRlbGVwaG9uZS9pbnB1dC10ZWxlcGhvbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQtdGVsZXBob25lL2lucHV0LXRlbGVwaG9uZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFHLE1BQU0sdUJBQXVCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7OztBQXNCNUMsTUFBTSxPQUFPLHVCQUE4QixTQUFRLDZCQUFtQztJQUMzRSxVQUFVLEdBQVEsTUFBTSxDQUFDO0lBQ3pCLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztJQUN0QyxZQUFZLEdBQVUsRUFBRSxDQUFDO0lBSXpCLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDeEIsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7SUFDeEMsSUFBSSxHQUFXLEtBQUssQ0FBQztJQUNyQixlQUFlLENBQUMsWUFBWTtRQUMxQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksWUFBWSxFQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQTtZQUMxRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUE7UUFDckUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QixDQUFDO1FBQ0QsSUFBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQzlCLENBQUM7SUFDSCxDQUFDO3VHQXBCVSx1QkFBdUI7MkZBQXZCLHVCQUF1QixnSUFSdkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2dCQUN0RCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDNUJILHF6RUE2Q0EsNkhENUJJLFlBQVksOEJBQ1osV0FBVyxzSUFDWCxxQkFBcUI7OzJGQVdaLHVCQUF1QjtrQkFwQm5DLFNBQVM7K0JBQ0UscUJBQXFCLFdBR3RCLENBQUMsc0JBQXNCLENBQUMsY0FDckIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxxQkFBcUI7d0JBQ3JCLEdBQUcsT0FBTztxQkFDWCxhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFHUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3hJbnRsVGVsSW5wdXRNb2R1bGUgfSBmcm9tICduZ3gtaW50bC10ZWwtaW5wdXQtZ2cnO1xyXG5pbXBvcnQgeyBDb3VudHJ5SVNPLCBTZWFyY2hDb3VudHJ5RmllbGQgIH0gZnJvbSAnbmd4LWludGwtdGVsLWlucHV0LWdnJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJbmZvSXRlbUNvbXBvbmVudH0gZnJvbSBcIi4uL2luZm8taXRlbS9pbmZvLWl0ZW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnLi4vY29udHJvbC12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzQ29tcG9uZW50IH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1lcnJvcnMvdmFsaWRhdGlvbi1lcnJvcnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2hhcmVkcyB9IGZyb20gJy4uL3NoYXJlZC1pbXBvcnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWlucHV0LXRlbGVwaG9uZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRlbGVwaG9uZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtdGVsZXBob25lLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBOZ3hJbnRsVGVsSW5wdXRNb2R1bGUsXHJcbiAgICAuLi5TaGFyZWRzXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0VGVsZXBob25lQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0VGVsZXBob25lQ29tcG9uZW50PFR5cGU+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT4ge1xyXG4gIEBJbnB1dCgpIGZsb2F0TGFiZWw6IGFueSA9ICdhdXRvJztcclxuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnYm9yZGVyZWQtaW5wdXQnO1xyXG4gIGNvbnRyb2xWYWx1ZTpzdHJpbmcgPSAnJztcclxuXHJcblxyXG5cclxuICBDb3VudHJ5SVNPID0gQ291bnRyeUlTTztcclxuICBTZWFyY2hDb3VudHJ5RmllbGQgPSBTZWFyY2hDb3VudHJ5RmllbGQ7XHJcbiAgc2hvdzpib29sZWFuID0gZmFsc2U7XHJcbiAgc2V0Q29udHJvbFZhbHVlKGNvbnRyb2xWYWx1ZSl7XHJcbiAgICBpZiAodGhpcy50ZWxlcGhvbmVDb250cm9sLnZhbGlkICYmIGNvbnRyb2xWYWx1ZSl7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShjb250cm9sVmFsdWVbJ2ludGVybmF0aW9uYWxOdW1iZXInXSlcclxuICAgICAgdGhpcy50ZWxlcGhvbmVDb250cm9sLnNldFZhbHVlKGNvbnRyb2xWYWx1ZVsnaW50ZXJuYXRpb25hbE51bWJlciddKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKG51bGwpXHJcbiAgICB9XHJcbiAgICBpZiAoIHRoaXMudGVsZXBob25lQ29udHJvbC5pbnZhbGlkICYmIHRoaXMudGVsZXBob25lQ29udHJvbC50b3VjaGVkKXtcclxuICAgICAgdGhpcy5jb250cm9sLm1hcmtBc1RvdWNoZWQoKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaWYoIWlzUmVhZE9ubHkpe1xyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICBAaWYobGFiZWwpe1xyXG4gICAgICA8YXBwLWZvcm0tbGFiZWwgW2xhYmVsXT1cImxhYmVsXCIgW29wdGlvbmFsXT1cIiFyZXF1aXJlZFwiIFt0b29sdGlwXT1cInRvb2x0aXBcIj48L2FwcC1mb3JtLWxhYmVsPlxyXG4gICAgICB9XHJcbiAgICA8IS0tIDxtYXQtZm9ybS1maWVsZCBzdHlsZT1cImhlaWdodDogNTBweDtcIiBjbGFzcz1cInByaW1hcnktZm9ybSBpbnB1dC10ZWxlcGhvbmUge3tjbGFzc05hbWV9fVwiIGZsb2F0TGFiZWw9XCJhbHdheXNcIj4gLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcmltYXJ5LWZvcm0gaW5wdXQtdGVsZXBob25lIHt7Y2xhc3NOYW1lfX1cIiBmbG9hdExhYmVsPVwiYWx3YXlzXCI+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwibWF0LWZvcm0tY29udGVudFwiPlxyXG4gICAgICAgICAgPCEtLSBbcGxhY2Vob2xkZXJdPVwibGFiZWxcIiAtLT5cclxuICAgICAgICA8IS0tICA8aW5wdXQgbWF0SW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgbmcyVGVsSW5wdXQgbnVtYmVyT25seSAjcGhvbmVcclxuICAgICAgICAgICAgW25nMlRlbElucHV0T3B0aW9uc109XCJ7aW5pdGlhbENvdW50cnk6ICdzYScsIHV0aWxzU2NyaXB0OiAnYXNzZXRzL2pzL3V0aWxzLmpzJ31cIiAoaGFzRXJyb3IpPVwiaGFzRXJyb3IoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChuZzJUZWxPdXRwdXQpPVwiZ2V0TnVtYmVyKCRldmVudClcIiAoaW50bFRlbElucHV0T2JqZWN0KT1cInRlbElucHV0T2JqZWN0KCRldmVudClcIlxyXG4gICAgICAgICAgICAoY291bnRyeUNoYW5nZSk9XCJvbkNvdW50cnlDaGFuZ2UoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiZmllbGRcIiBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgICAgb25pbnB1dD1cInRoaXMudmFsdWUucmVwbGFjZSgvW14wLTkuXS9nLCAnJyk7IHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnJlcGxhY2UoLyhcXC4uKilcXC4vZywgJyQxJyk7XCJcclxuICAgICAgICAgICAgW21heGxlbmd0aF09XCJtYXhMZW5ndGhcIiBbbWluTGVuZ3RoXT1cIm1pbkxlbmd0aFwiIC8+LS0+XHJcbiAgICAgICAgICA8IS0tIDxpbnB1dCBtYXRJbnB1dCBbaGlkZGVuXT1cInRydWVcIi8+IC0tPlxyXG4gICAgICAgICAgICA8bmd4LWludGwtdGVsLWlucHV0XHJcbiAgICAgICAgICAgIChpbnB1dCk9XCJzZXRDb250cm9sVmFsdWUodGVsZXBob25lQ29udHJvbC52YWx1ZSlcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwidGVsZXBob25lQ29udHJvbFwiXHJcbiAgICAgICAgICAgIFtjc3NDbGFzc109XCInY3VzdG9tJ1wiXHJcbiAgICAgICAgICAgIFtwcmVmZXJyZWRDb3VudHJpZXNdPVwiW0NvdW50cnlJU08uVW5pdGVkU3RhdGVzLCBDb3VudHJ5SVNPLlVuaXRlZEtpbmdkb21dXCJcclxuICAgICAgICAgICAgW2VuYWJsZUF1dG9Db3VudHJ5U2VsZWN0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2VuYWJsZVBsYWNlaG9sZGVyXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbc2VhcmNoQ291bnRyeUZsYWddPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtzZWFyY2hDb3VudHJ5RmllbGRdPVwiW1NlYXJjaENvdW50cnlGaWVsZC5Jc28yLCBTZWFyY2hDb3VudHJ5RmllbGQuTmFtZV1cIlxyXG4gICAgICAgICAgICBbc2VsZWN0Rmlyc3RDb3VudHJ5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkQ291bnRyeUlTT109XCJDb3VudHJ5SVNPLlNhdWRpQXJhYmlhXCJcclxuICAgICAgICAgICAgW21heExlbmd0aF09XCIxN1wiXHJcbiAgICAgICAgICAgIFtwaG9uZVZhbGlkYXRpb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtpbnB1dElkXT1cIlwiXHJcbiAgICAgICAgICAgIG5hbWU9XCJwaG9uZVwiXHJcbiAgICAgICAgICA+PC9uZ3gtaW50bC10ZWwtaW5wdXQ+XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSA8L21hdC1mb3JtLWZpZWxkPiAtLT5cclxuICAgICAgPGFwcC12YWxpZGF0aW9uLWVycm9ycyBbZXJyb3JzXT1cInRlbGVwaG9uZUNvbnRyb2wuZXJyb3JzXCI+PC9hcHAtdmFsaWRhdGlvbi1lcnJvcnM+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbn1cclxuQGlmKGlzUmVhZE9ubHkpe1xyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiICBbdHlwZV09XCIndGVsZXBob25lJ1wiIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICAgIFt2YWx1ZV09XCJjb250cm9sLnZhbHVlXCI+PC9hcHAtaW5mby1pdGVtPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG59XHJcblxyXG4iXX0=
|