@esfaenza/forms-and-validations 13.3.11 → 14.2.0

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.
Files changed (74) hide show
  1. package/esm2020/lib/forms/base-form-control.mjs +44 -21
  2. package/esm2020/lib/forms/form-adaptive/form-adaptive.component.loc.mjs +3 -3
  3. package/esm2020/lib/forms/form-adaptive/form-adaptive.component.mjs +51 -16
  4. package/esm2020/lib/forms/form-autocomplete/form-autocomplete.component.loc.mjs +3 -3
  5. package/esm2020/lib/forms/form-autocomplete/form-autocomplete.component.mjs +31 -17
  6. package/esm2020/lib/forms/form-checkbox/form-checkbox.component.mjs +23 -9
  7. package/esm2020/lib/forms/form-date/form-date.component.mjs +9 -9
  8. package/esm2020/lib/forms/form-datetime/form-datetime.component.mjs +9 -9
  9. package/esm2020/lib/forms/form-empty/form-empty.component.mjs +5 -5
  10. package/esm2020/lib/forms/form-error/form-error.component.mjs +3 -3
  11. package/esm2020/lib/forms/form-file/form-file.component.loc.mjs +3 -3
  12. package/esm2020/lib/forms/form-file/form-file.component.mjs +18 -5
  13. package/esm2020/lib/forms/form-info/form-info.component.mjs +3 -3
  14. package/esm2020/lib/forms/form-input/form-input.component.mjs +8 -8
  15. package/esm2020/lib/forms/form-multiselect/form-multiselect.component.loc.mjs +3 -3
  16. package/esm2020/lib/forms/form-multiselect/form-multiselect.component.mjs +7 -7
  17. package/esm2020/lib/forms/form-select/form-select.component.loc.mjs +3 -3
  18. package/esm2020/lib/forms/form-select/form-select.component.mjs +16 -11
  19. package/esm2020/lib/forms/form-template/form-template.component.mjs +9 -5
  20. package/esm2020/lib/forms/form-textarea/form-textarea.component.mjs +7 -7
  21. package/esm2020/lib/forms/form-time/form-time.component.mjs +5 -5
  22. package/esm2020/lib/forms-and-validations.module.mjs +7 -6
  23. package/esm2020/lib/models/ChangeEvent.mjs +7 -0
  24. package/esm2020/lib/models/FormsAndValidationsModuleConfig.mjs +1 -1
  25. package/esm2020/lib/models/dayjs-adapter/dayjs-date-adapter.mjs +3 -3
  26. package/esm2020/lib/tokens.mjs +3 -1
  27. package/esm2020/lib/validations/base-validation.loc.mjs +3 -3
  28. package/esm2020/lib/validations/base-validation.mjs +12 -4
  29. package/esm2020/lib/validations/customValidators/CustomRequiredDirective.mjs +3 -3
  30. package/esm2020/lib/validations/validation-autocomplete/validation-autocomplete.component.mjs +16 -15
  31. package/esm2020/lib/validations/validation-autocomplete-multi/validation-autocomplete-multi.component.mjs +32 -20
  32. package/esm2020/lib/validations/validation-currency/validation-currency.component.mjs +12 -12
  33. package/esm2020/lib/validations/validation-date/validation-date.component.mjs +14 -13
  34. package/esm2020/lib/validations/validation-datetime/validation-datetime.component.mjs +17 -16
  35. package/esm2020/lib/validations/validation-input/validation-input.component.mjs +21 -13
  36. package/esm2020/lib/validations/validation-select/validation-select.component.mjs +15 -14
  37. package/esm2020/lib/validations/validation-text-area/validation-text-area.component.mjs +10 -10
  38. package/esm2020/public-api.mjs +4 -1
  39. package/fesm2015/esfaenza-forms-and-validations.mjs +379 -236
  40. package/fesm2015/esfaenza-forms-and-validations.mjs.map +1 -1
  41. package/fesm2020/esfaenza-forms-and-validations.mjs +379 -236
  42. package/fesm2020/esfaenza-forms-and-validations.mjs.map +1 -1
  43. package/{esfaenza-forms-and-validations.d.ts → index.d.ts} +0 -0
  44. package/lib/forms/base-form-control.d.ts +24 -10
  45. package/lib/forms/form-adaptive/form-adaptive.component.d.ts +8 -2
  46. package/lib/forms/form-autocomplete/form-autocomplete.component.d.ts +5 -2
  47. package/lib/forms/form-checkbox/form-checkbox.component.d.ts +7 -3
  48. package/lib/forms/form-date/form-date.component.d.ts +3 -2
  49. package/lib/forms/form-datetime/form-datetime.component.d.ts +3 -2
  50. package/lib/forms/form-empty/form-empty.component.d.ts +1 -1
  51. package/lib/forms/form-error/form-error.component.d.ts +1 -1
  52. package/lib/forms/form-file/form-file.component.d.ts +5 -3
  53. package/lib/forms/form-info/form-info.component.d.ts +1 -1
  54. package/lib/forms/form-input/form-input.component.d.ts +1 -1
  55. package/lib/forms/form-multiselect/form-multiselect.component.d.ts +1 -1
  56. package/lib/forms/form-select/form-select.component.d.ts +2 -2
  57. package/lib/forms/form-template/form-template.component.d.ts +3 -1
  58. package/lib/forms/form-textarea/form-textarea.component.d.ts +1 -1
  59. package/lib/forms/form-time/form-time.component.d.ts +1 -1
  60. package/lib/models/ChangeEvent.d.ts +5 -0
  61. package/lib/models/FormsAndValidationsModuleConfig.d.ts +2 -0
  62. package/lib/tokens.d.ts +2 -0
  63. package/lib/validations/base-validation.d.ts +9 -2
  64. package/lib/validations/customValidators/CustomRequiredDirective.d.ts +1 -1
  65. package/lib/validations/validation-autocomplete/validation-autocomplete.component.d.ts +2 -2
  66. package/lib/validations/validation-autocomplete-multi/validation-autocomplete-multi.component.d.ts +5 -3
  67. package/lib/validations/validation-currency/validation-currency.component.d.ts +1 -1
  68. package/lib/validations/validation-date/validation-date.component.d.ts +2 -2
  69. package/lib/validations/validation-datetime/validation-datetime.component.d.ts +2 -2
  70. package/lib/validations/validation-input/validation-input.component.d.ts +7 -2
  71. package/lib/validations/validation-select/validation-select.component.d.ts +4 -4
  72. package/lib/validations/validation-text-area/validation-text-area.component.d.ts +1 -1
  73. package/package.json +3 -3
  74. package/public-api.d.ts +3 -0
@@ -3,6 +3,7 @@ import { EventEmitter, ChangeDetectorRef } from "@angular/core";
3
3
  import { AccessControlService, ComponentContext } from "@esfaenza/access-control";
