@esfaenza/forms-and-validations 11.2.149-beta1 → 11.2.149-beta2

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.
@@ -0,0 +1,66 @@
1
+ // Angular
2
+ import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Inject, Input, Optional, Output, Self } from "@angular/core";
3
+ import { NG_VALIDATORS, NgControl } from "@angular/forms";
4
+ // Applicazione
5
+ import { BaseFormControl } from "../base-form-control";
6
+ // Configurazioni
7
+ import { AccessControlService, ComponentContext } from '@esfaenza/access-control';
8
+ import { ACO_CUSTOMKEY, FAV_DEBUG_MODE } from '../../tokens';
9
+ import { ChangeDetectorRef } from "@angular/core";
10
+ export class FormInputComponent extends BaseFormControl {
11
+ constructor(cdr, ngControl, _validators, ac, AppContext, ACO_CUSTOMKEY, FAV_DEBUG_MODE) {
12
+ super(cdr, ngControl, _validators, ac, AppContext, ACO_CUSTOMKEY, FAV_DEBUG_MODE);
13
+ this.Password = false;
14
+ this.onSuffixAction = new EventEmitter();
15
+ this.onPrefixAction = new EventEmitter();
16
+ this.HasSuffix = false;
17
+ this.HasPrefix = false;
18
+ }
19
+ ngOnInit() {
20
+ super.ngOnInit();
21
+ this.registerFocusRequest();
22
+ }
23
+ ngOnDestroy() {
24
+ super.ngOnDestroy();
25
+ this.deregisterFocusRequest();
26
+ }
27
+ writeValue(obj) {
28
+ this.EvaluatedModel = (obj === null || obj === void 0 ? void 0 : obj.toString()) || "";
29
+ super.writeValue(obj);
30
+ }
31
+ ngAfterContentInit() {
32
+ this.HasSuffix = !!this.suffix && !this.Password;
33
+ this.HasPrefix = !!this.prefix;
34
+ }
35
+ onNotNullValueSet() { }
36
+ onBlur() {
37
+ var _a, _b;
38
+ this.validationControl.control.markAsDirty();
39
+ this.inputFinalized.emit((_b = (_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.toString());
40
+ }
41
+ }
42
+ FormInputComponent.decorators = [
43
+ { type: Component, args: [{
44
+ selector: "form-input",
45
+ template: "<!-- Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}{{Label ? \":\" : \"\"}}</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline' && InlineSeparator != ''\">{{InlineSeparator}}</span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<ng-template #controlTemplate>\r\n <span [class.p-float-label]=\"FloatingLabel && (!HasPrefix && !HasSuffix)\" \r\n [class.p-input-icon-right]=\"Password || HasSuffix\"\r\n [class.p-input-icon-left]=\"HasPrefix\">\r\n <!--Prefisso-->\r\n <ng-container *ngIf=\"HasPrefix\">\r\n <i (click)=\"onPrefixAction.emit(); $event.stopPropagation(); $event.preventDefault();\" style=\"cursor: pointer;\">\r\n <ng-container *ngTemplateOutlet=\"prefix\"></ng-container>\r\n </i>\r\n </ng-container>\r\n <!--Input-->\r\n <input pInputText #baseInput=\"ngModel\" #htmlInput\r\n name=\"{{GeneratedName}}\" id=\"{{GeneratedName}}\"\r\n [type]=\"Password ? 'password' : 'text'\"\r\n triggers=\"\"\r\n placement=\"top\"\r\n autocomplete=\"off\"\r\n [class.app-margin-left-25]=\"HasPrefix\"\r\n [(ngModel)]=\"Model\"\r\n style=\"box-shadow: unset\"\r\n [readonly]=\"Frozen\"\r\n [disabled]=\"Readonly\"\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n (focus)=\"focused($event);\"\r\n (ngModelChange)=\"changed()\"\r\n (keyup)=\"($event.keyCode == 13 || $event.keyCode == 27) && onBlur();\"\r\n (blur)=\"onBlur();\"\r\n >\r\n <label *ngIf=\"Placeholder && FloatingLabel\" htmlFor=\"{{GeneratedName}}\">\r\n {{Placeholder}}\r\n </label>\r\n <!--Password-->\r\n <i *ngIf=\"Password && htmlInput.type == 'password'\" class=\"fa fas fa-eye\" style=\"cursor: pointer;\" (click)=\"htmlInput.type = 'text'\"></i>\r\n <i *ngIf=\"Password && htmlInput.type == 'text'\" class=\"fa fas fa-eye-slash\" style=\"cursor: pointer;\" (click)=\"htmlInput.type = 'password'\"></i>\r\n <!--Suffisso-->\r\n <ng-container *ngIf=\"HasSuffix\">\r\n <i (click)=\"onSuffixAction.emit(); $event.stopPropagation(); $event.preventDefault();\" style=\"cursor: pointer;\">\r\n <ng-container *ngTemplateOutlet=\"suffix\"></ng-container>\r\n </i>\r\n </ng-container>\r\n </span>\r\n</ng-template>",
46
+ changeDetection: ChangeDetectionStrategy.OnPush,
47
+ styles: [".p-inputtext{width:100%}.p-input-icon-left,.p-input-icon-right{display:block!important}"]
48
+ },] }
49
+ ];
50
+ FormInputComponent.ctorParameters = () => [
51
+ { type: ChangeDetectorRef },
52
+ { type: NgControl, decorators: [{ type: Optional }, { type: Self }] },
53
+ { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [NG_VALIDATORS,] }] },
54
+ { type: AccessControlService, decorators: [{ type: Optional }] },
55
+ { type: ComponentContext, decorators: [{ type: Optional }] },
56
+ { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ACO_CUSTOMKEY,] }] },
57
+ { type: Boolean, decorators: [{ type: Optional }, { type: Inject, args: [FAV_DEBUG_MODE,] }] }
58
+ ];
59
+ FormInputComponent.propDecorators = {
60
+ Password: [{ type: Input }],
61
+ onSuffixAction: [{ type: Output }],
62
+ onPrefixAction: [{ type: Output }],
63
+ suffix: [{ type: ContentChild, args: ["suffix", { static: false },] }],
64
+ prefix: [{ type: ContentChild, args: ["prefix", { static: false },] }]
65
+ };
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLWlucHV0LW5ldy9mb3JtLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUF3QixhQUFhLEVBQUUsU0FBUyxFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBRW5HLGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdkQsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVFsRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsZUFBZTtJQVNuRCxZQUFZLEdBQXNCLEVBQXNCLFNBQW9CLEVBQXFDLFdBQXVCLEVBQWMsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFxQixFQUFzQyxjQUF3QjtRQUM1VSxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFUdEUsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUNoQyxtQkFBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzlELG1CQUFjLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHakUsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixjQUFTLEdBQVksS0FBSyxDQUFDO0lBSWxDLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBUTtRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsUUFBUSxPQUFNLEVBQUUsQ0FBQztRQUM1QyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxpQkFBaUIsS0FBVyxDQUFDO0lBRXRCLE1BQU07O1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksYUFBQyxJQUFJLENBQUMsU0FBUywwQ0FBRSxJQUFJLDBDQUFFLFFBQVEsR0FBRyxDQUFDO0lBQy9ELENBQUM7OztZQTVDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLGc3SUFBd0M7Z0JBRXhDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBUFEsaUJBQWlCO1lBUm9CLFNBQVMsdUJBeUJkLFFBQVEsWUFBSSxJQUFJO1lBQXlFLEtBQUssdUJBQXBELFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYTtZQW5CMUcsb0JBQW9CLHVCQW1Ca0gsUUFBUTtZQW5CeEgsZ0JBQWdCLHVCQW1Cc0ksUUFBUTt5Q0FBa0MsUUFBUSxZQUFJLE1BQU0sU0FBQyxhQUFhOzBDQUEwQixRQUFRLFlBQUksTUFBTSxTQUFDLGNBQWM7Ozt1QkFSclQsS0FBSzs2QkFDTCxNQUFNOzZCQUNOLE1BQU07cUJBQ04sWUFBWSxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7cUJBQ3hDLFlBQVksU0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCwgU2VsZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wsIFJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sU2VydmljZSwgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJ0Blc2ZhZW56YS9hY2Nlc3MtY29udHJvbCc7XHJcbmltcG9ydCB7IEFDT19DVVNUT01LRVksIEZBVl9ERUJVR19NT0RFIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJmb3JtLWlucHV0XCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCJmb3JtLWlucHV0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vZm9ybS1pbnB1dC5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSBvblN1ZmZpeEFjdGlvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIG9uUHJlZml4QWN0aW9uOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgICBAQ29udGVudENoaWxkKFwic3VmZml4XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBzdWZmaXg7XHJcbiAgICBAQ29udGVudENoaWxkKFwicHJlZml4XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBwcmVmaXg7XHJcbiAgICBwdWJsaWMgSGFzU3VmZml4OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgSGFzUHJlZml4OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgQE9wdGlvbmFsKCkgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVk6IHN0cmluZywgQE9wdGlvbmFsKCkgQEluamVjdChGQVZfREVCVUdfTU9ERSkgRkFWX0RFQlVHX01PREUgOiBib29sZWFuKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCwgQUNPX0NVU1RPTUtFWSwgRkFWX0RFQlVHX01PREUpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5yZWdpc3RlckZvY3VzUmVxdWVzdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5kZXJlZ2lzdGVyRm9jdXNSZXF1ZXN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuRXZhbHVhdGVkTW9kZWwgPSBvYmo/LnRvU3RyaW5nKCkgfHwgXCJcIjtcclxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKG9iaik7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgICAgIHRoaXMuSGFzU3VmZml4ID0gISF0aGlzLnN1ZmZpeCAmJiAhdGhpcy5QYXNzd29yZDtcclxuICAgICAgICB0aGlzLkhhc1ByZWZpeCA9ICEhdGhpcy5wcmVmaXg7XHJcbiAgICB9XHJcblxyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxuXHJcbiAgICBwdWJsaWMgb25CbHVyKCkge1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkNvbnRyb2wuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgIHRoaXMuaW5wdXRGaW5hbGl6ZWQuZW1pdCh0aGlzLm5nQ29udHJvbD8ubmFtZT8udG9TdHJpbmcoKSk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -8,6 +8,8 @@ import { MatInputModule } from "@angular/material/input";
8
8
  import { MatChipsModule } from '@angular/material/chips';
