@esfaenza/forms-and-validations 19.2.20 → 19.2.22

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.
@@ -229,6 +229,12 @@ class BaseFormControl {
229
229
  this.SetValidationSubject.pipe(distinctUntilChanged(), takeUntil(this.destroyed$)).subscribe(v => {
230
230
  if (v.fieldName !== this.name)
231
231
  return;
232
+ // Nessun errore, ripulisco
233
+ if (!v.error) {
234
+ this.innerInput.control.setErrors(null, { emitEvent: false });
235
+ this.ngControl.control.setErrors(null, { emitEvent: false });
236
+ return;
237
+ }
232
238
  this.log(`Control Forced Invalid - ${this.name} error: ${v.error}`);
233
239
  this.innerInput.control.setErrors({ forcedtoinvalid: true }, { emitEvent: false });
234
240
  this.innerInput.control.markAsDirty({ emitEvent: false });
@@ -242,9 +248,12 @@ class BaseFormControl {
242
248
  showTooltip(error) {
243
249
  if (!this.tooltip)
244
250
  return;
245
- this.TooltipText = error ?? this.FailedValidationMessage ?? (this.required !== undefined && this.isEmptyValue(this.value) ? "È obbligatorio fornire un valore" : "Formato input errato");
251
+ this.TooltipText = this.getTooltipText();
246
252
  this.tooltip.show(null, this.innerElement.nativeElement);
247
253
  }
254
+ getTooltipText(error) {
255
+ return error ?? this.FailedValidationMessage ?? (this.required !== undefined && this.isEmptyValue(this.value) ? "È obbligatorio fornire un valore" : "Formato input errato");
256
+ }
248
257
  hideTooltip() {
249
258
  if (!this.tooltip)
250
259
  return;
@@ -661,11 +670,11 @@ class EsFormDateComponent extends BaseFormControl {
661
670
  }
662
671
  }
663
672
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EsFormDateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
664
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: EsFormDateComponent, isStandalone: true, selector: "form-date", inputs: { InOutFormat: "InOutFormat", FloatingLabel: "FloatingLabel" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormDateComponent), multi: true }], usesInheritance: true, ngImport: i0, template: "<input-skeleton [Control]=\"controlTemplate\" [For]=\"this\"></input-skeleton>\r\n\r\n<ng-template #controlTemplate>\r\n <p-floatlabel variant=\"on\">\r\n <p-datepicker\r\n size=\"small\"\r\n #innerInput=\"ngModel\"\r\n #innerElement\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n [attr.name]=\"InternalName\"\r\n [attr.id]=\"InternalName\"\r\n [view]=\"view()\" \r\n [dateFormat]=\"dateFormat()\"\r\n [showTime]=\"showTime()\"\r\n [hourFormat]=\"hourFormat()\"\r\n [timeOnly]=\"timeOnly()\"\r\n [selectionMode]=\"selectionMode()\"\r\n [showIcon]=\"true\"\r\n [showButtonBar]=\"showButtonBar()\"\r\n [disabled]=\"disabled\" \r\n [required]=\"required\"\r\n [readonlyInput]=\"readonly\"\r\n inputId=\"buttondisplay\"\r\n optionLabel=\"description\"\r\n optionValue=\"id\"\r\n filterBy=\"description\"\r\n appendTo=\"body\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"changed($event);\" \r\n (click)=\"focused($event);\"\r\n (onBlur)=\"onTouched(); finalized()\"\r\n (onSelect)=\"onTouched(); finalized()\"\r\n />\r\n\r\n <label>{{FloatingLabel ? Placeholder : null}}</label>\r\n </p-floatlabel>\r\n</ng-template>\r\n\r\n<p-popover styleClass='validation-tooltip' #tooltip>{{TooltipText}}</p-popover>", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i1$2.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i3$1.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i4.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: InputSkeletonComponent, selector: "input-skeleton", inputs: ["For", "Control"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
673
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: EsFormDateComponent, isStandalone: true, selector: "form-date", inputs: { InOutFormat: "InOutFormat", FloatingLabel: "FloatingLabel" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormDateComponent), multi: true }], usesInheritance: true, ngImport: i0, template: "<input-skeleton [Control]=\"controlTemplate\" [For]=\"this\"></input-skeleton>\r\n\r\n<ng-template #controlTemplate>\r\n <p-floatlabel variant=\"on\">\r\n <p-datepicker\r\n size=\"small\"\r\n #innerInput=\"ngModel\"\r\n #innerElement\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n [attr.name]=\"InternalName\"\r\n [attr.id]=\"InternalName\"\r\n [view]=\"view()\" \r\n [dateFormat]=\"dateFormat()\"\r\n [showTime]=\"showTime()\"\r\n [hourFormat]=\"hourFormat()\"\r\n [timeOnly]=\"timeOnly()\"\r\n [selectionMode]=\"selectionMode()\"\r\n [showIcon]=\"true\"\r\n [showButtonBar]=\"showButtonBar()\"\r\n [disabled]=\"disabled\" \r\n [required]=\"required\"\r\n [readonlyInput]=\"readonly\"\r\n [baseZIndex]=\"99999999\"\r\n inputId=\"buttondisplay\"\r\n optionLabel=\"description\"\r\n optionValue=\"id\"\r\n filterBy=\"description\"\r\n appendTo=\"body\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"changed($event);\" \r\n (click)=\"focused($event);\"\r\n (onBlur)=\"onTouched(); finalized()\"\r\n (onSelect)=\"onTouched(); finalized()\"\r\n />\r\n\r\n <label>{{FloatingLabel ? Placeholder : null}}</label>\r\n </p-floatlabel>\r\n</ng-template>\r\n\r\n<p-popover styleClass='validation-tooltip' #tooltip>{{TooltipText}}</p-popover>", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i1$2.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i3$1.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i4.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: InputSkeletonComponent, selector: "input-skeleton", inputs: ["For", "Control"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
665
674
  }
666
675
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EsFormDateComponent, decorators: [{
667
676
  type: Component,
668
- args: [{ selector: "form-date", encapsulation: ViewEncapsulation.None, imports: [DatePickerModule, FormsModule, CommonModule, FloatLabelModule, PopoverModule, InputSkeletonComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormDateComponent), multi: true }], standalone: true, template: "<input-skeleton [Control]=\"controlTemplate\" [For]=\"this\"></input-skeleton>\r\n\r\n<ng-template #controlTemplate>\r\n <p-floatlabel variant=\"on\">\r\n <p-datepicker\r\n size=\"small\"\r\n #innerInput=\"ngModel\"\r\n #innerElement\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n [attr.name]=\"InternalName\"\r\n [attr.id]=\"InternalName\"\r\n [view]=\"view()\" \r\n [dateFormat]=\"dateFormat()\"\r\n [showTime]=\"showTime()\"\r\n [hourFormat]=\"hourFormat()\"\r\n [timeOnly]=\"timeOnly()\"\r\n [selectionMode]=\"selectionMode()\"\r\n [showIcon]=\"true\"\r\n [showButtonBar]=\"showButtonBar()\"\r\n [disabled]=\"disabled\" \r\n [required]=\"required\"\r\n [readonlyInput]=\"readonly\"\r\n inputId=\"buttondisplay\"\r\n optionLabel=\"description\"\r\n optionValue=\"id\"\r\n filterBy=\"description\"\r\n appendTo=\"body\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"changed($event);\" \r\n (click)=\"focused($event);\"\r\n (onBlur)=\"onTouched(); finalized()\"\r\n (onSelect)=\"onTouched(); finalized()\"\r\n />\r\n\r\n <label>{{FloatingLabel ? Placeholder : null}}</label>\r\n </p-floatlabel>\r\n</ng-template>\r\n\r\n<p-popover styleClass='validation-tooltip' #tooltip>{{TooltipText}}</p-popover>", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"] }]
677
+ args: [{ selector: "form-date", encapsulation: ViewEncapsulation.None, imports: [DatePickerModule, FormsModule, CommonModule, FloatLabelModule, PopoverModule, InputSkeletonComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormDateComponent), multi: true }], standalone: true, template: "<input-skeleton [Control]=\"controlTemplate\" [For]=\"this\"></input-skeleton>\r\n\r\n<ng-template #controlTemplate>\r\n <p-floatlabel variant=\"on\">\r\n <p-datepicker\r\n size=\"small\"\r\n #innerInput=\"ngModel\"\r\n #innerElement\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n [attr.name]=\"InternalName\"\r\n [attr.id]=\"InternalName\"\r\n [view]=\"view()\" \r\n [dateFormat]=\"dateFormat()\"\r\n [showTime]=\"showTime()\"\r\n [hourFormat]=\"hourFormat()\"\r\n [timeOnly]=\"timeOnly()\"\r\n [selectionMode]=\"selectionMode()\"\r\n [showIcon]=\"true\"\r\n [showButtonBar]=\"showButtonBar()\"\r\n [disabled]=\"disabled\" \r\n [required]=\"required\"\r\n [readonlyInput]=\"readonly\"\r\n [baseZIndex]=\"99999999\"\r\n inputId=\"buttondisplay\"\r\n optionLabel=\"description\"\r\n optionValue=\"id\"\r\n filterBy=\"description\"\r\n appendTo=\"body\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"changed($event);\" \r\n (click)=\"focused($event);\"\r\n (onBlur)=\"onTouched(); finalized()\"\r\n (onSelect)=\"onTouched(); finalized()\"\r\n />\r\n\r\n <label>{{FloatingLabel ? Placeholder : null}}</label>\r\n </p-floatlabel>\r\n</ng-template>\r\n\r\n<p-popover styleClass='validation-tooltip' #tooltip>{{TooltipText}}</p-popover>", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"] }]
669
678
  }], propDecorators: { InOutFormat: [{
670
679
  type: Input
671
680
  }], FloatingLabel: [{
@@ -678,11 +687,11 @@ class EsFormDateTimeComponent extends EsFormDateComponent {
678
687
  this.mode = "datetime";
679
688
  }
680
689
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EsFormDateTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
681
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: EsFormDateTimeComponent, isStandalone: true, selector: "form-datetime", providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormDateTimeComponent), multi: true }], usesInheritance: true, ngImport: i0, template: "<input-skeleton [Control]=\"controlTemplate\" [For]=\"this\"></input-skeleton>\r\n\r\n<ng-template #controlTemplate>\r\n <p-floatlabel variant=\"on\">\r\n <p-datepicker\r\n size=\"small\"\r\n #innerInput=\"ngModel\"\r\n #innerElement\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n [attr.name]=\"InternalName\"\r\n [attr.id]=\"InternalName\"\r\n [view]=\"view()\" \r\n [dateFormat]=\"dateFormat()\"\r\n [showTime]=\"showTime()\"\r\n [hourFormat]=\"hourFormat()\"\r\n [timeOnly]=\"timeOnly()\"\r\n [selectionMode]=\"selectionMode()\"\r\n [showIcon]=\"true\"\r\n [showButtonBar]=\"showButtonBar()\"\r\n [disabled]=\"disabled\" \r\n [required]=\"required\"\r\n [readonlyInput]=\"readonly\"\r\n inputId=\"buttondisplay\"\r\n optionLabel=\"description\"\r\n optionValue=\"id\"\r\n filterBy=\"description\"\r\n appendTo=\"body\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"changed($event);\" \r\n (click)=\"focused($event);\"\r\n (onBlur)=\"onTouched(); finalized()\"\r\n (onSelect)=\"onTouched(); finalized()\"\r\n />\r\n\r\n <label>{{FloatingLabel ? Placeholder : null}}</label>\r\n </p-floatlabel>\r\n</ng-template>\r\n\r\n<p-popover styleClass='validation-tooltip' #tooltip>{{TooltipText}}</p-popover>", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i1$2.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i3$1.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i4.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: InputSkeletonComponent, selector: "input-skeleton", inputs: ["For", "Control"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
690
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: EsFormDateTimeComponent, isStandalone: true, selector: "form-datetime", providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormDateTimeComponent), multi: true }], usesInheritance: true, ngImport: i0, template: "<input-skeleton [Control]=\"controlTemplate\" [For]=\"this\"></input-skeleton>\r\n\r\n<ng-template #controlTemplate>\r\n <p-floatlabel variant=\"on\">\r\n <p-datepicker\r\n size=\"small\"\r\n #innerInput=\"ngModel\"\r\n #innerElement\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n [attr.name]=\"InternalName\"\r\n [attr.id]=\"InternalName\"\r\n [view]=\"view()\" \r\n [dateFormat]=\"dateFormat()\"\r\n [showTime]=\"showTime()\"\r\n [hourFormat]=\"hourFormat()\"\r\n [timeOnly]=\"timeOnly()\"\r\n [selectionMode]=\"selectionMode()\"\r\n [showIcon]=\"true\"\r\n [showButtonBar]=\"showButtonBar()\"\r\n [disabled]=\"disabled\" \r\n [required]=\"required\"\r\n [readonlyInput]=\"readonly\"\r\n [baseZIndex]=\"99999999\"\r\n inputId=\"buttondisplay\"\r\n optionLabel=\"description\"\r\n optionValue=\"id\"\r\n filterBy=\"description\"\r\n appendTo=\"body\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"changed($event);\" \r\n (click)=\"focused($event);\"\r\n (onBlur)=\"onTouched(); finalized()\"\r\n (onSelect)=\"onTouched(); finalized()\"\r\n />\r\n\r\n <label>{{FloatingLabel ? Placeholder : null}}</label>\r\n </p-floatlabel>\r\n</ng-template>\r\n\r\n<p-popover styleClass='validation-tooltip' #tooltip>{{TooltipText}}</p-popover>", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i1$2.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i3$1.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i4.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: InputSkeletonComponent, selector: "input-skeleton", inputs: ["For", "Control"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
682
691
  }