4
4
  import { Subject } from "rxjs";
5
5
  import { TemplateRef } from "@angular/core";
6
+ import { ChangeEvent } from "../models/ChangeEvent";
6
7
  import * as i0 from "@angular/core";
7
8
  /** Componente base da cui tutti i componenti Form implementano */
8
9
  export declare abstract class BaseFormControl implements ControlValueAccessor {
@@ -21,6 +22,11 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
21
22
  * poi mettendo firstBind a false di lì in poi funziono come devo. Vista la casistica evito essenzialmente metà detectChanges
22
23
  */
23
24
  private firstBind;
25
+ /**
26
+ * Indica di utilizzare i validatori che l'utente piazza sul componente.
27
+ * Da non usare nel caso di form-adaptive dato che i validatori vengono valutati in base al tipo ecc
28
+ */
29
+ protected UseUserValidators: boolean;
24
30
  /** Indica se il campo è obbligatorio i opzionale */
25
31
  Required: boolean;
26
32
  /** Modello rappresentato da questo campo */
@@ -30,13 +36,7 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
30
36
  /** Nome generato per il controllo interno. Di default è il nome del controllo esterno con l'aggiunta di "_internal". Serve per evitare cross-bind */
31
37
  GeneratedName: string;
32
38
  /** Indica se il Form che contiene questo campo è già stato registrato */
33
- protected formHasBennBound: boolean;
34
- /**
35
- * Indica se questo campo è staccato dal Form, ad esempio nel caso sia in un ng-template proiettato nel form.
36
- *
37
- * In quel caso la variabile **Form** del componente dev'essere valorizzata
38
- */
39
- protected detatchedFromform: boolean;
39
+ protected formHasBeenBound: boolean;
40
40
  /** @ignore */
41
41
  protected propagateChange: (_: any) => void;
42
42
  /** @ignore */
@@ -59,6 +59,11 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
59
59
  EmitPendingChanges: boolean;
60
60
  /** Attiva o disattiva la validazione per questo componente */
61
61
  Validation: boolean;
62
+ /**
63
+ * Permette di scrivere o meno nel campo di Input. Si differenzia dal Readonly in quanto fisicamente l'Input è scrivibile e vengono mantenuti i temi della validazione
64
+ * ma interagire direttamente con la casella di Input per l'utente non è possibile
65
+ */
66
+ Frozen: boolean;
62
67
  /** Placeholder per quando l'input è vuoto */
63
68
  Placeholder: string;
64
69
  /** Classe extra per il form-group in cui viene wrappato l'input */
@@ -81,6 +86,12 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
81
86
  Source: any[];
82
87
  /** Nome della proprietà che contiene l'Id degli oggetti bindati nella **Source** */
83
88
  IdField: string;
89
+ /**
90
+ * Indica se il **Placeholder** dev'essere usato come una floating label di material o solo come un placeholder standard
91
+ *
92
+ * Ignorata lato autocomplete, autocomplete-multi e select in quanto hanno gestioni particolari di placeholder ecc...
93
+ */
94
+ FloatingLabel: boolean;
84
95
  /** Indica che la parte input del controllo dev'essere una label readonly e la parte label di titolo dev'essere in bold. Per utilizzare un solo componente sia per la modifica che per il dettaglio */
85
96
  DisplayMode: boolean;
86
97
  /** Indica la condizione per cui un elemento in Modalità Display può essere visibile in base a ulteriori controlli */
@@ -89,6 +100,8 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
89
100
  DisplayModeTemplate: TemplateRef<any>;
90
101
  /** Layout del Form quando è in modalità Display. Di default mantiene la formattazione a form */
91
102
  DisplayLayout: 'form' | 'inline' | 'hidden';
103
+ /** Separatore da mettere in automatico fra un elemento Form e l'altro quando sono in **DisplayMode** con **DisplayLayout** inline */
104
+ InlineSeparator: string;
92
105
  /**
93
106
  * Espressione simil-Angular per cambiare il testo dei componenti che scelgono il proprio modello da una **Source**
94
107
  *
@@ -136,7 +149,7 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
136
149
  */
137
150
  set validationControl_static(comp: NgModel);
138
151
  /** Evento chiamato alla modifica del valore collegato a questo campo */
139
- inputChange: EventEmitter<string>;
152
+ inputChange: EventEmitter<ChangeEvent>;
140
153
  /** Evento chiamato al focus del campo di testo/combo/quelcheè, riemitta l'evento originale Javascript */
141
154
  inputFocus: EventEmitter<any>;
142
155
  /** Evento chiamato al finalize del campo di testo/combo/quelcheè */
@@ -197,6 +210,7 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
197
210
  * @param {NgModel} comp Elemento HTML marcato con "#validationControl"
198
211
  */
199
212
  registerValComp(comp: NgModel): void;
213
+ registerForm(ngForm: NgForm): void;
200
214
  /**
201
215
  * Aggiorna il valore e la validità dell'input sottostante. Non viene chiamato per input nativi come le checkbox
202
216
  *
@@ -209,7 +223,7 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
209
223
  *
210
224
  * Non posso tenerlo protected altrimenti posso eseguirlo solo dal .ts e non dall' .html
211
225
  */
212
- changed(forcedValue?: any, markForCheck?: boolean, modelEvaluationHandled?: boolean): void;
226
+ changed(forcedValue?: any, markForCheck?: boolean, modelEvaluationHandled?: boolean, internal?: boolean): void;
213
227
  /**
214
228
  * @ignore
215
229
  * Classico "spara fuori" sul focus. Mantengo lo stesso nome dell'evento dei <val-*> (inputChange) per retrocompatibilità.
@@ -233,5 +247,5 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
233
247
  /** @ignore */
234
248
  abstract onNotNullValueSet(): void;
235
249
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseFormControl, never>;
236
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaseFormControl, never, never, { "FocusSubject": "FocusSubject"; "FieldAppearence": "FieldAppearence"; "FormLayout": "FormLayout"; "EmitPendingChanges": "EmitPendingChanges"; "Validation": "Validation"; "Placeholder": "Placeholder"; "FormGroupClass": "FormGroupClass"; "FailedValidationMessage": "FailedValidationMessage"; "ForcedError": "ForcedError"; "Label": "Label"; "LabelColWidth": "LabelColWidth"; "InputColWidth": "InputColWidth"; "Last": "Last"; "Form": "Form"; "Source": "Source"; "IdField": "IdField"; "DisplayMode": "DisplayMode"; "DisplayCondition": "DisplayCondition"; "DisplayModeTemplate": "DisplayModeTemplate"; "DisplayLayout": "DisplayLayout"; "Display": "Display"; "Readonly": "Readonly"; "LabelInputRatio": "LabelInputRatio"; }, { "inputChange": "inputChange"; "inputFocus": "inputFocus"; "inputFinalized": "inputFinalized"; }, never>;
250
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseFormControl, never, never, { "FocusSubject": "FocusSubject"; "FieldAppearence": "FieldAppearence"; "FormLayout": "FormLayout"; "EmitPendingChanges": "EmitPendingChanges"; "Validation": "Validation"; "Frozen": "Frozen"; "Placeholder": "Placeholder"; "FormGroupClass": "FormGroupClass"; "FailedValidationMessage": "FailedValidationMessage"; "ForcedError": "ForcedError"; "Label": "Label"; "LabelColWidth": "LabelColWidth"; "InputColWidth": "InputColWidth"; "Last": "Last"; "Form": "Form"; "Source": "Source"; "IdField": "IdField"; "FloatingLabel": "FloatingLabel"; "DisplayMode": "DisplayMode"; "DisplayCondition": "DisplayCondition"; "DisplayModeTemplate": "DisplayModeTemplate"; "DisplayLayout": "DisplayLayout"; "InlineSeparator": "InlineSeparator"; "Display": "Display"; "Readonly": "Readonly"; "LabelInputRatio": "LabelInputRatio"; }, { "inputChange": "inputChange"; "inputFocus": "inputFocus"; "inputFinalized": "inputFinalized"; }, never, never, false>;
237
251
  }