9
9
  import { MatIconModule } from '@angular/material/icon';
10
10
  import { MatCheckboxModule } from '@angular/material/checkbox';
11
+ // PrimeNG
12
+ import { InputTextModule } from 'primeng/inputtext';
11
13
  // Es
12
14
  import { LocalizationModule } from "@esfaenza/localizations";
13
15
  import { MatDayjsDateModule } from '@esfaenza/material-dayjs-adapter';
@@ -38,12 +40,13 @@ import { FormErrorComponent } from './forms/form-error/form-error.component';
38
40
  import { FormInfoComponent } from './forms/form-info/form-info.component';
39
41
  import { FormCheckboxComponent } from './forms/form-checkbox/form-checkbox.component';
40
42
  import { FormDateComponent } from './forms/form-date/form-date.component';
41
- import { FormInputComponent } from './forms/form-input/form-input.component';
43
+ import { FormInputComponentOLD } from './forms/form-input/form-input.component';
42
44
  import { FormSelectComponent } from './forms/form-select/form-select.component';
43
45
  import { FormMultiSelectComponent } from './forms/form-multiselect/form-multiselect.component';
44
46
  import { FormTextareaComponent } from './forms/form-textarea/form-textarea.component';
45
47
  import { FormAutocompleteComponent } from './forms/form-autocomplete/form-autocomplete.component';
46
48
  import { FormTimeComponent } from './forms/form-time/form-time.component';