683
692
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EsFormDateTimeComponent, decorators: [{
684
693
  type: Component,
685
- args: [{ selector: "form-datetime", encapsulation: ViewEncapsulation.None, imports: [DatePickerModule, FormsModule, CommonModule, FloatLabelModule, PopoverModule, InputSkeletonComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormDateTimeComponent), multi: true }], standalone: true, template: "<input-skeleton [Control]=\"controlTemplate\" [For]=\"this\"></input-skeleton>\r\n\r\n<ng-template #controlTemplate>\r\n <p-floatlabel variant=\"on\">\r\n <p-datepicker\r\n size=\"small\"\r\n #innerInput=\"ngModel\"\r\n #innerElement\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n [attr.name]=\"InternalName\"\r\n [attr.id]=\"InternalName\"\r\n [view]=\"view()\" \r\n [dateFormat]=\"dateFormat()\"\r\n [showTime]=\"showTime()\"\r\n [hourFormat]=\"hourFormat()\"\r\n [timeOnly]=\"timeOnly()\"\r\n [selectionMode]=\"selectionMode()\"\r\n [showIcon]=\"true\"\r\n [showButtonBar]=\"showButtonBar()\"\r\n [disabled]=\"disabled\" \r\n [required]=\"required\"\r\n [readonlyInput]=\"readonly\"\r\n inputId=\"buttondisplay\"\r\n optionLabel=\"description\"\r\n optionValue=\"id\"\r\n filterBy=\"description\"\r\n appendTo=\"body\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"changed($event);\" \r\n (click)=\"focused($event);\"\r\n (onBlur)=\"onTouched(); finalized()\"\r\n (onSelect)=\"onTouched(); finalized()\"\r\n />\r\n\r\n <label>{{FloatingLabel ? Placeholder : null}}</label>\r\n </p-floatlabel>\r\n</ng-template>\r\n\r\n<p-popover styleClass='validation-tooltip' #tooltip>{{TooltipText}}</p-popover>", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"] }]
694
+ args: [{ selector: "form-datetime", encapsulation: ViewEncapsulation.None, imports: [DatePickerModule, FormsModule, CommonModule, FloatLabelModule, PopoverModule, InputSkeletonComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormDateTimeComponent), multi: true }], standalone: true, template: "<input-skeleton [Control]=\"controlTemplate\" [For]=\"this\"></input-skeleton>\r\n\r\n<ng-template #controlTemplate>\r\n <p-floatlabel variant=\"on\">\r\n <p-datepicker\r\n size=\"small\"\r\n #innerInput=\"ngModel\"\r\n #innerElement\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n [attr.name]=\"InternalName\"\r\n [attr.id]=\"InternalName\"\r\n [view]=\"view()\" \r\n [dateFormat]=\"dateFormat()\"\r\n [showTime]=\"showTime()\"\r\n [hourFormat]=\"hourFormat()\"\r\n [timeOnly]=\"timeOnly()\"\r\n [selectionMode]=\"selectionMode()\"\r\n [showIcon]=\"true\"\r\n [showButtonBar]=\"showButtonBar()\"\r\n [disabled]=\"disabled\" \r\n [required]=\"required\"\r\n [readonlyInput]=\"readonly\"\r\n [baseZIndex]=\"99999999\"\r\n inputId=\"buttondisplay\"\r\n optionLabel=\"description\"\r\n optionValue=\"id\"\r\n filterBy=\"description\"\r\n appendTo=\"body\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"changed($event);\" \r\n (click)=\"focused($event);\"\r\n (onBlur)=\"onTouched(); finalized()\"\r\n (onSelect)=\"onTouched(); finalized()\"\r\n />\r\n\r\n <label>{{FloatingLabel ? Placeholder : null}}</label>\r\n </p-floatlabel>\r\n</ng-template>\r\n\r\n<p-popover styleClass='validation-tooltip' #tooltip>{{TooltipText}}</p-popover>", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"] }]
686
695
  }] });