@@ -7,6 +7,7 @@ import { NgxMatDateAdapter } from "@angular-material-components/datetime-picker"
7
7
  import { BaseFormControl } from "../base-form-control";
8
8
  import { AppFile } from "../../models/AppFile";
9
9
  import { Observable } from "rxjs";
10
+ import { ChangeEvent } from "../../models/ChangeEvent";
10
11
  import * as i0 from "@angular/core";
11
12
  /** Componente in grado di assumere la forma di un qualsiasi altro componente form in base al tipo specificato. Utile per la creazione di form dinamici */
12
13
  export declare class FormAdaptiveComponent extends BaseFormControl implements ControlValueAccessor {
@@ -20,6 +21,8 @@ export declare class FormAdaptiveComponent extends BaseFormControl implements Co
20
21
  TypeMissingMessage: string;
21
22
  /** Pattern di validazione */
22
23
  Pattern: string;
24
+ /** Indica di aggiustare in uscita i number in modo che siano parsabili dal javascript */
25
+ AdjustNumber: boolean;
23
26
  /** Riferimento all'elemento input di tipo file qualora il **Type** di questo componente fosse **file** */
24
27
  inputEl: ElementRef;
25
28
  /** Permette di scaricare l'eventuale file presente qualora il **Type** di questo componente fosse **file** */
@@ -55,6 +58,9 @@ export declare class FormAdaptiveComponent extends BaseFormControl implements Co
55
58
  useJsDates: boolean;
56
59
  /** @ignore Costruttore */
57
60
  constructor(cdr: ChangeDetectorRef, utiExts: UtilityService, datesExts: DateService, dateAdapter: NgxMatDateAdapter<any>, lc: LocalizationService, ngControl: NgControl, _validators: Array<any>, ac: AccessControlService, AppContext: ComponentContext, ACO_CUSTOMKEY: string, FAV_DEBUG_MODE: boolean);
61
+ IntPattern: string;
62
+ FloatPattern: string;
63
+ ngOnInit(): void;
58
64
  /** @ignore */
59
65
  ngOnChanges(changes: SimpleChanges): Promise<void>;
60
66
  /** @ignore */
@@ -74,7 +80,7 @@ export declare class FormAdaptiveComponent extends BaseFormControl implements Co
74
80
  /** @ignore */
75
81
  private removeFilteredSourceOnDescriptionSelection;
76
82
  /** Metodo richiamato quando viene modificato il modello del campo di input */
77
- changed(): void;
83
+ changed(event?: ChangeEvent): void;
78
84
  /** @ignore */
79
85
  finalized(): void;
80
86
  /** Metodo richiamato quando viene selezionato il campo col mouse */
@@ -96,5 +102,5 @@ export declare class FormAdaptiveComponent extends BaseFormControl implements Co
96
102
  /** @ignore */
97
103
  private throttla;
98
104
  static ɵfac: i0.ɵɵFactoryDeclaration<FormAdaptiveComponent, [null, null, null, null, null, { optional: true; self: true; }, { optional: true; }, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
99
- static ɵcmp: i0.ɵɵComponentDeclaration<FormAdaptiveComponent, "form-adaptive", never, { "Type": "Type"; "TypeMissingMessage": "TypeMissingMessage"; "Pattern": "Pattern"; "AllowDownload": "AllowDownload"; "Precision": "Precision"; "Alignment": "Alignment"; "SearchFunction": "SearchFunction"; "MinChars": "MinChars"; "CaseSensitive": "CaseSensitive"; }, {}, never, never>;
105
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormAdaptiveComponent, "form-adaptive", never, { "Type": "Type"; "TypeMissingMessage": "TypeMissingMessage"; "Pattern": "Pattern"; "AdjustNumber": "AdjustNumber"; "AllowDownload": "AllowDownload"; "Precision": "Precision"; "Alignment": "Alignment"; "SearchFunction": "SearchFunction"; "MinChars": "MinChars"; "CaseSensitive": "CaseSensitive"; }, {}, never, never, false>;
100
106
  }
@@ -4,6 +4,7 @@ import { BaseFormControl } from "../base-form-control";
4
4
  import { AccessControlService, ComponentContext } from '@esfaenza/access-control';
5
5
  import { LocalizationService } from "@esfaenza/localizations";
6
6
  import { Observable } from "rxjs";
7
+ import { ChangeEvent } from "../../models/ChangeEvent";
7
8
  import * as i0 from "@angular/core";
8
9
  /** Componente di input che si auto-completa in base al valore attuale */
9
10
  export declare class FormAutocompleteComponent extends BaseFormControl implements ControlValueAccessor {
@@ -17,6 +18,8 @@ export declare class FormAutocompleteComponent extends BaseFormControl implement
17
18
  }[]>;
18
19
  /** Numero minimo di caratteri con cui cercare */
19
20
  MinChars: number;
21
+ /** Definisce che ad ogni selezione deve chiudere la tendina */
22
+ HideChoicesOnSelection: boolean;
20
23
  /** Override del placeholder per select requried */
21
24
  RequiredPlaceholder: string;
22
25
  /** Indica se i controlli devono essere effettuati tenendo conto del Case o meno. Vale solo qualora la **Source** fosse fornita */
@@ -55,7 +58,7 @@ export declare class FormAutocompleteComponent extends BaseFormControl implement
55
58
  *
56
59
  * @param {string} event Input utente
57
60
  */
58
- filterSource(event: string): void;
61
+ filterSource($event: ChangeEvent): void;
59
62
  /** @ignore */
60
63
  private removeFilteredSourceOnDescriptionSelection;
61
64
  /** @ignore */
@@ -69,5 +72,5 @@ export declare class FormAutocompleteComponent extends BaseFormControl implement
69
72
  /** @ignore */
70
73
  private throttla;
71
74
  static ɵfac: i0.ɵɵFactoryDeclaration<FormAutocompleteComponent, [null, null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
72
- static ɵcmp: i0.ɵɵComponentDeclaration<FormAutocompleteComponent, "form-autocomplete", never, { "SelectLabel": "SelectLabel"; "SearchFunction": "SearchFunction"; "MinChars": "MinChars"; "RequiredPlaceholder": "RequiredPlaceholder"; "CaseSensitive": "CaseSensitive"; "Multi": "Multi"; "MultiElementsThreshold": "MultiElementsThreshold"; }, {}, never, never>;
75
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormAutocompleteComponent, "form-autocomplete", never, { "SelectLabel": "SelectLabel"; "SearchFunction": "SearchFunction"; "MinChars": "MinChars"; "HideChoicesOnSelection": "HideChoicesOnSelection"; "RequiredPlaceholder": "RequiredPlaceholder"; "CaseSensitive": "CaseSensitive"; "Multi": "Multi"; "MultiElementsThreshold": "MultiElementsThreshold"; }, {}, never, never, false>;
73
76
  }
@@ -7,13 +7,17 @@ import * as i0 from "@angular/core";
7
7
  /** Componente rappresentante una checkbox */
8
8
  export declare class FormCheckboxComponent extends BaseFormControl implements ControlValueAccessor {
9
9
  private lc;
10
+ private FAV_SLIDER_MODE;
11
+ /** Mostra l'input checkbox con lo stile di uno slider */
12
+ SliderMode: boolean;
10
13
  /** @ignore Costruttore */
11
- constructor(lc: LocalizationService, cdr: ChangeDetectorRef, ngControl: NgControl, _validators: Array<any>, ac: AccessControlService, AppContext: ComponentContext, ACO_CUSTOMKEY: string);
14
+ constructor(lc: LocalizationService, cdr: ChangeDetectorRef, ngControl: NgControl, _validators: Array<any>, ac: AccessControlService, AppContext: ComponentContext, ACO_CUSTOMKEY: string, FAV_SLIDER_MODE: boolean);
15
+ ngOnInit(): void;
12
16
  /** @ignore */
13
17
  writeValue(obj: any): void;
14
18
  changed(): void;
15
19
  /** @ignore */
16
20
  onNotNullValueSet(): void;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<FormCheckboxComponent, [null, null, { optional: true; self: true; }, { optional: true; host: true; }, null, { optional: true; }, { optional: true; }]>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<FormCheckboxComponent, "form-checkbox", never, {}, {}, never, never>;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormCheckboxComponent, [null, null, { optional: true; self: true; }, { optional: true; host: true; }, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormCheckboxComponent, "form-checkbox", never, { "SliderMode": "SliderMode"; }, {}, never, never, false>;
19
23
  }
@@ -3,6 +3,7 @@ import { AccessControlService, ComponentContext } from '@esfaenza/access-control
3
3
  import { DateService } from "@esfaenza/extensions";
4
4
  import { BaseFormControl } from "../base-form-control";
5
5
  import { ChangeDetectorRef } from "@angular/core";
6
+ import { ChangeEvent } from "../../models/ChangeEvent";
6
7
  import * as i0 from "@angular/core";
7
8
  /** Componente che dà all'utente la possibilità di selezionare una data */
8
9
  export declare class FormDateComponent extends BaseFormControl implements ControlValueAccessor {
@@ -13,9 +14,9 @@ export declare class FormDateComponent extends BaseFormControl implements Contro
13
14
  constructor(datesExts: DateService, cdr: ChangeDetectorRef, ngControl: NgControl, _validators: Array<any>, ac: AccessControlService, AppContext: ComponentContext, ACO_CUSTOMKEY: string, FAV_DEBUG_MODE: boolean);
14
15
  /** @ignore */
15
16
  writeValue(obj: any): void;
16
- changed(): void;
17
+ changed(event: ChangeEvent): void;
17
18
  /** @ignore */
18
19
  onNotNullValueSet(): void;
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<FormDateComponent, [null, null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<FormDateComponent, "form-date", never, { "JsDates": "JsDates"; }, {}, never, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormDateComponent, "form-date", never, { "JsDates": "JsDates"; }, {}, never, never, false>;
21
22
  }
@@ -3,6 +3,7 @@ import { AccessControlService, ComponentContext } from '@esfaenza/access-control
3
3
  import { DateService } from "@esfaenza/extensions";
4
4
  import { BaseFormControl } from "../base-form-control";
5
5
  import { ChangeDetectorRef } from "@angular/core";
6
+ import { ChangeEvent } from "../../models/ChangeEvent";
6
7
  import * as i0 from "@angular/core";
7
8
  /**
8
9
  * Componente che dà all'utente la possibilità di selezionare una data insieme ad un orario
@@ -15,9 +16,9 @@ export declare class FormDateTimeComponent extends BaseFormControl implements Co
15
16
  constructor(datesExts: DateService, cdr: ChangeDetectorRef, ngControl: NgControl, _validators: Array<any>, ac: AccessControlService, AppContext: ComponentContext, ACO_CUSTOMKEY: string, FAV_DEBUG_MODE: boolean);
16
17
  /** @ignore */
17
18
  writeValue(obj: any): void;
18
- changed(): void;
19
+ changed(event: ChangeEvent): void;
19
20
  /** @ignore */
20
21
  onNotNullValueSet(): void;
21
22
  static ɵfac: i0.ɵɵFactoryDeclaration<FormDateTimeComponent, [null, null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<FormDateTimeComponent, "form-datetime", never, { "JsDates": "JsDates"; }, {}, never, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormDateTimeComponent, "form-datetime", never, { "JsDates": "JsDates"; }, {}, never, never, false>;
23
24
  }
@@ -11,5 +11,5 @@ export declare class FormEmptyComponent {
11
11
  /** Valore placeholder da mostrare */
12
12
  PlaceholderModel: string;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<FormEmptyComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<FormEmptyComponent, "form-empty", never, { "Last": "Last"; "FormGroupClass": "FormGroupClass"; }, {}, never, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormEmptyComponent, "form-empty", never, { "Last": "Last"; "FormGroupClass": "FormGroupClass"; }, {}, never, never, false>;
15
15
  }
@@ -15,5 +15,5 @@ export declare class FormErrorComponent {
15
15
  /** Permette di settare in una volta solo gli input LabelColWidth e InputColWidth, basta scriverlo con la sintassi "X Y" */
16
16
  set LabelInputRatio(input: string);
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<FormErrorComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<FormErrorComponent, "form-error", never, { "LabelColWidth": "LabelColWidth"; "InputColWidth": "InputColWidth"; "Last": "Last"; "FormGroupClass": "FormGroupClass"; "LabelInputRatio": "LabelInputRatio"; }, {}, never, ["*"]>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormErrorComponent, "form-error", never, { "LabelColWidth": "LabelColWidth"; "InputColWidth": "InputColWidth"; "Last": "Last"; "FormGroupClass": "FormGroupClass"; "LabelInputRatio": "LabelInputRatio"; }, {}, never, ["*"], false>;
19
19
  }
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectorRef, ElementRef } from "@angular/core";
2
- import { ControlValueAccessor, NgControl } from "@angular/forms";
2
+ import { ControlValueAccessor, NgControl, Validator, AbstractControl, ValidationErrors } from "@angular/forms";
3
3
  import { AccessControlService, ComponentContext } from '@esfaenza/access-control';
4
4
  import { LocalizationService } from "@esfaenza/localizations";
5
5
  import { UtilityService } from "@esfaenza/extensions";
@@ -7,7 +7,7 @@ import { BaseFormControl } from "../base-form-control";
7
7
  import { AppFile } from "../../models/AppFile";
8
8
  import * as i0 from "@angular/core";
9
9
  /** Componente che permette all'utente di caricare/scaricare un file all'interno di un campo Input */
10
- export declare class FormFileComponent extends BaseFormControl implements ControlValueAccessor {
10
+ export declare class FormFileComponent extends BaseFormControl implements ControlValueAccessor, Validator {
11
11
  private utiExts;
12
12
  lc: LocalizationService;
13
13
  /** Permette di caricare file multipli */
@@ -18,6 +18,8 @@ export declare class FormFileComponent extends BaseFormControl implements Contro
18
18
  inputEl: ElementRef;
19
19
  /** @ignore Costruttore */
20
20
  constructor(cdr: ChangeDetectorRef, utiExts: UtilityService, ngControl: NgControl, _validators: Array<any>, ac: AccessControlService, AppContext: ComponentContext, ACO_CUSTOMKEY: string, lc: LocalizationService, FAV_DEBUG_MODE: boolean);
21
+ ngOnInit(): void;
22
+ validate(control: AbstractControl): ValidationErrors;
21
23
  /** @ignore */
22
24
  writeValue(obj: AppFile): void;
23
25
  /**
@@ -31,5 +33,5 @@ export declare class FormFileComponent extends BaseFormControl implements Contro
31
33
  /** @ignore */
32
34
  onNotNullValueSet(): void;
33
35
  static ɵfac: i0.ɵɵFactoryDeclaration<FormFileComponent, [null, null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, null, { optional: true; }]>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<FormFileComponent, "form-file", never, { "Multiple": "Multiple"; "AllowDownload": "AllowDownload"; }, {}, never, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormFileComponent, "form-file", never, { "Multiple": "Multiple"; "AllowDownload": "AllowDownload"; }, {}, never, never, false>;
35
37
  }
@@ -15,5 +15,5 @@ export declare class FormInfoComponent {
15
15
  /** Permette di settare in una volta solo gli input LabelColWidth e InputColWidth, basta scriverlo con la sintassi "X Y" */
16
16
  set LabelInputRatio(input: string);
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<FormInfoComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<FormInfoComponent, "form-info", never, { "LabelColWidth": "LabelColWidth"; "InputColWidth": "InputColWidth"; "Last": "Last"; "FormGroupClass": "FormGroupClass"; "LabelInputRatio": "LabelInputRatio"; }, {}, never, ["*"]>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormInfoComponent, "form-info", never, { "LabelColWidth": "LabelColWidth"; "InputColWidth": "InputColWidth"; "Last": "Last"; "FormGroupClass": "FormGroupClass"; "LabelInputRatio": "LabelInputRatio"; }, {}, never, ["*"], false>;
19
19
  }
@@ -29,5 +29,5 @@ export declare class FormInputComponent extends BaseFormControl implements Contr
29
29
  /** @ignore */
30
30
  onNotNullValueSet(): void;
31
31
  static ɵfac: i0.ɵɵFactoryDeclaration<FormInputComponent, [null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<FormInputComponent, "form-input", never, { "Password": "Password"; }, { "onSuffixAction": "onSuffixAction"; "onPrefixAction": "onPrefixAction"; }, ["suffix", "prefix"], never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormInputComponent, "form-input", never, { "Password": "Password"; }, { "onSuffixAction": "onSuffixAction"; "onPrefixAction": "onPrefixAction"; }, ["suffix", "prefix"], never, false>;
33
33
  }
@@ -61,5 +61,5 @@ export declare class FormMultiSelectComponent extends BaseFormControl implements
61
61
  /** @ignore Override per gestire input in uscita */
62
62
  changed(): void;
63
63
  static ɵfac: i0.ɵɵFactoryDeclaration<FormMultiSelectComponent, [null, null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
64
- static ɵcmp: i0.ɵɵComponentDeclaration<FormMultiSelectComponent, "form-multiselect", never, { "SelectLabel": "SelectLabel"; "UseKeyValues": "UseKeyValues"; "UseCommaSeparatedList": "UseCommaSeparatedList"; }, {}, never, never>;
64
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormMultiSelectComponent, "form-multiselect", never, { "SelectLabel": "SelectLabel"; "UseKeyValues": "UseKeyValues"; "UseCommaSeparatedList": "UseCommaSeparatedList"; }, {}, never, never, false>;
65
65
  }
@@ -33,9 +33,9 @@ export declare class FormSelectComponent extends BaseFormControl implements Cont
33
33
  private detatchPreviousAndRetatchNext;
34
34
  /** @ignore */
35
35
  writeValue(obj: any): void;
36
- changed(): void;
36
+ changed(internal?: boolean): void;
37
37
  /** @ignore */
38
38
  onNotNullValueSet(): void;
39
39
  static ɵfac: i0.ɵɵFactoryDeclaration<FormSelectComponent, [null, null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
40
- static ɵcmp: i0.ɵɵComponentDeclaration<FormSelectComponent, "form-select", never, { "SelectLabel": "SelectLabel"; "PlaceholderValue": "PlaceholderValue"; "RequiredPlaceholder": "RequiredPlaceholder"; "EmptyFieldValue": "EmptyFieldValue"; "ShowValidationSymbol": "ShowValidationSymbol"; }, {}, never, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormSelectComponent, "form-select", never, { "SelectLabel": "SelectLabel"; "PlaceholderValue": "PlaceholderValue"; "RequiredPlaceholder": "RequiredPlaceholder"; "EmptyFieldValue": "EmptyFieldValue"; "ShowValidationSymbol": "ShowValidationSymbol"; }, {}, never, never, false>;
41
41
  }
@@ -29,8 +29,10 @@ export declare class FormTemplateComponent {
29
29
  DisplayLayout: 'form' | 'inline' | 'hidden';
30
30
  /** Indica la condizione per cui un elemento in Modalità Display può essere visibile in base a ulteriori controlli */
31
31
  DisplayCondition: boolean;
32
+ /** Separatore da mettere in automatico fra un elemento Form e l'altro quando sono in **DisplayMode** con **DisplayLayout** inline */
33
+ InlineSeparator: string;
32
34
  /** Permette di settare in una volta solo gli input LabelColWidth e InputColWidth, basta scriverlo con la sintassi "X Y" */
33
35
  set LabelInputRatio(input: string);
34
36
  static ɵfac: i0.ɵɵFactoryDeclaration<FormTemplateComponent, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<FormTemplateComponent, "form-template", never, { "Required": "Required"; "Label": "Label"; "LabelClass": "LabelClass"; "FormLayout": "FormLayout"; "LabelColWidth": "LabelColWidth"; "InputColWidth": "InputColWidth"; "Last": "Last"; "FormGroupClass": "FormGroupClass"; "DisplayMode": "DisplayMode"; "DisplayModeTemplate": "DisplayModeTemplate"; "DisplayLayout": "DisplayLayout"; "DisplayCondition": "DisplayCondition"; "LabelInputRatio": "LabelInputRatio"; }, {}, never, ["*"]>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormTemplateComponent, "form-template", never, { "Required": "Required"; "Label": "Label"; "LabelClass": "LabelClass"; "FormLayout": "FormLayout"; "LabelColWidth": "LabelColWidth"; "InputColWidth": "InputColWidth"; "Last": "Last"; "FormGroupClass": "FormGroupClass"; "DisplayMode": "DisplayMode"; "DisplayModeTemplate": "DisplayModeTemplate"; "DisplayLayout": "DisplayLayout"; "DisplayCondition": "DisplayCondition"; "InlineSeparator": "InlineSeparator"; "LabelInputRatio": "LabelInputRatio"; }, {}, never, ["*"], false>;
36
38
  }
@@ -14,5 +14,5 @@ export declare class FormTextareaComponent extends BaseFormControl implements Co
14
14
  /** @ignore */
15
15
  onNotNullValueSet(): void;
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<FormTextareaComponent, [null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<FormTextareaComponent, "form-textarea", never, { "Rows": "Rows"; }, {}, never, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormTextareaComponent, "form-textarea", never, { "Rows": "Rows"; }, {}, never, never, false>;
18
18
  }
@@ -36,5 +36,5 @@ export declare class FormTimeComponent extends BaseFormControl implements Contro
36
36
  /** @ignore */
37
37
  onNotNullValueSet(): void;
38
38
  static ɵfac: i0.ɵɵFactoryDeclaration<FormTimeComponent, [null, null, { optional: true; self: true; }, { optional: true; host: true; }, null, { optional: true; }, { optional: true; }]>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<FormTimeComponent, "form-time", never, { "ShowSpinners": "ShowSpinners"; "StepHour": "StepHour"; "StepMinute": "StepMinute"; "StepSecond": "StepSecond"; "ShowSeconds": "ShowSeconds"; "InOutFormat": "InOutFormat"; }, {}, never, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormTimeComponent, "form-time", never, { "ShowSpinners": "ShowSpinners"; "StepHour": "StepHour"; "StepMinute": "StepMinute"; "StepSecond": "StepSecond"; "ShowSeconds": "ShowSeconds"; "InOutFormat": "InOutFormat"; }, {}, never, never, false>;
40
40
  }
@@ -0,0 +1,5 @@
1
+ export declare class ChangeEvent {
2
+ internal: boolean;
3
+ value: any;
4
+ constructor(internal: boolean, value: any);
5
+ }
@@ -8,4 +8,6 @@ export declare class FormsAndValidationsModuleConfig {
8
8
  acocustom?: string;
9
9
  /** Abilita o meno la modalità di debug */
10
10
  debugMode?: boolean;
11
+ /** Abilita o meno la modalità slider delle checkbox */
12
+ sliderMode?: boolean;
11
13
  }
package/lib/tokens.d.ts CHANGED
@@ -5,3 +5,5 @@ export declare const FAV_LOCALE: InjectionToken<string>;
5
5
  export declare const ACO_CUSTOMKEY: InjectionToken<string>;
6
6
  /** Token che indica la lingua da utilizzare, sono supportate "it-IT" ed "en-US" */
7
7
  export declare const FAV_DEBUG_MODE: InjectionToken<boolean>;
8
+ /** Token che indica se far apparire l'input delle checkbox come slider o come input nativi */
9
+ export declare const FAV_SLIDER_MODE: InjectionToken<boolean>;
@@ -3,6 +3,7 @@ import { NgModel } from "@angular/forms";
3
3
  import { LocalizationService } from "@esfaenza/localizations";
4
4
  import { TooltipDirective } from "ngx-bootstrap/tooltip";
5
5
  import { Subject } from "rxjs";
6
+ import { ChangeEvent } from "../models/ChangeEvent";
6
7
  import * as i0 from "@angular/core";
7
8
  /**
8
9
  * Classe astratta base che contiene le logiche / proprietà in comune a tutti i validatori
@@ -65,6 +66,12 @@ export declare abstract class BaseValidation {
65
66
  * Modalità in cui viene mostrato il campo, 1-1 rispetto alle definizioni di Angular Material
66
67
  */
67
68
  FieldAppearence: "legacy" | "standard" | "fill" | "outline";
69
+ /**
70
+ * Indica se il **Placeholder** dev'essere usato come una floating label di material o solo come un placeholder standard
71
+ *
72
+ * Ignorata lato autocomplete, autocomplete-multi e select in quanto hanno gestioni particolari di placeholder ecc...
73
+ */
74
+ FloatingLabel: boolean;
68
75
  /**
69
76
  * Messaggio da mostrare se la validazione fallisce.
70
77
  *
@@ -114,7 +121,7 @@ export declare abstract class BaseValidation {
114
121
  /**
115
122
  * Evento che sostituisce l'ngModelChange facendolo funzionare in maniera un po' più consistente
116
123
  */
117
- inputChange: EventEmitter<string>;
124
+ inputChange: EventEmitter<ChangeEvent>;
118
125
  /**
119
126
  * Evento che indica il focus avvenuto su un controllo
120
127
  */
@@ -191,5 +198,5 @@ export declare abstract class BaseValidation {
191
198
  */
192
199
  deregisterFocusRequest(): void;
193
200
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseValidation, never>;
194
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaseValidation, never, never, { "FocusSubject": "FocusSubject"; "InferErrorMessages": "InferErrorMessages"; "FieldAppearence": "FieldAppearence"; "validationFailed": "validationFailed"; "readonly": "readonly"; "widthPx": "widthPx"; "disabled": "disabled"; "placeholder": "placeholder"; "class": "class"; "style": "style"; "pattern": "pattern"; "noValidate": "noValidate"; "autocomplete": "autocomplete"; "id": "id"; "submitted": "submitted"; "forceInvalid": "forceInvalid"; }, { "inputChange": "inputChange"; "inputFocus": "inputFocus"; "inputFinalized": "inputFinalized"; }, never>;
201
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseValidation, never, never, { "FocusSubject": "FocusSubject"; "InferErrorMessages": "InferErrorMessages"; "FieldAppearence": "FieldAppearence"; "FloatingLabel": "FloatingLabel"; "validationFailed": "validationFailed"; "readonly": "readonly"; "widthPx": "widthPx"; "disabled": "disabled"; "placeholder": "placeholder"; "class": "class"; "style": "style"; "pattern": "pattern"; "noValidate": "noValidate"; "autocomplete": "autocomplete"; "id": "id"; "submitted": "submitted"; "forceInvalid": "forceInvalid"; }, { "inputChange": "inputChange"; "inputFocus": "inputFocus"; "inputFinalized": "inputFinalized"; }, never, never, false>;
195
202
  }
@@ -20,5 +20,5 @@ export declare class CustomRequiredDirective implements Validator {
20
20
  [key: string]: any;
21
21
  };
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<CustomRequiredDirective, never>;
23
- static ɵdir: i0.ɵɵDirectiveDeclaration<CustomRequiredDirective, "[customRequired]", never, { "NullValues": "CustomNullValues"; "customRequired": "customRequired"; }, {}, never>;
23
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CustomRequiredDirective, "[customRequired]", never, { "NullValues": "CustomNullValues"; "customRequired": "customRequired"; }, {}, never, never, false>;
24
24
  }
@@ -48,11 +48,11 @@ export declare class ValidationAutocompleteComponent extends BaseValidation impl
48
48
  *
49
49
  * @param {any} toEmit valore da propagare all'esterno
50
50
  */
51
- onModelChange(toEmit: any): void;
51
+ onModelChange(toEmit: any, internal?: boolean): void;
52
52
  /** @ignore */
53
53
  registerOnChange(fn: any): void;
54
54
  /** @ignore */
55
55
  registerOnTouched(fn: any): void;
56
56
  static ɵfac: i0.ɵɵFactoryDeclaration<ValidationAutocompleteComponent, [{ optional: true; }, { optional: true; }, null, null]>;
57
- static ɵcmp: i0.ɵɵComponentDeclaration<ValidationAutocompleteComponent, "val-autocomplete", never, { "FilteredSource": "FilteredSource"; "value": "value"; "label": "label"; }, { "optionChange": "optionChange"; }, never, never>;
57
+ static ɵcmp: i0.ɵɵComponentDeclaration<ValidationAutocompleteComponent, "val-autocomplete", never, { "FilteredSource": "FilteredSource"; "value": "value"; "label": "label"; }, { "optionChange": "optionChange"; }, never, never, false>;
58
58
  }