49
+ import { FormInputComponent } from './forms/form-input-new/form-input.component';
47
50
  /**
48
51
  * Formato in display (modalità lunga, con ore, minuti e secondi) delle date per tutti i componenti che utilizzino input data.
49
52
  *
@@ -71,6 +74,7 @@ const COMPONENTS = [
71
74
  FormCheckboxComponent,
72
75
  FormDateComponent,
73
76
  FormEmptyComponent,
77
+ FormInputComponentOLD,
74
78
  FormInputComponent,
75
79
  FormSelectComponent,
76
80
  FormTextareaComponent,
@@ -104,7 +108,8 @@ const MODULES = [
104
108
  CurrencyMaskModule,
105
109
  MatAutocompleteModule,
106
110
  NgxMatDatetimePickerModule,
107
- NgxMatTimepickerModule
111
+ NgxMatTimepickerModule,
112
+ InputTextModule
108
113
  ];
109
114
  /**
110
115
  * Moduli utilizzati dalla libreria e che devono essere esposti all'esterno
@@ -134,4 +139,4 @@ FormsAndValidationsModule.decorators = [
134
139
  exports: [...MODULES_TO_EXPORT, ...COMPONENTS]
135
140
  },] }
136
141
  ];
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtYW5kLXZhbGlkYXRpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvbGliL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFL0QsS0FBSztBQUNMLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWpFLHFCQUFxQjtBQUNyQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzSixPQUFPLEVBQUUsYUFBYSxFQUFF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QU0sQ0FBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDL0YsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLDJCQUEyQixFQUFFO2FBQ3RFO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQWxCRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztnQkFDM0MsWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7Z0JBQzdCLE9BQU8sRUFBRSxDQUFDLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxVQUFVLENBQUM7YUFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XHJcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5cclxuLy8gRXNcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IE1hdERheWpzRGF0ZU1vZHVsZSB9IGZyb20gJ0Blc2ZhZW56YS9tYXRlcmlhbC1kYXlqcy1hZGFwdGVyJztcclxuaW1wb3J0IHsgQ3VycmVuY3lNYXNrTW9kdWxlIH0gZnJvbSAnQGVzZmFlbnphL25neC1jdXJyZW5jeS1tYXNrJztcclxuXHJcbi8vIExpYnJlcmllIC8gTW9kZWxsaVxyXG5pbXBvcnQgeyBBbmd1bGFyTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tIFwiYW5ndWxhcjItbXVsdGlzZWxlY3QtZHJvcGRvd25cIjtcclxuaW1wb3J0IHsgTmd4TWF0RGF0ZUFkYXB0ZXIsIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLCBOR1hfTUFUX0RBVEVfRk9STUFUUywgTmd4TWF0VGltZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBGQVZfTE9DQUxFLCBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSwgRkFWX1NMSURFUl9NT0RFIH0gZnJvbSAnLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvRm9ybXNBbmRWYWxpZGF0aW9uc01vZHVsZUNvbmZpZyc7XHJcbmltcG9ydCB7IEN1c3RvbVJlcXVpcmVkRGlyZWN0aXZlIH0gZnJvbSAnLi92YWxpZGF0aW9ucy9jdXN0b21WYWxpZGF0b3JzL0N1c3RvbVJlcXVpcmVkRGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTmd4RXhwYW5kZWREYXlKc0RhdGVBZGFwdGVyIH0gZnJvbSAnLi9tb2RlbHMvZGF5anMtYWRhcHRlci9kYXlqcy1kYXRlLWFkYXB0ZXInO1xyXG5cclxuLy8gVmFsaWRhdGlvbnNcclxuaW1wb3J0IHsgVmFsaWRhdGlvblNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vdmFsaWRhdGlvbnMvdmFsaWRhdGlvbi1zZWxlY3QvdmFsaWRhdGlvbi1zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkRhdGVDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tZGF0ZS92YWxpZGF0aW9uLWRhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkN1cnJlbmN5Q29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLWN1cnJlbmN5L3ZhbGlkYXRpb24tY3VycmVuY3kuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmFsaWRhdGlvblRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLXRleHQtYXJlYS92YWxpZGF0aW9uLXRleHQtYXJlYS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24taW5wdXQvdmFsaWRhdGlvbi1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tZGF0ZXRpbWUvdmFsaWRhdGlvbi1kYXRldGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLWF1dG9jb21wbGV0ZS92YWxpZGF0aW9uLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uQXV0b2NvbXBsZXRlTXVsdGlDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tYXV0b2NvbXBsZXRlLW11bHRpL3ZhbGlkYXRpb24tYXV0b2NvbXBsZXRlLW11bHRpLmNvbXBvbmVudCc7XHJcblxyXG4vLyBGb3Jtc1xyXG5pbXBvcnQgeyBGb3JtRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1maWxlL2Zvcm0tZmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tZGF0ZXRpbWUvZm9ybS1kYXRldGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQWRhcHRpdmVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tYWRhcHRpdmUvZm9ybS1hZGFwdGl2ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRW1wdHlDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tZW1wdHkvZm9ybS1lbXB0eS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tdGVtcGxhdGUvZm9ybS10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1pbmZvL2Zvcm0taW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tY2hlY2tib3gvZm9ybS1jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1kYXRlL2Zvcm0tZGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9mb3Jtcy9mb3JtLXNlbGVjdC9mb3JtLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tbXVsdGlzZWxlY3QvZm9ybS1tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tdGV4dGFyZWEvZm9ybS10ZXh0YXJlYS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3Jtcy9mb3JtLWF1dG9jb21wbGV0ZS9mb3JtLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtVGltZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS10aW1lL2Zvcm0tdGltZS5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEZvcm1hdG8gaW4gZGlzcGxheSAobW9kYWxpdMOgIGx1bmdhLCBjb24gb3JlLCBtaW51dGkgZSBzZWNvbmRpKSBkZWxsZSBkYXRlIHBlciB0dXR0aSBpIGNvbXBvbmVudGkgY2hlIHV0aWxpenppbm8gaW5wdXQgZGF0YS5cclxuICogXHJcbiAqIERhIGNvbnZlbnppb25lIMOoIHNlbXByZSBxdWVsbG8gaXRhbGlhbm8gcXVpbmRpIHZpZW5lIGNhYmxhdG9cclxuICovXHJcbmNvbnN0IGZvcm1hdHNfbG9uZyA9IHtcclxuICBwYXJzZTogeyBkYXRlSW5wdXQ6ICdERC9NTS9ZWVlZIEhIOm1tOnNzJyB9LFxyXG4gIGRpc3BsYXk6IHtcclxuICAgIGRhdGVJbnB1dDogJ0REL01NL1lZWVkgSEg6bW06c3MnLFxyXG4gICAgbW9udGhZZWFyTGFiZWw6ICdNTSBZWVlZJyxcclxuICAgIGRhdGVBMTF5TGFiZWw6ICdERC9NTS9ZWVlZIEhIOm1tOnNzJyxcclxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NIFlZWVknLFxyXG4gIH1cclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRpIERpY2hpYXJhdGkgZWQgZXNwb3J0YXRpIGRhbGxhIGxpYnJlcmlhXHJcbiAqL1xyXG5jb25zdCBDT01QT05FTlRTID0gW1xyXG4gIFZhbGlkYXRpb25JbnB1dENvbXBvbmVudCxcclxuICBWYWxpZGF0aW9uU2VsZWN0Q29tcG9uZW50LFxyXG4gIFZhbGlkYXRpb25EYXRlQ29tcG9uZW50LFxyXG4gIEN1c3RvbVJlcXVpcmVkRGlyZWN0aXZlLFxyXG4gIFZhbGlkYXRpb25DdXJyZW5jeUNvbXBvbmVudCxcclxuICBWYWxpZGF0aW9uVGV4dEFyZWFDb21wb25lbnQsXHJcbiAgRm9ybUNoZWNrYm94Q29tcG9uZW50LFxyXG4gIEZvcm1EYXRlQ29tcG9uZW50LFxyXG4gIEZvcm1FbXB0eUNvbXBvbmVudCxcclxuICBGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgRm9ybVNlbGVjdENvbXBvbmVudCxcclxuICBGb3JtVGV4dGFyZWFDb21wb25lbnQsXHJcbiAgRm9ybVRlbXBsYXRlQ29tcG9uZW50LFxyXG4gIEZvcm1FcnJvckNvbXBvbmVudCxcclxuICBGb3JtSW5mb0NvbXBvbmVudCxcclxuICBGb3JtQWRhcHRpdmVDb21wb25lbnQsXHJcbiAgRm9ybU11bHRpU2VsZWN0Q29tcG9uZW50LFxyXG4gIEZvcm1GaWxlQ29tcG9uZW50LFxyXG4gIFZhbGlkYXRpb25BdXRvY29tcGxldGVDb21wb25lbnQsXHJcbiAgVmFsaWRhdGlvbkF1dG9jb21wbGV0ZU11bHRpQ29tcG9uZW50LFxyXG4gIEZvcm1BdXRvY29tcGxldGVDb21wb25lbnQsXHJcbiAgRm9ybURhdGVUaW1lQ29tcG9uZW50LFxyXG4gIFZhbGlkYXRpb25EYXRlVGltZUNvbXBvbmVudCxcclxuICBGb3JtVGltZUNvbXBvbmVudFxyXG5dO1xyXG5cclxuLyoqXHJcbiAqIE1vZHVsaSB1dGlsaXp6YXRpIHNvbG8gZGFsbGEgbGlicmVyaWFcclxuICovXHJcbmNvbnN0IE1PRFVMRVMgPSBbXHJcbiAgQ29tbW9uTW9kdWxlLFxyXG4gIEZvcm1zTW9kdWxlLFxyXG4gIExvY2FsaXphdGlvbk1vZHVsZSxcclxuICBNYXRJbnB1dE1vZHVsZSxcclxuICBNYXRDaGlwc01vZHVsZSxcclxuICBNYXRJY29uTW9kdWxlLFxyXG4gIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgTWF0RGF5anNEYXRlTW9kdWxlLFxyXG4gIFRvb2x0aXBNb2R1bGUsXHJcbiAgQ3VycmVuY3lNYXNrTW9kdWxlLFxyXG4gIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICBOZ3hNYXREYXRldGltZVBpY2tlck1vZHVsZSxcclxuICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlXHJcbl07XHJcblxyXG4vKipcclxuICogTW9kdWxpIHV0aWxpenphdGkgZGFsbGEgbGlicmVyaWEgZSBjaGUgZGV2b25vIGVzc2VyZSBlc3Bvc3RpIGFsbCdlc3Rlcm5vXHJcbiAqL1xyXG5jb25zdCBNT0RVTEVTX1RPX0VYUE9SVCA9IFtcclxuICBBbmd1bGFyTXVsdGlTZWxlY3RNb2R1bGVcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogWy4uLk1PRFVMRVMsIC4uLk1PRFVMRVNfVE9fRVhQT1JUXSxcclxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRTXSxcclxuICBleHBvcnRzOiBbLi4uTU9EVUxFU19UT19FWFBPUlQsIC4uLkNPTVBPTkVOVFNdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogRm9ybXNBbmRWYWxpZGF0aW9uc01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBGQVZfTE9DQUxFLCB1c2VWYWx1ZTogY29uZmlnPy5sb2NhbGUgfHwgJ2l0LUlUJyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRkFWX0RFQlVHX01PREUsIHVzZVZhbHVlOiBjb25maWc/LmRlYnVnTW9kZSAhPSBudWxsID8gY29uZmlnPy5kZWJ1Z01vZGUgOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogQUNPX0NVU1RPTUtFWSwgdXNlVmFsdWU6IGNvbmZpZz8uYWNvY3VzdG9tIHx8IG51bGwgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IE5HWF9NQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogZm9ybWF0c19sb25nIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBGQVZfU0xJREVSX01PREUsIHVzZVZhbHVlOiBjb25maWc/LnNsaWRlck1vZGUgIT0gbnVsbCA/IGNvbmZpZz8uc2xpZGVyTW9kZSA6IGZhbHNlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBOZ3hNYXREYXRlQWRhcHRlciwgdXNlQ2xhc3M6IE5neEV4cGFuZGVkRGF5SnNEYXRlQWRhcHRlciB9LFxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufSJdfQ==
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtYW5kLXZhbGlkYXRpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvbGliL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFL0QsVUFBVTtBQUNWLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUVuRCxLQUFLO0FBQ0wsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFakUscUJBQXFCO0FBQ3JCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSwwQkFBMEIsRUFBRSxvQkFBb0IsRUFBRSxz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QUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsVUFBVSxLQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUMvRixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsMkJBQTJCLEVBQUU7YUFDdEU7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBbEJGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLGlCQUFpQixDQUFDO2dCQUMzQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztnQkFDN0IsT0FBTyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsRUFBRSxHQUFHLFVBQVUsQ0FBQzthQUMvQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcclxuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcblxyXG4vLyBQcmltZU5HXHJcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0J1xyXG5cclxuLy8gRXNcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IE1hdERheWpzRGF0ZU1vZHVsZSB9IGZyb20gJ0Blc2ZhZW56YS9tYXRlcmlhbC1kYXlqcy1hZGFwdGVyJztcclxuaW1wb3J0IHsgQ3VycmVuY3lNYXNrTW9kdWxlIH0gZnJvbSAnQGVzZmFlbnphL25neC1jdXJyZW5jeS1tYXNrJztcclxuXHJcbi8vIExpYnJlcmllIC8gTW9kZWxsaVxyXG5pbXBvcnQgeyBBbmd1bGFyTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tIFwiYW5ndWxhcjItbXVsdGlzZWxlY3QtZHJvcGRvd25cIjtcclxuaW1wb3J0IHsgTmd4TWF0RGF0ZUFkYXB0ZXIsIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLCBOR1hfTUFUX0RBVEVfRk9STUFUUywgTmd4TWF0VGltZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBGQVZfTE9DQUxFLCBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSwgRkFWX1NMSURFUl9NT0RFIH0gZnJvbSAnLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvRm9ybXNBbmRWYWxpZGF0aW9uc01vZHVsZUNvbmZpZyc7XHJcbmltcG9ydCB7IEN1c3RvbVJlcXVpcmVkRGlyZWN0aXZlIH0gZnJvbSAnLi92YWxpZGF0aW9ucy9jdXN0b21WYWxpZGF0b3JzL0N1c3RvbVJlcXVpcmVkRGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTmd4RXhwYW5kZWREYXlKc0RhdGVBZGFwdGVyIH0gZnJvbSAnLi9tb2RlbHMvZGF5anMtYWRhcHRlci9kYXlqcy1kYXRlLWFkYXB0ZXInO1xyXG5cclxuLy8gVmFsaWRhdGlvbnNcclxuaW1wb3J0IHsgVmFsaWRhdGlvblNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vdmFsaWRhdGlvbnMvdmFsaWRhdGlvbi1zZWxlY3QvdmFsaWRhdGlvbi1zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkRhdGVDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tZGF0ZS92YWxpZGF0aW9uLWRhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkN1cnJlbmN5Q29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLWN1cnJlbmN5L3ZhbGlkYXRpb24tY3VycmVuY3kuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmFsaWRhdGlvblRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLXRleHQtYXJlYS92YWxpZGF0aW9uLXRleHQtYXJlYS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24taW5wdXQvdmFsaWRhdGlvbi1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tZGF0ZXRpbWUvdmFsaWRhdGlvbi1kYXRldGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLWF1dG9jb21wbGV0ZS92YWxpZGF0aW9uLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uQXV0b2NvbXBsZXRlTXVsdGlDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tYXV0b2NvbXBsZXRlLW11bHRpL3ZhbGlkYXRpb24tYXV0b2NvbXBsZXRlLW11bHRpLmNvbXBvbmVudCc7XHJcblxyXG4vLyBGb3Jtc1xyXG5pbXBvcnQgeyBGb3JtRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1maWxlL2Zvcm0tZmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tZGF0ZXRpbWUvZm9ybS1kYXRldGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQWRhcHRpdmVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tYWRhcHRpdmUvZm9ybS1hZGFwdGl2ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRW1wdHlDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tZW1wdHkvZm9ybS1lbXB0eS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tdGVtcGxhdGUvZm9ybS10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1pbmZvL2Zvcm0taW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tY2hlY2tib3gvZm9ybS1jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS1kYXRlL2Zvcm0tZGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnRPTEQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9mb3Jtcy9mb3JtLXNlbGVjdC9mb3JtLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tbXVsdGlzZWxlY3QvZm9ybS1tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0tdGV4dGFyZWEvZm9ybS10ZXh0YXJlYS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9mb3Jtcy9mb3JtLWF1dG9jb21wbGV0ZS9mb3JtLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtVGltZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvZm9ybS10aW1lL2Zvcm0tdGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2Zvcm0taW5wdXQtbmV3L2Zvcm0taW5wdXQuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBGb3JtYXRvIGluIGRpc3BsYXkgKG1vZGFsaXTDoCBsdW5nYSwgY29uIG9yZSwgbWludXRpIGUgc2Vjb25kaSkgZGVsbGUgZGF0ZSBwZXIgdHV0dGkgaSBjb21wb25lbnRpIGNoZSB1dGlsaXp6aW5vIGlucHV0IGRhdGEuXHJcbiAqIFxyXG4gKiBEYSBjb252ZW56aW9uZSDDqCBzZW1wcmUgcXVlbGxvIGl0YWxpYW5vIHF1aW5kaSB2aWVuZSBjYWJsYXRvXHJcbiAqL1xyXG5jb25zdCBmb3JtYXRzX2xvbmcgPSB7XHJcbiAgcGFyc2U6IHsgZGF0ZUlucHV0OiAnREQvTU0vWVlZWSBISDptbTpzcycgfSxcclxuICBkaXNwbGF5OiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdERC9NTS9ZWVlZIEhIOm1tOnNzJyxcclxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU0gWVlZWScsXHJcbiAgICBkYXRlQTExeUxhYmVsOiAnREQvTU0vWVlZWSBISDptbTpzcycsXHJcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTSBZWVlZJyxcclxuICB9XHJcbn07XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50aSBEaWNoaWFyYXRpIGVkIGVzcG9ydGF0aSBkYWxsYSBsaWJyZXJpYVxyXG4gKi9cclxuY29uc3QgQ09NUE9ORU5UUyA9IFtcclxuICBWYWxpZGF0aW9uSW5wdXRDb21wb25lbnQsXHJcbiAgVmFsaWRhdGlvblNlbGVjdENvbXBvbmVudCxcclxuICBWYWxpZGF0aW9uRGF0ZUNvbXBvbmVudCxcclxuICBDdXN0b21SZXF1aXJlZERpcmVjdGl2ZSxcclxuICBWYWxpZGF0aW9uQ3VycmVuY3lDb21wb25lbnQsXHJcbiAgVmFsaWRhdGlvblRleHRBcmVhQ29tcG9uZW50LFxyXG4gIEZvcm1DaGVja2JveENvbXBvbmVudCxcclxuICBGb3JtRGF0ZUNvbXBvbmVudCxcclxuICBGb3JtRW1wdHlDb21wb25lbnQsXHJcbiAgRm9ybUlucHV0Q29tcG9uZW50T0xELFxyXG4gIEZvcm1JbnB1dENvbXBvbmVudCxcclxuICBGb3JtU2VsZWN0Q29tcG9uZW50LFxyXG4gIEZvcm1UZXh0YXJlYUNvbXBvbmVudCxcclxuICBGb3JtVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgRm9ybUVycm9yQ29tcG9uZW50LFxyXG4gIEZvcm1JbmZvQ29tcG9uZW50LFxyXG4gIEZvcm1BZGFwdGl2ZUNvbXBvbmVudCxcclxuICBGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQsXHJcbiAgRm9ybUZpbGVDb21wb25lbnQsXHJcbiAgVmFsaWRhdGlvbkF1dG9jb21wbGV0ZUNvbXBvbmVudCxcclxuICBWYWxpZGF0aW9uQXV0b2NvbXBsZXRlTXVsdGlDb21wb25lbnQsXHJcbiAgRm9ybUF1dG9jb21wbGV0ZUNvbXBvbmVudCxcclxuICBGb3JtRGF0ZVRpbWVDb21wb25lbnQsXHJcbiAgVmFsaWRhdGlvbkRhdGVUaW1lQ29tcG9uZW50LFxyXG4gIEZvcm1UaW1lQ29tcG9uZW50XHJcbl07XHJcblxyXG4vKipcclxuICogTW9kdWxpIHV0aWxpenphdGkgc29sbyBkYWxsYSBsaWJyZXJpYVxyXG4gKi9cclxuY29uc3QgTU9EVUxFUyA9IFtcclxuICBDb21tb25Nb2R1bGUsXHJcbiAgRm9ybXNNb2R1bGUsXHJcbiAgTG9jYWxpemF0aW9uTW9kdWxlLFxyXG4gIE1hdElucHV0TW9kdWxlLFxyXG4gIE1hdENoaXBzTW9kdWxlLFxyXG4gIE1hdEljb25Nb2R1bGUsXHJcbiAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcclxuICBNYXREYXlqc0RhdGVNb2R1bGUsXHJcbiAgVG9vbHRpcE1vZHVsZSxcclxuICBDdXJyZW5jeU1hc2tNb2R1bGUsXHJcbiAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLFxyXG4gIE5neE1hdFRpbWVwaWNrZXJNb2R1bGUsXHJcbiAgSW5wdXRUZXh0TW9kdWxlXHJcbl07XHJcblxyXG4vKipcclxuICogTW9kdWxpIHV0aWxpenphdGkgZGFsbGEgbGlicmVyaWEgZSBjaGUgZGV2b25vIGVzc2VyZSBlc3Bvc3RpIGFsbCdlc3Rlcm5vXHJcbiAqL1xyXG5jb25zdCBNT0RVTEVTX1RPX0VYUE9SVCA9IFtcclxuICBBbmd1bGFyTXVsdGlTZWxlY3RNb2R1bGVcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogWy4uLk1PRFVMRVMsIC4uLk1PRFVMRVNfVE9fRVhQT1JUXSxcclxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRTXSxcclxuICBleHBvcnRzOiBbLi4uTU9EVUxFU19UT19FWFBPUlQsIC4uLkNPTVBPTkVOVFNdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogRm9ybXNBbmRWYWxpZGF0aW9uc01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBGQVZfTE9DQUxFLCB1c2VWYWx1ZTogY29uZmlnPy5sb2NhbGUgfHwgJ2l0LUlUJyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRkFWX0RFQlVHX01PREUsIHVzZVZhbHVlOiBjb25maWc/LmRlYnVnTW9kZSAhPSBudWxsID8gY29uZmlnPy5kZWJ1Z01vZGUgOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogQUNPX0NVU1RPTUtFWSwgdXNlVmFsdWU6IGNvbmZpZz8uYWNvY3VzdG9tIHx8IG51bGwgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IE5HWF9NQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogZm9ybWF0c19sb25nIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBGQVZfU0xJREVSX01PREUsIHVzZVZhbHVlOiBjb25maWc/LnNsaWRlck1vZGUgIT0gbnVsbCA/IGNvbmZpZz8uc2xpZGVyTW9kZSA6IGZhbHNlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBOZ3hNYXREYXRlQWRhcHRlciwgdXNlQ2xhc3M6IE5neEV4cGFuZGVkRGF5SnNEYXRlQWRhcHRlciB9LFxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufSJdfQ==
@@ -9,6 +9,7 @@ import { MatInputModule } from '@angular/material/input';
9
9
  import { MatChipsModule } from '@angular/material/chips';
10
10
  import { MatIconModule } from '@angular/material/icon';
11
11
  import { MatCheckboxModule } from '@angular/material/checkbox';
12
+ import { InputTextModule } from 'primeng/inputtext';
12
13
  import { LocalizationService, LocalizationModule } from '@esfaenza/localizations';
13
14
  import { CurrencyMaskModule } from '@esfaenza/ngx-currency-mask';
14
15
  import { AngularMultiSelectModule } from 'angular2-multiselect-dropdown';
@@ -1784,19 +1785,6 @@ class BaseFormControl {
1784
1785
  this.LabelColWidth = parseInt(ratio[0]);
1785
1786
  this.InputColWidth = parseInt(ratio[1]);
1786
1787
  }
1787
- /**
1788
- * Query sull'elemento 'baseInput' che funziona in ambiente statico
1789
- *
1790
- * @param {NgModel} comp Elemento HTML marcato con "#baseInput"
1791
- */
1792
- set baseInput(comp) { this.registerBaseInput(comp); }
1793
- /**
1794
- * Query sull'elemento 'baseInput' che funziona in ambiente dinamico
1795
- *
1796
- * @param {NgModel} comp Elemento HTML marcato con "#baseInput"
1797
- */
1798
- set baseInput_static(comp) { this.registerBaseInput(comp); }
1799
- ;
1800
1788
  /**
1801
1789
  * Effettua il Bind/Parse delle varie **Source** unendo le informazioni specificate in **Display**
1802
1790
  *
@@ -1881,7 +1869,7 @@ class BaseFormControl {
1881
1869
  ngOnInit() {
1882
1870
  // A volte nell'ngOnInit non ci passa quindi lo metto sia qui sia nell'afterviewinit, penso che valga per i componenti di terze parti
1883
1871
  // che si collegano per i cazzi loro al form ecc, quindi la parte sopra non serve... BOH
1884
- this.checkRequiredValidator();
1872
+ this.doCheckRequiredValidator();
1885
1873
  //Il nome non c'è se metto standalone : true (CHE NON é DA METTERE)
1886
1874
  //Dato che anche il controllo esterno viene considerato come componente del form, non posso basarmi solo sul nome ma devo aggiungere un tag. In questo caso "_internal"
1887
1875
  // ATTENZIONE: QUALSIASI SIA IL MOTIVO, SE STO COSO VIENE SPOSTATO DALL ngOnInit NON FUNZIONA PIU NULLA
@@ -1899,6 +1887,7 @@ class BaseFormControl {
1899
1887
  let origFunc = this.Form.onSubmit;
1900
1888
  var formOutsideRef = this.Form;
1901
1889
  this.Form.onSubmit = (ev) => {
1890
+ this.submitted = true;
1902
1891
  this.cdr.markForCheck();
1903
1892
  return origFunc.apply(formOutsideRef);
1904
1893
  };
@@ -1929,17 +1918,17 @@ class BaseFormControl {
1929
1918
  this.destroyed$.complete();
1930
1919
  }
1931
1920
  /** Elabora i validatori iniettati e capisce se il valore è obbligatorio o meno */