687
696
 
688
697
  // Angular
@@ -691,11 +700,11 @@ class EsFormTimeComponent extends EsFormDateComponent {
691
700
  this.mode = "time";
692
701
  }
693
702
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EsFormTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
694
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: EsFormTimeComponent, isStandalone: true, selector: "form-time", providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormTimeComponent), multi: true }], usesInheritance: true, ngImport: i0, template: "<input-skeleton [Control]=\"controlTemplate\" [For]=\"this\"></input-skeleton>\r\n\r\n<ng-template #controlTemplate>\r\n <p-floatlabel variant=\"on\">\r\n <p-datepicker\r\n size=\"small\"\r\n #innerInput=\"ngModel\"\r\n #innerElement\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n [attr.name]=\"InternalName\"\r\n [attr.id]=\"InternalName\"\r\n [view]=\"view()\" \r\n [dateFormat]=\"dateFormat()\"\r\n [showTime]=\"showTime()\"\r\n [hourFormat]=\"hourFormat()\"\r\n [timeOnly]=\"timeOnly()\"\r\n [selectionMode]=\"selectionMode()\"\r\n [showIcon]=\"true\"\r\n [showButtonBar]=\"showButtonBar()\"\r\n [disabled]=\"disabled\" \r\n [required]=\"required\"\r\n [readonlyInput]=\"readonly\"\r\n inputId=\"buttondisplay\"\r\n optionLabel=\"description\"\r\n optionValue=\"id\"\r\n filterBy=\"description\"\r\n appendTo=\"body\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"changed($event);\" \r\n (click)=\"focused($event);\"\r\n (onBlur)=\"onTouched(); finalized()\"\r\n (onSelect)=\"onTouched(); finalized()\"\r\n />\r\n\r\n <label>{{FloatingLabel ? Placeholder : null}}</label>\r\n </p-floatlabel>\r\n</ng-template>\r\n\r\n<p-popover styleClass='validation-tooltip' #tooltip>{{TooltipText}}</p-popover>", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i1$2.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i3$1.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i4.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: InputSkeletonComponent, selector: "input-skeleton", inputs: ["For", "Control"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
703
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: EsFormTimeComponent, isStandalone: true, selector: "form-time", providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormTimeComponent), multi: true }], usesInheritance: true, ngImport: i0, template: "<input-skeleton [Control]=\"controlTemplate\" [For]=\"this\"></input-skeleton>\r\n\r\n<ng-template #controlTemplate>\r\n <p-floatlabel variant=\"on\">\r\n <p-datepicker\r\n size=\"small\"\r\n #innerInput=\"ngModel\"\r\n #innerElement\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n [attr.name]=\"InternalName\"\r\n [attr.id]=\"InternalName\"\r\n [view]=\"view()\" \r\n [dateFormat]=\"dateFormat()\"\r\n [showTime]=\"showTime()\"\r\n [hourFormat]=\"hourFormat()\"\r\n [timeOnly]=\"timeOnly()\"\r\n [selectionMode]=\"selectionMode()\"\r\n [showIcon]=\"true\"\r\n [showButtonBar]=\"showButtonBar()\"\r\n [disabled]=\"disabled\" \r\n [required]=\"required\"\r\n [readonlyInput]=\"readonly\"\r\n [baseZIndex]=\"99999999\"\r\n inputId=\"buttondisplay\"\r\n optionLabel=\"description\"\r\n optionValue=\"id\"\r\n filterBy=\"description\"\r\n appendTo=\"body\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"changed($event);\" \r\n (click)=\"focused($event);\"\r\n (onBlur)=\"onTouched(); finalized()\"\r\n (onSelect)=\"onTouched(); finalized()\"\r\n />\r\n\r\n <label>{{FloatingLabel ? Placeholder : null}}</label>\r\n </p-floatlabel>\r\n</ng-template>\r\n\r\n<p-popover styleClass='validation-tooltip' #tooltip>{{TooltipText}}</p-popover>", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i1$2.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i3$1.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i4.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: InputSkeletonComponent, selector: "input-skeleton", inputs: ["For", "Control"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
695
704
  }