@@ -1,8 +1,8 @@
1
1
  import { ControlValueAccessor } from "@angular/forms";
2
2
  import { EventEmitter, Injector, SimpleChanges } from "@angular/core";
3
+ import { MatAutocompleteTrigger } from "@angular/material/autocomplete";
3
4
  import { LocalizationService } from "@esfaenza/localizations";
4
5
  import { BaseValidation } from "../base-validation";
5
- import { MatAutocompleteTrigger } from "@angular/material/autocomplete";
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Componente di validaizone per gli input di Autocompletamento
@@ -24,6 +24,8 @@ export declare class ValidationAutocompleteMultiComponent extends BaseValidation
24
24
  value: any;
25
25
  /** Contenuto della label Floattante Material-Style */
26
26
  label: string;
27
+ /** Definisce che ad ogni selezione deve chiudere la tendina */
28
+ HideChoicesOnSelection: boolean;
27
29
  /** Evento che indica l'opzione selezionata dal componente. Il valore finale della selezione dovrà essere questo */
28
30
  optionChange: EventEmitter<string>;
29
31
  /** Trigger dell'autocomplete per tenerlo aperto */
@@ -61,7 +63,7 @@ export declare class ValidationAutocompleteMultiComponent extends BaseValidation
61
63
  *
62
64
  * @param {any} toEmit valore da propagare all'esterno