1932
- checkRequiredValidator() {
1933
- // controllo se è settato un required per decidere in maniera condizionale se utilizzare il validatore required nel componente interno
1921
+ doCheckRequiredValidator() {
1922
+ // Controllo se è settato un required per decidere in maniera condizionale se utilizzare il validatore required nel componente interno
1934
1923
  // Lo faccio qui e non in un eventuale ngOnInit o costruttore perché ngOnInit non sempre viene chiamato e da costruttore il validatore non ha ancora il valore giusto
1935
- if (this._validators && this._validators.some(elem => elem instanceof RequiredValidator && elem.required))
1924
+ if (this._validators && this.Validation && this._validators.some(elem => elem instanceof RequiredValidator && elem.required))
1936
1925
  this.Required = true;
1937
1926
  }
1938
1927
  /** @ignore */
1939
1928
  ngAfterViewInit() {
1940
1929
  if (!this.ngControl)
1941
1930
  return;
1942
- this.checkRequiredValidator();
1931
+ this.doCheckRequiredValidator();
1943
1932
  }
1944
1933
  /** Helper che collega la funzione di reset del controllo form al controllo di validazione sottostante */
1945
1934
  bindResetFunction() {
@@ -1967,7 +1956,7 @@ class BaseFormControl {
1967
1956
  if (this.Model)
1968
1957
  this.onNotNullValueSet();
1969
1958
  // markForCheck non va bene in quanto arrivano possibilmente 2 update su un solo ciclo di stack
1970
- // setTime*ut che wrappa tutto non va bene sennò spamma delle change detection a suon di interval che rallentano tantissimo l'app
1959
+ // setTimeout che wrappa tutto non va bene sennò spamma delle change detection a suon di interval che rallentano tantissimo l'app
1971
1960
  this.cdr.detectChanges();
1972
1961
  }
1973
1962
  /** @ignore */
@@ -1978,17 +1967,15 @@ class BaseFormControl {
1978
1967
  registerOnTouched(fn) {
1979
1968
  this.onTouched = fn;
1980
1969
  }
1981
- /**
1982
- * Registra internamente il componente di validazione, ne imposta i validatori e collega il Form, se presente
1983
- *
1984
- * @param {NgModel} comp Elemento HTML marcato con "#validationControl"
1985
- */
1986
- registerBaseInput(comp) {
1987
- if (comp) {
1970
+ set baseInput(comp) { this.doRegisterBaseInput(comp); }
1971
+ set baseInput_static(comp) { this.doRegisterBaseInput(comp); }
1972
+ ;
1973
+ doRegisterBaseInput(baseInput) {
1974
+ if (baseInput) {
1988
1975
  // È arrivato un nuovo validationContorl (succede solo nel form-select quando cambia la source da 0 elementi / null ad N elementi, quindi al massimo una volta)
1989
1976
  if (this.validationControl && this.Form)
1990
1977
  this.Form.removeControl(this.validationControl);
1991
- this.validationControl = comp;
1978
+ this.validationControl = baseInput;
1992
1979
  //Questa serve per passare avanti i validatori
1993
1980
  if (this.UseUserValidators)
1994
1981
  this.validationControl.control.setValidators(this._validators);
@@ -1999,10 +1986,11 @@ class BaseFormControl {
1999
1986
  }
2000
1987
  if (this.ngControl)
2001
1988
  this.bindResetFunction();
2002
- //I val-roba questo lo fanno automaticamente dentro... gli altri no (es. semplice input checkbox)
2003
- this.updateValidityForNativeInput();
1989
+ // I val-roba questo lo fanno automaticamente dentro... gli altri no (es. semplice input checkbox)
1990
+ this.doUpdateValidityForNativeInput();
2004
1991
  }
2005
1992
  }
1993
+ //#endregion
2006
1994
  registerForm(ngForm) {
2007
1995
  this.Form = ngForm;
2008
1996
  this.Form.addControl(this.validationControl);
@@ -2013,9 +2001,8 @@ class BaseFormControl {
2013
2001
  *
2014
2002
  * @param {boolean} forcedValue Forza l'aggiornamento anche se non è un input nativo (input nativo = checkbox, ad esempio)
2015
2003
  */
2016
- updateValidityForNativeInput(forcedValue = false) {
2017
- if (forcedValue || this.nativeInput)
2018
- this.validationControl.control.updateValueAndValidity();
2004
+ doUpdateValidityForNativeInput(forcedValue = false) {
2005
+ this.validationControl.control.updateValueAndValidity();
2019
2006
  }
2020
2007
  /**
2021
2008
  * @ignore
@@ -2070,12 +2057,13 @@ class BaseFormControl {
2070
2057
  */
2071
2058
  set submitted(val) {
2072
2059
  this._submitted = val;
2073
- if (!this.baseInput)
2060
+ if (!this.validationControl)
2074
2061
  return;
2075
2062
  if (val) {
2076
- this.baseInput.control.markAsTouched();
2063
+ this.validationControl.control.markAsTouched();
2064
+ this.validationControl.control.markAsDirty();
2077
2065
  }
2078
- if (this.baseInput.control.status === "INVALID" && val) { /*this.showTooltipWithMessage();*/ }
2066
+ if (this.validationControl.control.status === "INVALID" && val) { /*this.showTooltipWithMessage();*/ }
2079
2067
  else { /*this.tooltip.hide();*/ }
2080
2068
  }
2081
2069
  /**
@@ -2085,22 +2073,22 @@ class BaseFormControl {
2085
2073
  this._forceInvalid = val;
2086
2074
  if (val)
2087
2075
  setTimeout(() => {
2088
- this.baseInput.control.setErrors({ forcedtoinvalid: true });
2089
- this.baseInput.control.markAsTouched();
2090
- this.baseInput.control.markAsDirty();
2076
+ this.validationControl.control.setErrors({ forcedtoinvalid: true });
2077
+ this.validationControl.control.markAsTouched();
2078
+ this.validationControl.control.markAsDirty();
2091
2079
  this.cdr.detectChanges();
2092
2080
  });
2093
2081
  else
2094
2082
  setTimeout(() => {
2095
- this.baseInput.control.setErrors({ forcedtoinvalid: null });
2096
- this.baseInput.control.updateValueAndValidity();
2083
+ this.validationControl.control.setErrors({ forcedtoinvalid: null });
2084
+ this.validationControl.control.updateValueAndValidity();
2097
2085
  });
2098
2086
  }
2099
2087
  /**
2100
2088
  * @ignore
2101
2089
  */
2102
2090
  setDisabledState(isDisabled) {
2103
- isDisabled ? this.baseInput.control.disable() : this.baseInput.control.enable();
2091
+ isDisabled ? this.validationControl.control.disable() : this.validationControl.control.enable();
2104
2092
  this.Readonly = isDisabled;
2105
2093
  }
2106
2094
  /**
@@ -2163,11 +2151,11 @@ BaseFormControl.propDecorators = {
2163
2151
  Readonly: [{ type: Input }],
2164
2152
  LabelInputRatio: [{ type: Input }],
2165
2153
  htmlInput: [{ type: ViewChild, args: ['htmlInput', { static: false },] }],
2166
- baseInput: [{ type: ViewChild, args: ["baseInput", { static: false },] }],
2167
- baseInput_static: [{ type: ViewChild, args: ["baseInput", { static: true },] }],
2168
2154
  inputChange: [{ type: Output }],
2169
2155
  inputFocus: [{ type: Output }],
2170
2156
  inputFinalized: [{ type: Output }],
2157
+ baseInput: [{ type: ViewChild, args: ["baseInput", { static: false },] }],
2158
+ baseInput_static: [{ type: ViewChild, args: ["baseInput", { static: true },] }],
2171
2159
  submitted: [{ type: Input, args: ["submitted",] }],
2172
2160
  forceInvalid: [{ type: Input }]
2173
2161
  };
@@ -2983,7 +2971,7 @@ FormDateComponent.propDecorators = {
2983
2971
 
2984
2972
  // Angular
2985
2973
  /** Semplice componente di Input testuale, con eventuale prefisso/suffisso */
2986
- class FormInputComponent extends BaseFormControl {
2974
+ class FormInputComponentOLD extends BaseFormControl {
2987
2975
  /** @ignore Costruttore */
2988
2976
  constructor(cdr, ngControl, _validators, ac, AppContext, ACO_CUSTOMKEY, FAV_DEBUG_MODE) {
2989
2977
  super(cdr, ngControl, _validators, ac, AppContext, ACO_CUSTOMKEY, FAV_DEBUG_MODE);
@@ -3016,15 +3004,32 @@ class FormInputComponent extends BaseFormControl {
3016
3004
  this.ShowPassword = !this.ShowPassword;
3017
3005
  event.preventDefault();
3018
3006
  }
3007
+ /**
3008
+ * @ignore
3009
+ */
3010
+ ngOnInit() {
3011
+ super.ngOnInit();
3012
+ this.registerFocusRequest();
3013
+ // Controllo se è settato un required per decidere in maniera condizionale se utilizzare il validatore required nel componente interno
3014
+ if (this._validators && this.Validation && this._validators.some(elem => elem instanceof RequiredValidator))
3015
+ this.Required = true;
3016
+ }
3017
+ /**
3018
+ * @ignore
3019
+ */
3020
+ ngOnDestroy() {
3021
+ super.ngOnDestroy();
3022
+ this.deregisterFocusRequest();
3023
+ }
3019
3024
  }
3020
- FormInputComponent.decorators = [
3025
+ FormInputComponentOLD.decorators = [
3021
3026
  { type: Component, args: [{
3022
- selector: "form-input",
3023
- template: "<!-- Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}{{Label ? \":\" : \"\"}}</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline' && InlineSeparator != ''\">{{InlineSeparator}}</span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<ng-template #controlTemplate>\r\n <mat-form-field floatLabel=\"never\" appearance=\"{{FieldAppearence}}\" class=\"mat-full-width mat-no-border-top mat-height-fixed\">\r\n <mat-label [class.app-margin-left-25]=\"HasPrefix\" *ngIf=\"Placeholder && FloatingLabel\">{{Placeholder}}</mat-label>\r\n <!--Prefisso-->\r\n <ng-container *ngIf=\"HasPrefix\">\r\n <button type=\"button\"\r\n class=\"mat-button mat-icon-button mat-button-base mat-icon-button-override mat-icon-button-override-prefix\"\r\n matPrefix (click)=\"onPrefixAction.emit(); $event.stopPropagation(); $event.preventDefault();\">\r\n <ng-container *ngTemplateOutlet=\"prefix\"></ng-container>\r\n </button>\r\n </ng-container>\r\n <!--Input-->\r\n <input matInput\r\n #baseInput=\"ngModel\"\r\n #htmlInput\r\n [type]=\"Password ? 'password' : 'text'\"\r\n triggers=\"\"\r\n placement=\"top\"\r\n autocomplete=\"off\"\r\n name=\"base-input\"\r\n class=\"form-control\"\r\n id=\"{{GeneratedName}}\"\r\n [class.app-margin-left-25]=\"HasPrefix\"\r\n [class.mat-input-with-suffix]=\"HasSuffix || Password\"\r\n [(ngModel)]=\"Model\"\r\n [class.checking-field]=\"!Validation\"\r\n [readonly]=\"Frozen\"\r\n [disabled]=\"Readonly\"\r\n [placeholder]=\"FloatingLabel ? undefined : Placeholder\"\r\n (focus)=\"focused($event);\"\r\n (ngModelChange)=\"changed()\"\r\n (keyup)=\"($event.keyCode == 13 || $event.keyCode == 27) && finalized();\"\r\n (blur)=\"finalized();\"\r\n >\r\n <ng-container *ngIf=\"HasSuffix || Password\">\r\n <ng-container *ngIf=\"!Password\">\r\n <button type=\"button\"\r\n class=\"mat-button mat-icon-button mat-button-base mat-icon-button-override mat-icon-button-override-suffix\"\r\n matSuffix (click)=\"onSuffixAction.emit(); $event.stopPropagation(); $event.preventDefault();\">\r\n <ng-container *ngTemplateOutlet=\"suffix\"></ng-container>\r\n </button>\r\n </ng-container>\r\n <!--Password-->\r\n <span class=\"form-input-suffix\" *ngIf=\"Password\">\r\n <ng-container *ngIf=\"Password\" matSuffix>\r\n <a *ngIf=\"ShowPassword\" class=\"fa fa-eye-slash app-fs-16 app-pointer\" (click)=\"onShowHidePassword($event)\"></a>\r\n <a *ngIf=\"!ShowPassword\" class=\"fa fa-eye app-fs-16 app-pointer\" (click)=\"onShowHidePassword($event)\"></a>\r\n </ng-container>\r\n </span>\r\n </ng-container>\r\n </mat-form-field>\r\n</ng-template>",
3027
+ selector: "form-input-old",
3028
+ template: "Uguale in tutti i componenti -------------------------------------------------------------------------\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}{{Label ? \":\" : \"\"}}</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline' && InlineSeparator != ''\">{{InlineSeparator}}</span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<ng-template #controlTemplate>\r\n <mat-form-field floatLabel=\"never\" appearance=\"{{FieldAppearence}}\" class=\"mat-full-width mat-no-border-top mat-height-fixed\">\r\n <mat-label [class.app-margin-left-25]=\"HasPrefix\" *ngIf=\"Placeholder && FloatingLabel\">{{Placeholder}}</mat-label>\r\n <!--Prefisso-->\r\n <ng-container *ngIf=\"HasPrefix\">\r\n <button type=\"button\"\r\n class=\"mat-button mat-icon-button mat-button-base mat-icon-button-override mat-icon-button-override-prefix\"\r\n matPrefix (click)=\"onPrefixAction.emit(); $event.stopPropagation(); $event.preventDefault();\">\r\n <ng-container *ngTemplateOutlet=\"prefix\"></ng-container>\r\n </button>\r\n </ng-container>\r\n <!--Input-->\r\n <input matInput\r\n #baseInput=\"ngModel\"\r\n #htmlInput\r\n [type]=\"Password ? 'password' : 'text'\"\r\n triggers=\"\"\r\n placement=\"top\"\r\n autocomplete=\"off\"\r\n name=\"base-input\"\r\n class=\"form-control\"\r\n id=\"{{GeneratedName}}\"\r\n [class.app-margin-left-25]=\"HasPrefix\"\r\n [class.mat-input-with-suffix]=\"HasSuffix || Password\"\r\n [(ngModel)]=\"Model\"\r\n [class.checking-field]=\"!Validation\"\r\n [readonly]=\"Frozen\"\r\n [disabled]=\"Readonly\"\r\n [placeholder]=\"FloatingLabel ? undefined : Placeholder\"\r\n (focus)=\"focused($event);\"\r\n (ngModelChange)=\"changed()\"\r\n (keyup)=\"($event.keyCode == 13 || $event.keyCode == 27) && finalized();\"\r\n (blur)=\"finalized();\"\r\n >\r\n <ng-container *ngIf=\"HasSuffix || Password\">\r\n <ng-container *ngIf=\"!Password\">\r\n <button type=\"button\"\r\n class=\"mat-button mat-icon-button mat-button-base mat-icon-button-override mat-icon-button-override-suffix\"\r\n matSuffix (click)=\"onSuffixAction.emit(); $event.stopPropagation(); $event.preventDefault();\">\r\n <ng-container *ngTemplateOutlet=\"suffix\"></ng-container>\r\n </button>\r\n </ng-container>\r\n <!--Password-->\r\n <span class=\"form-input-suffix\" *ngIf=\"Password\">\r\n <ng-container *ngIf=\"Password\" matSuffix>\r\n <a *ngIf=\"ShowPassword\" class=\"fa fa-eye-slash app-fs-16 app-pointer\" (click)=\"onShowHidePassword($event)\"></a>\r\n <a *ngIf=\"!ShowPassword\" class=\"fa fa-eye app-fs-16 app-pointer\" (click)=\"onShowHidePassword($event)\"></a>\r\n </ng-container>\r\n </span>\r\n </ng-container>\r\n </mat-form-field>\r\n</ng-template>",
3024
3029
  changeDetection: ChangeDetectionStrategy.OnPush
3025
3030
  },] }
3026
3031
  ];
3027
- FormInputComponent.ctorParameters = () => [
3032
+ FormInputComponentOLD.ctorParameters = () => [
3028
3033
  { type: ChangeDetectorRef },
3029
3034
  { type: NgControl, decorators: [{ type: Optional }, { type: Self }] },
3030
3035
  { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [NG_VALIDATORS,] }] },
@@ -3033,7 +3038,7 @@ FormInputComponent.ctorParameters = () => [
3033
3038
  { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ACO_CUSTOMKEY,] }] },
3034
3039
  { type: Boolean, decorators: [{ type: Optional }, { type: Inject, args: [FAV_DEBUG_MODE,] }] }
3035
3040
  ];
3036
- FormInputComponent.propDecorators = {
3041
+ FormInputComponentOLD.propDecorators = {
3037
3042
  Password: [{ type: Input }],
3038
3043
  onSuffixAction: [{ type: Output }],
3039
3044
  onPrefixAction: [{ type: Output }],
@@ -3708,6 +3713,64 @@ FormTimeComponent.propDecorators = {
3708
3713
  InOutFormat: [{ type: Input }]
3709
3714
  };
3710
3715
 
3716
+ // Angular
3717
+ class FormInputComponent extends BaseFormControl {
3718
+ constructor(cdr, ngControl, _validators, ac, AppContext, ACO_CUSTOMKEY, FAV_DEBUG_MODE) {
3719
+ super(cdr, ngControl, _validators, ac, AppContext, ACO_CUSTOMKEY, FAV_DEBUG_MODE);
3720
+ this.Password = false;
3721
+ this.onSuffixAction = new EventEmitter();
3722
+ this.onPrefixAction = new EventEmitter();
3723
+ this.HasSuffix = false;
3724
+ this.HasPrefix = false;
3725
+ }
3726
+ ngOnInit() {
3727
+ super.ngOnInit();
3728
+ this.registerFocusRequest();
3729
+ }
3730
+ ngOnDestroy() {
3731
+ super.ngOnDestroy();
3732
+ this.deregisterFocusRequest();
3733
+ }
3734
+ writeValue(obj) {
3735
+ this.EvaluatedModel = (obj === null || obj === void 0 ? void 0 : obj.toString()) || "";
3736
+ super.writeValue(obj);
3737
+ }
3738
+ ngAfterContentInit() {
3739
+ this.HasSuffix = !!this.suffix && !this.Password;
3740
+ this.HasPrefix = !!this.prefix;
3741
+ }
3742
+ onNotNullValueSet() { }
3743
+ onBlur() {
3744
+ var _a, _b;
3745
+ this.validationControl.control.markAsDirty();
3746
+ this.inputFinalized.emit((_b = (_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.toString());
3747
+ }
3748
+ }
3749
+ FormInputComponent.decorators = [
3750
+ { type: Component, args: [{
3751
+ selector: "form-input",
3752
+ template: "<!-- Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}{{Label ? \":\" : \"\"}}</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline' && InlineSeparator != ''\">{{InlineSeparator}}</span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<ng-template #controlTemplate>\r\n <span [class.p-float-label]=\"FloatingLabel && (!HasPrefix && !HasSuffix)\" \r\n [class.p-input-icon-right]=\"Password || HasSuffix\"\r\n [class.p-input-icon-left]=\"HasPrefix\">\r\n <!--Prefisso-->\r\n <ng-container *ngIf=\"HasPrefix\">\r\n <i (click)=\"onPrefixAction.emit(); $event.stopPropagation(); $event.preventDefault();\" style=\"cursor: pointer;\">\r\n <ng-container *ngTemplateOutlet=\"prefix\"></ng-container>\r\n </i>\r\n </ng-container>\r\n <!--Input-->\r\n <input pInputText #baseInput=\"ngModel\" #htmlInput\r\n name=\"{{GeneratedName}}\" id=\"{{GeneratedName}}\"\r\n [type]=\"Password ? 'password' : 'text'\"\r\n triggers=\"\"\r\n placement=\"top\"\r\n autocomplete=\"off\"\r\n [class.app-margin-left-25]=\"HasPrefix\"\r\n [(ngModel)]=\"Model\"\r\n style=\"box-shadow: unset\"\r\n [readonly]=\"Frozen\"\r\n [disabled]=\"Readonly\"\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n (focus)=\"focused($event);\"\r\n (ngModelChange)=\"changed()\"\r\n (keyup)=\"($event.keyCode == 13 || $event.keyCode == 27) && onBlur();\"\r\n (blur)=\"onBlur();\"\r\n >\r\n <label *ngIf=\"Placeholder && FloatingLabel\" htmlFor=\"{{GeneratedName}}\">\r\n {{Placeholder}}\r\n </label>\r\n <!--Password-->\r\n <i *ngIf=\"Password && htmlInput.type == 'password'\" class=\"fa fas fa-eye\" style=\"cursor: pointer;\" (click)=\"htmlInput.type = 'text'\"></i>\r\n <i *ngIf=\"Password && htmlInput.type == 'text'\" class=\"fa fas fa-eye-slash\" style=\"cursor: pointer;\" (click)=\"htmlInput.type = 'password'\"></i>\r\n <!--Suffisso-->\r\n <ng-container *ngIf=\"HasSuffix\">\r\n <i (click)=\"onSuffixAction.emit(); $event.stopPropagation(); $event.preventDefault();\" style=\"cursor: pointer;\">\r\n <ng-container *ngTemplateOutlet=\"suffix\"></ng-container>\r\n </i>\r\n </ng-container>\r\n </span>\r\n</ng-template>",
3753
+ changeDetection: ChangeDetectionStrategy.OnPush,
3754
+ styles: [".p-inputtext{width:100%}.p-input-icon-left,.p-input-icon-right{display:block!important}"]
3755
+ },] }
3756
+ ];
3757
+ FormInputComponent.ctorParameters = () => [
3758
+ { type: ChangeDetectorRef },
3759
+ { type: NgControl, decorators: [{ type: Optional }, { type: Self }] },
3760
+ { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [NG_VALIDATORS,] }] },
3761
+ { type: AccessControlService, decorators: [{ type: Optional }] },
3762
+ { type: ComponentContext, decorators: [{ type: Optional }] },
3763
+ { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ACO_CUSTOMKEY,] }] },
3764
+ { type: Boolean, decorators: [{ type: Optional }, { type: Inject, args: [FAV_DEBUG_MODE,] }] }
3765
+ ];
3766
+ FormInputComponent.propDecorators = {
3767
+ Password: [{ type: Input }],
3768
+ onSuffixAction: [{ type: Output }],
3769
+ onPrefixAction: [{ type: Output }],
3770
+ suffix: [{ type: ContentChild, args: ["suffix", { static: false },] }],
3771
+ prefix: [{ type: ContentChild, args: ["prefix", { static: false },] }]
3772
+ };
3773
+
3711
3774
  // Angular
3712
3775
  /**
3713
3776
  * Formato in display (modalità lunga, con ore, minuti e secondi) delle date per tutti i componenti che utilizzino input data.
@@ -3736,6 +3799,7 @@ const COMPONENTS = [
3736
3799
  FormCheckboxComponent,
3737
3800
  FormDateComponent,
3738
3801
  FormEmptyComponent,
3802
+ FormInputComponentOLD,
3739
3803
  FormInputComponent,
3740
3804
  FormSelectComponent,
3741
3805
  FormTextareaComponent,
@@ -3769,7 +3833,8 @@ const MODULES = [
3769
3833
  CurrencyMaskModule,
3770
3834
  MatAutocompleteModule,
3771
3835
  NgxMatDatetimePickerModule,
3772
- NgxMatTimepickerModule
3836
+ NgxMatTimepickerModule,
3837
+ InputTextModule
3773
3838
  ];
3774
3839
  /**
3775
3840
  * Moduli utilizzati dalla libreria e che devono essere esposti all'esterno
@@ -3808,5 +3873,5 @@ FormsAndValidationsModule.decorators = [
3808
3873
  * Generated bundle index. Do not edit.
3809
3874
  */
3810
3875
 
3811
- export { ACO_CUSTOMKEY, AppFile, BaseFormControl, ChangeEvent, FAV_DEBUG_MODE, FAV_LOCALE, FAV_SLIDER_MODE, FormAdaptiveComponent, FormAutocompleteComponent, FormCheckboxComponent, FormDateComponent, FormDateTimeComponent, FormEmptyComponent, FormErrorComponent, FormFileComponent, FormInfoComponent, FormInputComponent, FormSelectComponent, FormTemplateComponent, FormTextareaComponent, FormTimeComponent, FormsAndValidationsModule, FormsAndValidationsModuleConfig, NgxExpandedDayJsDateAdapter, ValidationAutocompleteComponent, ValidationAutocompleteMultiComponent, ValidationCurrencyComponent, ValidationDateComponent, ValidationDateTimeComponent, ValidationInputComponent, ValidationSelectComponent, ValidationTextAreaComponent, BaseValidation as ɵa, BaseValidationLoc as ɵb, CustomRequiredDirective as ɵc, FormSelectComponentLoc as ɵd, FormAdaptiveComponentLoc as ɵe, FormMultiSelectComponent as ɵf, FormMultiSelectComponentLoc as ɵg, FormFileComponentLoc as ɵh, FormAutocompleteComponentLoc as ɵi };
3876
+ export { ACO_CUSTOMKEY, AppFile, BaseFormControl, ChangeEvent, FAV_DEBUG_MODE, FAV_LOCALE, FAV_SLIDER_MODE, FormAdaptiveComponent, FormAutocompleteComponent, FormCheckboxComponent, FormDateComponent, FormDateTimeComponent, FormEmptyComponent, FormErrorComponent, FormFileComponent, FormInfoComponent, FormInputComponentOLD, FormSelectComponent, FormTemplateComponent, FormTextareaComponent, FormTimeComponent, FormsAndValidationsModule, FormsAndValidationsModuleConfig, NgxExpandedDayJsDateAdapter, ValidationAutocompleteComponent, ValidationAutocompleteMultiComponent, ValidationCurrencyComponent, ValidationDateComponent, ValidationDateTimeComponent, ValidationInputComponent, ValidationSelectComponent, ValidationTextAreaComponent, BaseValidation as ɵa, BaseValidationLoc as ɵb, CustomRequiredDirective as ɵc, FormInputComponent as ɵd, FormSelectComponentLoc as ɵe, FormAdaptiveComponentLoc as ɵf, FormMultiSelectComponent as ɵg, FormMultiSelectComponentLoc as ɵh, FormFileComponentLoc as ɵi, FormAutocompleteComponentLoc as ɵj };
3812
3877
  //# sourceMappingURL=esfaenza-forms-and-validations.js.map