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

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 (27) hide show
  1. package/bundles/esfaenza-forms-and-validations.umd.js +144 -39
  2. package/bundles/esfaenza-forms-and-validations.umd.js.map +1 -1
  3. package/esfaenza-forms-and-validations.metadata.json +1 -1
  4. package/esm2015/lib/forms/base-form-control.js +94 -11
  5. package/esm2015/lib/forms/form-input/form-input.component.js +8 -2
  6. package/esm2015/lib/forms/form-select/form-select.component.js +2 -2
  7. package/esm2015/lib/validations/base-validation.js +15 -5
  8. package/esm2015/lib/validations/validation-autocomplete/validation-autocomplete.component.js +6 -5
  9. package/esm2015/lib/validations/validation-autocomplete-multi/validation-autocomplete-multi.component.js +6 -5
  10. package/esm2015/lib/validations/validation-currency/validation-currency.component.js +2 -2
  11. package/esm2015/lib/validations/validation-date/validation-date.component.js +3 -4
  12. package/esm2015/lib/validations/validation-datetime/validation-datetime.component.js +3 -4
  13. package/esm2015/lib/validations/validation-input/validation-input.component.js +3 -4
  14. package/esm2015/lib/validations/validation-select/validation-select.component.js +5 -6
  15. package/esm2015/lib/validations/validation-text-area/validation-text-area.component.js +2 -2
  16. package/fesm2015/esfaenza-forms-and-validations.js +133 -38
  17. package/fesm2015/esfaenza-forms-and-validations.js.map +1 -1
  18. package/lib/forms/base-form-control.d.ts +47 -8
  19. package/lib/forms/form-input/form-input.component.d.ts +2 -0
  20. package/lib/validations/base-validation.d.ts +12 -1
  21. package/lib/validations/validation-autocomplete/validation-autocomplete.component.d.ts +2 -2
  22. package/lib/validations/validation-autocomplete-multi/validation-autocomplete-multi.component.d.ts +2 -2
  23. package/lib/validations/validation-date/validation-date.component.d.ts +0 -1
  24. package/lib/validations/validation-datetime/validation-datetime.component.d.ts +0 -1
  25. package/lib/validations/validation-input/validation-input.component.d.ts +0 -1
  26. package/lib/validations/validation-select/validation-select.component.d.ts +0 -1
  27. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { ControlValueAccessor, NgControl, NgForm, NgModel } from "@angular/forms";
2
- import { EventEmitter, ChangeDetectorRef } from "@angular/core";
2
+ import { EventEmitter, ChangeDetectorRef, ElementRef } 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";
@@ -140,20 +140,24 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
140
140
  * @param {string} input Input nel formato "X Y"
141
141
  */
142
142
  set LabelInputRatio(input: string);
143
+ /**
144
+ * Elemento HTML rappresentante l'Input
145
+ */
146
+ htmlInput: ElementRef;
143
147
  /** val-qualcosa che fa effettivamente da input, o eventualmente il singolo input in casi particolari (es checkbox) */
144
148
  protected validationControl: NgModel;
145
149
  /**
146
- * Query sull'elemento 'validationControl' che funziona in ambiente statico
150
+ * Query sull'elemento 'baseInput' che funziona in ambiente statico
147
151
  *
148
- * @param {NgModel} comp Elemento HTML marcato con "#validationControl"
152
+ * @param {NgModel} comp Elemento HTML marcato con "#baseInput"
149
153
  */
150
- set _validationControl(comp: NgModel);
154
+ set baseInput(comp: NgModel);
151
155
  /**
152
- * Query sull'elemento 'validationControl' che funziona in ambiente dinamico
156
+ * Query sull'elemento 'baseInput' che funziona in ambiente dinamico
153
157
  *
154
- * @param {NgModel} comp Elemento HTML marcato con "#validationControl"
158
+ * @param {NgModel} comp Elemento HTML marcato con "#baseInput"
155
159
  */
156
- set validationControl_static(comp: NgModel);
160
+ set baseInput_static(comp: NgModel);
157
161
  /** Evento chiamato alla modifica del valore collegato a questo campo */