63
65
  */
64
- onModelChange(toEmit: any, finalValue?: boolean): void;
66
+ onModelChange(toEmit: any, finalValue?: boolean, internal?: boolean): void;
65
67
  /** @ignore */
66
68
  registerOnChange(fn: any): void;
67
69
  /** @ignore */
@@ -77,5 +79,5 @@ export declare class ValidationAutocompleteMultiComponent extends BaseValidation
77
79
  description: string;
78
80
  }): void;
79
81
  static ɵfac: i0.ɵɵFactoryDeclaration<ValidationAutocompleteMultiComponent, [{ optional: true; }, { optional: true; }, null, null]>;
80
- static ɵcmp: i0.ɵɵComponentDeclaration<ValidationAutocompleteMultiComponent, "val-autocomplete-multi", never, { "ChipThreshold": "ChipThreshold"; "FilteredSource": "FilteredSource"; "value": "value"; "label": "label"; }, { "optionChange": "optionChange"; }, never, never>;
82
+ static ɵcmp: i0.ɵɵComponentDeclaration<ValidationAutocompleteMultiComponent, "val-autocomplete-multi", never, { "ChipThreshold": "ChipThreshold"; "FilteredSource": "FilteredSource"; "value": "value"; "label": "label"; "HideChoicesOnSelection": "HideChoicesOnSelection"; }, { "optionChange": "optionChange"; }, never, never, false>;
81
83
  }