696
705
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EsFormTimeComponent, decorators: [{
697
706
  type: Component,
698
- args: [{ selector: "form-time", encapsulation: ViewEncapsulation.None, imports: [DatePickerModule, FormsModule, CommonModule, FloatLabelModule, PopoverModule, InputSkeletonComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormTimeComponent), multi: true }], standalone: true, template: "<input-skeleton [Control]=\"controlTemplate\" [For]=\"this\"></input-skeleton>\r\n\r\n<ng-template #controlTemplate>\r\n <p-floatlabel variant=\"on\">\r\n <p-datepicker\r\n size=\"small\"\r\n #innerInput=\"ngModel\"\r\n #innerElement\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n [attr.name]=\"InternalName\"\r\n [attr.id]=\"InternalName\"\r\n [view]=\"view()\" \r\n [dateFormat]=\"dateFormat()\"\r\n [showTime]=\"showTime()\"\r\n [hourFormat]=\"hourFormat()\"\r\n [timeOnly]=\"timeOnly()\"\r\n [selectionMode]=\"selectionMode()\"\r\n [showIcon]=\"true\"\r\n [showButtonBar]=\"showButtonBar()\"\r\n [disabled]=\"disabled\" \r\n [required]=\"required\"\r\n [readonlyInput]=\"readonly\"\r\n inputId=\"buttondisplay\"\r\n optionLabel=\"description\"\r\n optionValue=\"id\"\r\n filterBy=\"description\"\r\n appendTo=\"body\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"changed($event);\" \r\n (click)=\"focused($event);\"\r\n (onBlur)=\"onTouched(); finalized()\"\r\n (onSelect)=\"onTouched(); finalized()\"\r\n />\r\n\r\n <label>{{FloatingLabel ? Placeholder : null}}</label>\r\n </p-floatlabel>\r\n</ng-template>\r\n\r\n<p-popover styleClass='validation-tooltip' #tooltip>{{TooltipText}}</p-popover>", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"] }]
707
+ args: [{ selector: "form-time", encapsulation: ViewEncapsulation.None, imports: [DatePickerModule, FormsModule, CommonModule, FloatLabelModule, PopoverModule, InputSkeletonComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormTimeComponent), multi: true }], standalone: true, template: "<input-skeleton [Control]=\"controlTemplate\" [For]=\"this\"></input-skeleton>\r\n\r\n<ng-template #controlTemplate>\r\n <p-floatlabel variant=\"on\">\r\n <p-datepicker\r\n size=\"small\"\r\n #innerInput=\"ngModel\"\r\n #innerElement\r\n [placeholder]=\"FloatingLabel ? '' : Placeholder\"\r\n [attr.name]=\"InternalName\"\r\n [attr.id]=\"InternalName\"\r\n [view]=\"view()\" \r\n [dateFormat]=\"dateFormat()\"\r\n [showTime]=\"showTime()\"\r\n [hourFormat]=\"hourFormat()\"\r\n [timeOnly]=\"timeOnly()\"\r\n [selectionMode]=\"selectionMode()\"\r\n [showIcon]=\"true\"\r\n [showButtonBar]=\"showButtonBar()\"\r\n [disabled]=\"disabled\" \r\n [required]=\"required\"\r\n [readonlyInput]=\"readonly\"\r\n [baseZIndex]=\"99999999\"\r\n inputId=\"buttondisplay\"\r\n optionLabel=\"description\"\r\n optionValue=\"id\"\r\n filterBy=\"description\"\r\n appendTo=\"body\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"changed($event);\" \r\n (click)=\"focused($event);\"\r\n (onBlur)=\"onTouched(); finalized()\"\r\n (onSelect)=\"onTouched(); finalized()\"\r\n />\r\n\r\n <label>{{FloatingLabel ? Placeholder : null}}</label>\r\n </p-floatlabel>\r\n</ng-template>\r\n\r\n<p-popover styleClass='validation-tooltip' #tooltip>{{TooltipText}}</p-popover>", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"] }]
699
708
  }] });