158
162
  inputChange: EventEmitter<ChangeEvent>;
159
163
  /** Evento chiamato al focus del campo di testo/combo/quelcheè, riemitta l'evento originale Javascript */
@@ -193,6 +197,7 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
193
197
  handleNullNgControl(): boolean;
194
198
  /** @ignore */
195
199
  ngOnInit(): void;
200
+ destroyed$: Subject<void>;
196
201
  /**
197
202
  * Se sono in modalità detatched devo rimuovere manualmente questo controllo quando entro nella dispose, altrimenti se poi ne andassi a riaggiungere
198
203
  * un altro con lo stesso "name" ma magari resettato, Angular lo re-idraterebbe con i valori precedenti nonostante il modello fosse vuoto
@@ -215,7 +220,7 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
215
220
  *
216
221
  * @param {NgModel} comp Elemento HTML marcato con "#validationControl"
217
222
  */
218
- registerValComp(comp: NgModel): void;
223
+ registerBaseInput(comp: NgModel): void;
219
224
  registerForm(ngForm: NgForm): void;
220
225
  /**
221
226
  * Aggiorna il valore e la validità dell'input sottostante. Non viene chiamato per input nativi come le checkbox
@@ -252,4 +257,38 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
252
257
  log(message: string): void;
253
258
  /** @ignore */
254
259
  abstract onNotNullValueSet(): void;
260
+ /**
261
+ * Variabile per tenere in memoria lo stato di submit di questo componente
262
+ */
263
+ protected _submitted: boolean;
264
+ /**
265
+ * Variabile per tenere in memoria il fatto che il componente è forzato a invalido o no
266
+ */
267
+ protected _forceInvalid: boolean;
268
+ /**
269
+ * Imposta il componente come "submitted" scatenandone le validazioni ed eventualmente la visualizzazione del tooltip di errore
270
+ *
271
+ * @param {boolean} val **true** se si vuole impostare questo controllo come submitted, **false** altrimenti
272
+ */
273
+ set submitted(val: boolean);
274
+ /**
275
+ * Imposta il componente come "invalid" a prescindere dai validatori
276
+ */
277
+ set forceInvalid(val: boolean);
278
+ /**
279
+ * @ignore
280
+ */
281
+ setDisabledState?(isDisabled: boolean): void;
282
+ /**
283
+ * Subscription alle richieste di focus
284
+ */
285
+ observable: any;
286
+ /**
287
+ * Registra il Subject per ricevere le richieste di Focus dall'esterno
288
+ */
289
+ registerFocusRequest(): any;
290
+ /**
291
+ * Deregistra il Subject delle richieste di focus
292
+ */
293
+ deregisterFocusRequest(): void;
255
294
  }
@@ -27,4 +27,6 @@ export declare class FormInputComponent extends BaseFormControl implements Contr
27
27
  ngAfterContentInit(): void;
28
28
  /** @ignore */
29
29
  onNotNullValueSet(): void;
30
+ ShowPassword: boolean;
31
+ onShowHidePassword(event: any): void;
30
32
  }
@@ -1,4 +1,4 @@
1
- import { EventEmitter, ElementRef } from "@angular/core";
1
+ import { EventEmitter, ElementRef, ChangeDetectorRef } from "@angular/core";
2
2
  import { NgModel } from "@angular/forms";
3
3
  import { LocalizationService } from "@esfaenza/localizations";
4
4
  import { TooltipDirective } from "ngx-bootstrap/tooltip";
@@ -10,6 +10,17 @@ import { ChangeEvent } from "../models/ChangeEvent";
10
10
  * Nota bene: I tooltip rallentano tantissimo la pagina perché il tizio che ha fatto ngx bootstrap non è capace
11
11
  */