@@ -24,5 +24,5 @@ export declare class ValidationCurrencyComponent extends ValidationInputComponen
24
24
  */
25
25
  ngOnDestroy(): void;
26
26
  static ɵfac: i0.ɵɵFactoryDeclaration<ValidationCurrencyComponent, [null, { optional: true; }, { optional: true; }, null, null]>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<ValidationCurrencyComponent, "val-currency", never, { "CurrencyOptions": "CurrencyOptions"; }, {}, never, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<ValidationCurrencyComponent, "val-currency", never, { "CurrencyOptions": "CurrencyOptions"; }, {}, never, never, false>;
28
28
  }
@@ -66,7 +66,7 @@ export declare class ValidationDateComponent extends BaseValidation implements C
66
66
  *
67
67
  * @param {any} toEmit valore da propagare all'esterno
68
68
  */
69
- outputValue(toEmit: any): void;
69
+ outputValue(toEmit: any, internal?: boolean): void;
70
70
  /**
71
71
  * @ignore
72
72
  */
@@ -76,5 +76,5 @@ export declare class ValidationDateComponent extends BaseValidation implements C
76
76
  */
77
77
  registerOnTouched(fn: any): void;
78
78
  static ɵfac: i0.ɵɵFactoryDeclaration<ValidationDateComponent, [null, { optional: true; }, { optional: true; }, null, null, null]>;