700
709
 
701
710
  // Angular
@@ -1290,7 +1299,7 @@ Per poter collegare l'observable di cambio di stato per i tooltip (che devono es
1290
1299
  ^ PORCATA. abbastanza hackerosa, però estremamente funzionale
1291
1300
 
1292
1301
  2: con **performFormLogic** a false, mi assicuro di tenere l'implementazione standard del ControlValueAccessor mentre faccio gestire tutto il resto al componente interno.
1293
- EsFormAdaptiveComponent deve SOLO fare da passacarte
1302
+ EsFormAdaptiveComponent deve SOLO fare da passacarte (TRANNE PER LE CASISTICHE FLOAT... VEDI SOTTO)
1294
1303
 
1295
1304
  */
1296
1305
  class EsFormAdaptiveComponent extends BaseFormControl {
@@ -1305,6 +1314,17 @@ class EsFormAdaptiveComponent extends BaseFormControl {
1305
1314
  this.config = signal(null);
1306
1315
  this.performFormLogic = false;
1307
1316
  }
1317
+ ngOnInit() {
1318
+ super.ngOnInit();
1319
+ this.handleFloatPatternSeparately();
1320
+ }
1321
+ async getValueIn(value) {
1322
+ return value?.toString()?.replace?.(".", ",");
1323
+ }
1324
+ async getValueOut(value) {
1325
+ this.floatValuePreAdjustmente = value;
1326
+ return value?.replace?.(".", "")?.replace?.(",", ".");
1327
+ }
1308
1328
  ngAfterViewInit() {
1309
1329
  super.ngAfterViewInit();
1310
1330
  let defaultConfig = new BaseFormConfiguration();
@@ -1317,8 +1337,47 @@ class EsFormAdaptiveComponent extends BaseFormControl {
1317
1337
  }
1318
1338
  this.config.set(defaultConfig);
1319
1339
  }
1340
+ registerOnValidatorChange(_) { }
1341
+ handleFloatPatternSeparately() {
1342
+ if ((this.Type === "float" || this.Type === "number") && !this.pattern) {
1343
+ this.pattern = this.FloatPattern();
1344
+ this.SetValidationSubject = this.SetValidationSubject || new Subject();
1345
+ }
1346
+ }
1347
+ validate(control) {
1348
+ var ret = ["number", "float"].includes(this.Type) ? this.customPatternValidator(this.pattern)(control) : null;
1349
+ this.SetValidationSubject?.next?.({ fieldName: this.name, error: ret?.pattern ? "Formato input errato" : "" });
1350
+ return ret;
1351
+ }
1352
+ /** Validatore originale angular, copiaincollato. Cambiata solo la riga dove c'è `this.floatValuePreAdjustmente` */
1353
+ customPatternValidator(pattern) {
1354
+ if (!pattern)
1355
+ return (_) => null;
1356
+ let regex;
1357
+ let regexStr;
1358
+ if (typeof pattern === 'string') {
1359
+ regexStr = '';
1360
+ if (pattern.charAt(0) !== '^')
1361
+ regexStr += '^';
1362
+ regexStr += pattern;
1363
+ if (pattern.charAt(pattern.length - 1) !== '$')
1364
+ regexStr += '$';
1365
+ regex = new RegExp(regexStr);
1366
+ }
1367
+ return (control) => {
1368
+ if (!control.value)
1369
+ return null;
1370
+ // Caricamento avvenuto adesso da modello
1371
+ if (control.value && !this.floatValuePreAdjustmente)
1372
+ this.floatValuePreAdjustmente = control.value.toString().replace(".", ",");
1373
+ return regex.test(this.floatValuePreAdjustmente) ? null : { 'pattern': { 'requiredPattern': regexStr, 'actualValue': this.floatValuePreAdjustmente } };
1374
+ };
1375
+ }
1320
1376
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EsFormAdaptiveComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1321
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: EsFormAdaptiveComponent, isStandalone: true, selector: "form-adaptive", inputs: { Type: "Type", TypeMissingMessage: "TypeMissingMessage", SearchFunction: "SearchFunction", Precision: "Precision" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormAdaptiveComponent), multi: true }], usesInheritance: true, ngImport: i0, template: "<!-- Riga di debug -->\r\n<!-- <div><strong>Valore interno:</strong> {{value | json}}</div> -->\r\n\r\n@if(!Type){\r\n <div class=\"app-margin-top-5\"><em>{{TypeMissingMessage}}</em></div>\r\n}\r\n\r\n\r\n@if(config()){\r\n @switch(Type){\r\n @case (\"currency\") {\r\n <form-currency [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [Precision]=\"Precision\"></form-currency>\r\n }\r\n @case (\"date\") {\r\n <form-date [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-date>\r\n }\r\n @case (\"boolean\") {\r\n <form-checkbox [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-checkbox>\r\n }\r\n @case (\"enum\") {\r\n <form-select [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [Source]=\"BoundSource()\"></form-select>\r\n }\r\n @case (\"autocomplete\") {\r\n <form-autocomplete [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [SearchFunction]=\"SearchFunction\"></form-autocomplete>\r\n }\r\n @case (\"datetime\") {\r\n <form-datetime [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-datetime>\r\n }\r\n @case (\"time\") {\r\n <form-time [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-time>\r\n }\r\n @case (\"file\") {\r\n <form-file [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-file>\r\n }\r\n @case (\"string\") {\r\n <form-input [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [pattern]=\"pattern ?? ''\"></form-input>\r\n }\r\n @case (\"int\") {\r\n <form-input [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [pattern]=\"pattern ?? IntPattern()\"></form-input>\r\n }\r\n @default {\r\n <!-- float e number -->\r\n <form-input [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [pattern]=\"pattern ?? FloatPattern()\"></form-input>\r\n }\r\n }\r\n}\r\n\r\n", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: InputGroupModule }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "component", type: EsFormInputComponent, selector: "form-input", inputs: ["minlength", "maxlength", "pattern", "Password"], outputs: ["onSuffixAction", "onPrefixAction"] }, { kind: "component", type: EsFormDateComponent, selector: "form-date", inputs: ["InOutFormat", "FloatingLabel"] }, { kind: "component", type: EsFormCheckboxComponent, selector: "form-checkbox", inputs: ["SliderMode"] }, { kind: "component", type: EsFormSelectComponent, selector: "form-select" }, { kind: "component", type: EsFormAutocompleteComponent, selector: "form-autocomplete", inputs: ["SearchFunctionContext", "SearchFunction", "multiple", "forceSelection"] }, { kind: "component", type: EsFormDateTimeComponent, selector: "form-datetime" }, { kind: "component", type: EsFormTimeComponent, selector: "form-time" }, { kind: "component", type: EsFormFileComponent, selector: "form-file", inputs: ["Multiple", "AllowDownload", "MaxSize", "FancyMode", "ReadFile"] }, { kind: "component", type: EsFormCurrencyComponent, selector: "form-currency", inputs: ["mode", "Precision"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1377
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: EsFormAdaptiveComponent, isStandalone: true, selector: "form-adaptive", inputs: { Type: "Type", TypeMissingMessage: "TypeMissingMessage", SearchFunction: "SearchFunction", Precision: "Precision" }, providers: [
1378
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormAdaptiveComponent), multi: true },
1379
+ { provide: NG_VALIDATORS, useExisting: forwardRef(() => EsFormAdaptiveComponent), multi: true }
1380
+ ], usesInheritance: true, ngImport: i0, template: "<!-- Riga di debug -->\r\n<!-- <div><strong>Valore interno:</strong> {{value | json}}</div> -->\r\n\r\n@if(!Type){\r\n <div class=\"app-margin-top-5\"><em>{{TypeMissingMessage}}</em></div>\r\n}\r\n\r\n\r\n@if(config()){\r\n @switch(Type){\r\n @case (\"currency\") {\r\n <form-currency [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [Precision]=\"Precision\"></form-currency>\r\n }\r\n @case (\"date\") {\r\n <form-date [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-date>\r\n }\r\n @case (\"boolean\") {\r\n <form-checkbox [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-checkbox>\r\n }\r\n @case (\"enum\") {\r\n <form-select [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [Source]=\"BoundSource()\"></form-select>\r\n }\r\n @case (\"autocomplete\") {\r\n <form-autocomplete [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [SearchFunction]=\"SearchFunction\"></form-autocomplete>\r\n }\r\n @case (\"datetime\") {\r\n <form-datetime [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-datetime>\r\n }\r\n @case (\"time\") {\r\n <form-time [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-time>\r\n }\r\n @case (\"file\") {\r\n <form-file [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-file>\r\n }\r\n @case (\"string\") {\r\n <form-input [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [pattern]=\"pattern ?? ''\"></form-input>\r\n }\r\n @case (\"int\") {\r\n <form-input [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [pattern]=\"pattern ?? IntPattern()\"></form-input>\r\n }\r\n @default {\r\n <!-- float e number -->\r\n <form-input [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-input>\r\n }\r\n }\r\n}\r\n\r\n", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: InputGroupModule }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "component", type: EsFormInputComponent, selector: "form-input", inputs: ["minlength", "maxlength", "pattern", "Password"], outputs: ["onSuffixAction", "onPrefixAction"] }, { kind: "component", type: EsFormDateComponent, selector: "form-date", inputs: ["InOutFormat", "FloatingLabel"] }, { kind: "component", type: EsFormCheckboxComponent, selector: "form-checkbox", inputs: ["SliderMode"] }, { kind: "component", type: EsFormSelectComponent, selector: "form-select" }, { kind: "component", type: EsFormAutocompleteComponent, selector: "form-autocomplete", inputs: ["SearchFunctionContext", "SearchFunction", "multiple", "forceSelection"] }, { kind: "component", type: EsFormDateTimeComponent, selector: "form-datetime" }, { kind: "component", type: EsFormTimeComponent, selector: "form-time" }, { kind: "component", type: EsFormFileComponent, selector: "form-file", inputs: ["Multiple", "AllowDownload", "MaxSize", "FancyMode", "ReadFile"] }, { kind: "component", type: EsFormCurrencyComponent, selector: "form-currency", inputs: ["mode", "Precision"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1322
1381
  }
1323
1382
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EsFormAdaptiveComponent, decorators: [{
1324
1383
  type: Component,
@@ -1333,7 +1392,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
1333
1392
  EsFormTimeComponent,
1334
1393
  EsFormFileComponent,
1335
1394
  EsFormCurrencyComponent
1336
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormAdaptiveComponent), multi: true }], standalone: true, template: "<!-- Riga di debug -->\r\n<!-- <div><strong>Valore interno:</strong> {{value | json}}</div> -->\r\n\r\n@if(!Type){\r\n <div class=\"app-margin-top-5\"><em>{{TypeMissingMessage}}</em></div>\r\n}\r\n\r\n\r\n@if(config()){\r\n @switch(Type){\r\n @case (\"currency\") {\r\n <form-currency [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [Precision]=\"Precision\"></form-currency>\r\n }\r\n @case (\"date\") {\r\n <form-date [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-date>\r\n }\r\n @case (\"boolean\") {\r\n <form-checkbox [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-checkbox>\r\n }\r\n @case (\"enum\") {\r\n <form-select [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [Source]=\"BoundSource()\"></form-select>\r\n }\r\n @case (\"autocomplete\") {\r\n <form-autocomplete [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [SearchFunction]=\"SearchFunction\"></form-autocomplete>\r\n }\r\n @case (\"datetime\") {\r\n <form-datetime [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-datetime>\r\n }\r\n @case (\"time\") {\r\n <form-time [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-time>\r\n }\r\n @case (\"file\") {\r\n <form-file [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-file>\r\n }\r\n @case (\"string\") {\r\n <form-input [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [pattern]=\"pattern ?? ''\"></form-input>\r\n }\r\n @case (\"int\") {\r\n <form-input [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [pattern]=\"pattern ?? IntPattern()\"></form-input>\r\n }\r\n @default {\r\n <!-- float e number -->\r\n <form-input [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [pattern]=\"pattern ?? FloatPattern()\"></form-input>\r\n }\r\n }\r\n}\r\n\r\n", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"] }]
1395
+ ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1396
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EsFormAdaptiveComponent), multi: true },
1397
+ { provide: NG_VALIDATORS, useExisting: forwardRef(() => EsFormAdaptiveComponent), multi: true }
1398
+ ], standalone: true, template: "<!-- Riga di debug -->\r\n<!-- <div><strong>Valore interno:</strong> {{value | json}}</div> -->\r\n\r\n@if(!Type){\r\n <div class=\"app-margin-top-5\"><em>{{TypeMissingMessage}}</em></div>\r\n}\r\n\r\n\r\n@if(config()){\r\n @switch(Type){\r\n @case (\"currency\") {\r\n <form-currency [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [Precision]=\"Precision\"></form-currency>\r\n }\r\n @case (\"date\") {\r\n <form-date [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-date>\r\n }\r\n @case (\"boolean\") {\r\n <form-checkbox [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-checkbox>\r\n }\r\n @case (\"enum\") {\r\n <form-select [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [Source]=\"BoundSource()\"></form-select>\r\n }\r\n @case (\"autocomplete\") {\r\n <form-autocomplete [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [SearchFunction]=\"SearchFunction\"></form-autocomplete>\r\n }\r\n @case (\"datetime\") {\r\n <form-datetime [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-datetime>\r\n }\r\n @case (\"time\") {\r\n <form-time [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-time>\r\n }\r\n @case (\"file\") {\r\n <form-file [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-file>\r\n }\r\n @case (\"string\") {\r\n <form-input [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [pattern]=\"pattern ?? ''\"></form-input>\r\n }\r\n @case (\"int\") {\r\n <form-input [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\" [pattern]=\"pattern ?? IntPattern()\"></form-input>\r\n }\r\n @default {\r\n <!-- float e number -->\r\n <form-input [Form]=\"Form\" [FormLayout]=\"FormLayout\" [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (inputChange)=\"inputChange.emit($event)\" (inputFinalized)=\"inputFinalized.emit($event)\" (inputFocus)=\"inputFocus.emit($event)\" [name]=\"name\" [Configuration]=\"config()\"></form-input>\r\n }\r\n }\r\n}\r\n\r\n", styles: [".validation-tooltip.p-popover:before,.validation-tooltip.p-popover:after{border-bottom-color:var(--p-form-field-invalid-placeholder-color)}.validation-tooltip .p-popover-content{padding:5px;color:#fff;background:var(--p-form-field-invalid-placeholder-color);border-radius:5px}p-datepicker{display:flex}.p-datepicker{flex-grow:1}.p-datepicker-panel{min-width:400px!important}p-autocomplete input.p-autocomplete-input{width:100%}\n"] }]
1337
1399
  }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { Type: [{
1338
1400
  type: Input
1339
1401
  }], TypeMissingMessage: [{