12
12
  export declare abstract class BaseValidation {
13
+ protected cdr: ChangeDetectorRef;
14
+ /** @ignore Constructor */
15
+ constructor(cdr: ChangeDetectorRef);
16
+ /**
17
+ * Per non sovrascrivere l'originale con errori che spuntano da BE
18
+ */
19
+ validationFailedBind: string;
20
+ /**
21
+ * Per gestire il cambio di messaggi di errore
22
+ */
23
+ private valueOnLastValidation;
13
24
  /**
14
25
  * Servizio di localizzazione del Componente
15
26
  */
@@ -1,5 +1,5 @@
1
1
  import { ControlValueAccessor } from "@angular/forms";
2
- import { EventEmitter, Injector } from "@angular/core";
2
+ import { ChangeDetectorRef, EventEmitter, Injector } from "@angular/core";
3
3
  import { LocalizationService } from "@esfaenza/localizations";
4
4
  import { BaseValidation } from "../base-validation";
5
5
  /**
@@ -26,7 +26,7 @@ export declare class ValidationAutocompleteComponent extends BaseValidation impl
26
26
  /** Controllo esposto ottenuto tramite injector */
27
27
  private parentControl;
28
28
  /** @ignore */
29
- constructor(_validators: Array<any>, _asyncValidators: Array<any>, injector: Injector, lc: LocalizationService);
29
+ constructor(cdr: ChangeDetectorRef, _validators: Array<any>, _asyncValidators: Array<any>, injector: Injector, lc: LocalizationService);
30
30
  /** @ignore */
31
31
  ngOnInit(): void;
32
32
  /** @ignore */
@@ -1,5 +1,5 @@
1
1
  import { ControlValueAccessor } from "@angular/forms";
2
- import { EventEmitter, Injector, SimpleChanges } from "@angular/core";
2
+ import { ChangeDetectorRef, EventEmitter, Injector, SimpleChanges } from "@angular/core";
3
3
  import { MatAutocompleteTrigger } from "@angular/material/autocomplete";
4
4
  import { LocalizationService } from "@esfaenza/localizations";
5
5
  import { BaseValidation } from "../base-validation";
@@ -39,7 +39,7 @@ export declare class ValidationAutocompleteMultiComponent extends BaseValidation
39
39
  description: string;
40
40
  }[];
41
41
  /** @ignore */
42
- constructor(_validators: Array<any>, _asyncValidators: Array<any>, injector: Injector, lc: LocalizationService);
42
+ constructor(cdr: ChangeDetectorRef, _validators: Array<any>, _asyncValidators: Array<any>, injector: Injector, lc: LocalizationService);
43
43
  /** @ignore */
44
44
  ngOnInit(): void;
45
45
  /** @ignore */
@@ -7,7 +7,6 @@ import { DateService } from '@esfaenza/extensions';
7
7
  * Componente di validaizone per gli input di tipo data
8
8
  */
9
9
  export declare class ValidationDateComponent extends BaseValidation implements ControlValueAccessor {
10
- private cdr;
11
10
  private _validators;
12
11
  private _asyncValidators;
13
12
  private injector;
@@ -7,7 +7,6 @@ import { DateService } from '@esfaenza/extensions';
7
7
  * Componente di validaizone per gli input di tipo data-ora
8
8
  */
9
9
  export declare class ValidationDateTimeComponent extends BaseValidation implements ControlValueAccessor {
10
- private cdr;
11
10
  private _validators;
12
11
  private _asyncValidators;
13
12
  private injector;
@@ -6,7 +6,6 @@ import { BaseValidation } from "../base-validation";
6
6
  * Componente di validaizone per gli input a semplice casella di testo
7
7
  */
8
8
  export declare class ValidationInputComponent extends BaseValidation implements ControlValueAccessor {
9
- private cdr;
10
9
  private _validators;
11
10
  private _asyncValidators;
12
11
  private injector;
@@ -9,7 +9,6 @@ export declare class ValidationSelectComponent extends BaseValidation implements
9
9
  private _validators;
10
10
  private _asyncValidators;
11
11
  private injector;
12
- private cdr;
13
12
  protected lc: LocalizationService;
14
13
  /**
15
14
  * valore del campo vuoto della select
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/forms-and-validations",
3
- "version": "11.2.147",
3
+ "version": "11.2.149-beta1",
4
4
  "private": false,
5
5
  "dependencies": {
6
6
  "tslib": "^2.0.0"