79
- static ɵcmp: i0.ɵɵComponentDeclaration<ValidationDateComponent, "val-date", never, { "useJsDates": "useJsDates"; }, {}, never, never>;
79
+ static ɵcmp: i0.ɵɵComponentDeclaration<ValidationDateComponent, "val-date", never, { "useJsDates": "useJsDates"; }, {}, never, never, false>;
80
80
  }
@@ -96,7 +96,7 @@ export declare class ValidationDateTimeComponent extends BaseValidation implemen
96
96
  *
97
97
  * @param {any} toEmit valore da propagare all'esterno
98
98
  */
99
- outputValue(toEmit: any): void;
99
+ outputValue(toEmit: any, internal?: boolean): void;
100
100
  /**
101
101
  * @ignore
102
102
  */
@@ -106,5 +106,5 @@ export declare class ValidationDateTimeComponent extends BaseValidation implemen
106
106
  */
107
107
  registerOnTouched(fn: any): void;
108
108
  static ɵfac: i0.ɵɵFactoryDeclaration<ValidationDateTimeComponent, [null, { optional: true; }, { optional: true; }, null, null, null]>;
109
- static ɵcmp: i0.ɵɵComponentDeclaration<ValidationDateTimeComponent, "val-datetime", never, { "useJsDates": "useJsDates"; }, {}, never, never>;
109
+ static ɵcmp: i0.ɵɵComponentDeclaration<ValidationDateTimeComponent, "val-datetime", never, { "useJsDates": "useJsDates"; }, {}, never, never, false>;
110
110
  }
@@ -12,6 +12,11 @@ export declare class ValidationInputComponent extends BaseValidation implements
12
12
  private _asyncValidators;
13
13
  private injector;
14
14
  protected lc: LocalizationService;
15
+ /**
16
+ * Permette di scrivere o meno nel campo di Input. Si differenzia dal Readonly in quanto fisicamente l'Input è scrivibile e vengono mantenuti i temi della validazione
17
+ * ma interagire direttamente con la casella di Input per l'utente non è possibile
18
+ */
19
+ Frozen: boolean;
15
20
  /**
16
21
  * Indica se questo Comopnente deve rappresentare un oggetto di Input di tipo "Password"
17
22
  */
@@ -108,7 +113,7 @@ export declare class ValidationInputComponent extends BaseValidation implements
108
113
  *
109
114
  * @param {any} toEmit valore da propagare all'esterno
110
115
  */
111
- onModelChange(toEmit: any): void;
116
+ onModelChange(toEmit: any, internal?: boolean): void;
112
117
  /**
113
118
  * @ignore
114
119
  */
@@ -118,5 +123,5 @@ export declare class ValidationInputComponent extends BaseValidation implements
118
123
  */
119
124
  registerOnTouched(fn: any): void;
120
125
  static ɵfac: i0.ɵɵFactoryDeclaration<ValidationInputComponent, [null, { optional: true; }, { optional: true; }, null, null]>;
121
- static ɵcmp: i0.ɵɵComponentDeclaration<ValidationInputComponent, "val-input", never, { "Password": "Password"; "showWarning": "showWarning"; "warningTitle": "warningTitle"; "warningClass": "warningClass"; "value": "value"; }, {}, ["suffix_internal", "prefix_internal"], never>;
126
+ static ɵcmp: i0.ɵɵComponentDeclaration<ValidationInputComponent, "val-input", never, { "Frozen": "Frozen"; "Password": "Password"; "showWarning": "showWarning"; "warningTitle": "warningTitle"; "warningClass": "warningClass"; "value": "value"; }, {}, ["suffix_internal", "prefix_internal"], never, false>;
122
127
  }
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectorRef, EventEmitter, Injector } from "@angular/core";
2
- import { ControlValueAccessor, FormControl } from "@angular/forms";
2
+ import { ControlValueAccessor, UntypedFormControl } from "@angular/forms";
3
3
  import { LocalizationService } from "@esfaenza/localizations";
4
4
  import { BaseValidation } from '../base-validation';
5
5
  import * as i0 from "@angular/core";
@@ -39,7 +39,7 @@ export declare class ValidationSelectComponent extends BaseValidation implements
39
39
  /**
40
40
  * Controllo esposto ottenuto tramite injector
41
41
  */
42
- parentControl: FormControl;
42
+ parentControl: UntypedFormControl;
43
43
  /**
44
44
  * Valore del modello rappresentato dal componente
45
45
  */
@@ -82,7 +82,7 @@ export declare class ValidationSelectComponent extends BaseValidation implements
82
82
  *
83
83
  * @param {any} toEmit valore da propagare all'esterno
84
84
  */
85
- onModelChange(toEmit: any): void;
85
+ onModelChange(toEmit: any, internal?: boolean): void;
86
86
  /**
87
87
  * @ignore
88
88
  */
@@ -92,5 +92,5 @@ export declare class ValidationSelectComponent extends BaseValidation implements
92
92
  */
93
93
  registerOnTouched(fn: any): void;
94
94
  static ɵfac: i0.ɵɵFactoryDeclaration<ValidationSelectComponent, [{ optional: true; }, { optional: true; }, null, null, null]>;
95
- static ɵcmp: i0.ɵɵComponentDeclaration<ValidationSelectComponent, "val-select", never, { "emptyFieldValue": "emptyFieldValue"; "placeHolderValue": "placeHolderValue"; "emptyValue": "emptyValue"; "showValidationSymbol": "showValidationSymbol"; "label": "label"; }, { "onBlur": "onBlur"; }, never, ["*"]>;
95
+ static ɵcmp: i0.ɵɵComponentDeclaration<ValidationSelectComponent, "val-select", never, { "emptyFieldValue": "emptyFieldValue"; "placeHolderValue": "placeHolderValue"; "emptyValue": "emptyValue"; "showValidationSymbol": "showValidationSymbol"; "label": "label"; }, { "onBlur": "onBlur"; }, never, ["*"], false>;
96
96
  }
@@ -24,5 +24,5 @@ export declare class ValidationTextAreaComponent extends ValidationInputComponen
24
24
  */
25
25
  ngOnDestroy(): void;
26
26
  static ɵfac: i0.ɵɵFactoryDeclaration<ValidationTextAreaComponent, [null, { optional: true; }, { optional: true; }, null, null]>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<ValidationTextAreaComponent, "val-textarea", never, { "rows": "rows"; }, {}, never, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<ValidationTextAreaComponent, "val-textarea", never, { "rows": "rows"; }, {}, never, never, false>;
28
28
  }