@esfaenza/forms-and-validations 11.2.51 → 11.2.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/esfaenza-forms-and-validations.umd.js +146 -27
- package/bundles/esfaenza-forms-and-validations.umd.js.map +1 -1
- package/esfaenza-forms-and-validations.metadata.json +1 -1
- package/esm2015/lib/forms/base-form-control.js +28 -2
- package/esm2015/lib/forms/form-adaptive/form-adaptive.component.js +22 -8
- package/esm2015/lib/forms/form-autocomplete/form-autocomplete.component.js +2 -2
- package/esm2015/lib/forms/form-checkbox/form-checkbox.component.js +2 -2
- package/esm2015/lib/forms/form-date/form-date.component.js +2 -2
- package/esm2015/lib/forms/form-datetime/form-datetime.component.js +2 -2
- package/esm2015/lib/forms/form-input/form-input.component.js +2 -2
- package/esm2015/lib/forms/form-multiselect/form-multiselect.component.js +2 -1
- package/esm2015/lib/forms/form-select/form-select.component.js +2 -2
- package/esm2015/lib/forms/form-textarea/form-textarea.component.js +2 -2
- package/esm2015/lib/validations/base-validation.js +37 -2
- package/esm2015/lib/validations/validation-autocomplete/validation-autocomplete.component.js +7 -7
- package/esm2015/lib/validations/validation-currency/validation-currency.component.js +14 -2
- package/esm2015/lib/validations/validation-date/validation-date.component.js +9 -2
- package/esm2015/lib/validations/validation-datetime/validation-datetime.component.js +9 -2
- package/esm2015/lib/validations/validation-input/validation-input.component.js +4 -2
- package/esm2015/lib/validations/validation-select/validation-select.component.js +4 -2
- package/esm2015/lib/validations/validation-text-area/validation-text-area.component.js +14 -2
- package/fesm2015/esfaenza-forms-and-validations.js +145 -27
- package/fesm2015/esfaenza-forms-and-validations.js.map +1 -1
- package/lib/forms/base-form-control.d.ts +24 -0
- package/lib/forms/form-adaptive/form-adaptive.component.d.ts +8 -0
- package/lib/validations/base-validation.d.ts +35 -2
- package/lib/validations/validation-autocomplete/validation-autocomplete.component.d.ts +2 -3
- package/lib/validations/validation-currency/validation-currency.component.d.ts +8 -0
- package/lib/validations/validation-date/validation-date.component.d.ts +4 -0
- package/lib/validations/validation-datetime/validation-datetime.component.d.ts +4 -0
- package/lib/validations/validation-text-area/validation-text-area.component.d.ts +8 -0
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ControlValueAccessor, NgControl, NgForm, NgModel } from "@angular/forms";
|
|
2
2
|
import { EventEmitter, ChangeDetectorRef } from "@angular/core";
|
|
3
3
|
import { AccessControlService, ComponentContext } from "@esfaenza/access-control";
|
|
4
|
+
import { Subject } from "rxjs";
|
|
4
5
|
/**
|
|
5
6
|
* Componente base da cui tutti i componenti Form implementano
|
|
6
7
|
*/
|
|
@@ -59,10 +60,22 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
|
|
|
59
60
|
* Se non lo sono, il campo risulterà in sola lettura
|
|
60
61
|
*/
|
|
61
62
|
private AppContextOwnership;
|
|
63
|
+
/**
|
|
64
|
+
* Subject a cui l'oggetto interno si collega per effettuare il focus dell'elemento input sottostante
|
|
65
|
+
*/
|
|
66
|
+
FocusSubject: Subject<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Modalità in cui viene mostrato il campo, 1-1 rispetto alle definizioni di Angular Material
|
|
69
|
+
*/
|
|
70
|
+
FieldAppearence: "legacy" | "standard" | "fill" | "outline";
|
|
62
71
|
/**
|
|
63
72
|
* Utilizza o meno il Layout di un form (Label con input di fianco), se false mostra solo l'input
|
|
64
73
|
*/
|
|
65
74
|
FormLayout: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Definisce se richiamare l'EventEmitter **inputChange** in maniera classica (true) o solo per la change considerate definitive come tasto invio / blur / ecc... (false)
|
|
77
|
+
*/
|
|
78
|
+
EmitPendingChanges: boolean;
|
|
66
79
|
/**
|
|
67
80
|
* Attiva o disattiva la validazione per questo componente
|
|
68
81
|
*/
|
|
@@ -171,6 +184,10 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
|
|
|
171
184
|
* Evento chiamato al focus del campo di testo/combo/quelcheè, riemitta l'evento originale Javascript
|
|
172
185
|
*/
|
|
173
186
|
inputFocus: EventEmitter<any>;
|
|
187
|
+
/**
|
|
188
|
+
* Evento chiamato al finalize del campo di testo/combo/quelcheè
|
|
189
|
+
*/
|
|
190
|
+
inputFinalized: EventEmitter<any>;
|
|
174
191
|
/**
|
|
175
192
|
* Cache delle condizioni scritte tipo :prop?(Roba con {prop})
|
|
176
193
|
*/
|
|
@@ -273,6 +290,13 @@ export declare abstract class BaseFormControl implements ControlValueAccessor {
|
|
|
273
290
|
* Non posso tenerlo protected altrimenti posso eseguirlo solo dal .ts e non dall' .html
|
|
274
291
|
*/
|
|
275
292
|
focused(event: any): void;
|
|
293
|
+
/**
|
|
294
|
+
* @ignore
|
|
295
|
+
* Classico "spara fuori" sulla finalizzazione del valore dell'input (blur / tasto invio, ecc...). Mantengo lo stesso nome dell'evento dei <val-*> (inputChange) per retrocompatibilità.
|
|
296
|
+
*
|
|
297
|
+
* Non posso tenerlo protected altrimenti posso eseguirlo solo dal .ts e non dall' .html
|
|
298
|
+
*/
|
|
299
|
+
finalized(): void;
|
|
276
300
|
/**
|
|
277
301
|
* @ignore
|
|
278
302
|
*/
|
|
@@ -107,7 +107,15 @@ export declare class FormAdaptiveComponent extends BaseFormControl implements Co
|
|
|
107
107
|
* Metodo richiamato quando viene modificato il modello del campo di input
|
|
108
108
|
*/
|
|
109
109
|
changed(): void;
|
|
110
|
+
finalized(): void;
|
|
111
|
+
/**
|
|
112
|
+
* Metodo richiamato quando viene selezionato il campo col mouse
|
|
113
|
+
*/
|
|
110
114
|
focused(event: any): void;
|
|
115
|
+
/**
|
|
116
|
+
* Effettua gli aggiustamenti dati del caso ed emette il modello corretto
|
|
117
|
+
*/
|
|
118
|
+
private getModelToEmit;
|
|
111
119
|
/**
|
|
112
120
|
* Helper per gestire la modifica del file attualmente bindato. Ovviamente funziona solo qualora il **Type** fosse **file**
|
|
113
121
|
*
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { EventEmitter } from "@angular/core";
|
|
1
|
+
import { EventEmitter, ElementRef } 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";
|
|
5
|
+
import { Subject } from "rxjs";
|
|
5
6
|
/**
|
|
6
7
|
* Classe astratta base che contiene le logiche / proprietà in comune a tutti i validatori
|
|
7
8
|
*
|
|
@@ -34,6 +35,10 @@ export declare abstract class BaseValidation {
|
|
|
34
35
|
* @param {TooltipDirective} comp Elemento HTML a cui è applicata la direttiva del tooltip
|
|
35
36
|
*/
|
|
36
37
|
set tooltip_static(comp: TooltipDirective);
|
|
38
|
+
/**
|
|
39
|
+
* Elemento HTML rappresentante l'Input
|
|
40
|
+
*/
|
|
41
|
+
htmlInput: ElementRef;
|
|
37
42
|
/**
|
|
38
43
|
* Query che raccoglie l'input o direttiva che contiene il valore in maniera statica (solo all'inizio)
|
|
39
44
|
*/
|
|
@@ -44,6 +49,10 @@ export declare abstract class BaseValidation {
|
|
|
44
49
|
* @param {NgModel} comp Elemento HTML associato al ngModel del componente
|
|
45
50
|
*/
|
|
46
51
|
set baseInput_static(comp: NgModel);
|
|
52
|
+
/**
|
|
53
|
+
* Subject a cui l'oggetto interno si collega per effettuare il focus dell'elemento input sottostante
|
|
54
|
+
*/
|
|
55
|
+
FocusSubject: Subject<void>;
|
|
47
56
|
/**
|
|
48
57
|
* Indica se di default deve valutare il messaggio di errore in base al validatore che fallisce.
|
|
49
58
|
*
|
|
@@ -51,6 +60,10 @@ export declare abstract class BaseValidation {
|
|
|
51
60
|
* un eventuale pattern validator scriverà che il formato dell'input è invalido
|
|
52
61
|
*/
|
|
53
62
|
InferErrorMessages: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Modalità in cui viene mostrato il campo, 1-1 rispetto alle definizioni di Angular Material
|
|
65
|
+
*/
|
|
66
|
+
FieldAppearence: "legacy" | "standard" | "fill" | "outline";
|
|
54
67
|
/**
|
|
55
68
|
* Messaggio da mostrare se la validazione fallisce.
|
|
56
69
|
*
|
|
@@ -102,9 +115,13 @@ export declare abstract class BaseValidation {
|
|
|
102
115
|
*/
|
|
103
116
|
inputChange: EventEmitter<string>;
|
|
104
117
|
/**
|
|
105
|
-
* Evento che
|
|
118
|
+
* Evento che indica il focus avvenuto su un controllo
|
|
106
119
|
*/
|
|
107
120
|
inputFocus: EventEmitter<any>;
|
|
121
|
+
/**
|
|
122
|
+
* Evento che indica la finalizzazione del valore avvenuta su un controllo
|
|
123
|
+
*/
|
|
124
|
+
inputFinalized: EventEmitter<any>;
|
|
108
125
|
/**
|
|
109
126
|
* Imposta il componente come "submitted" scatenandone le validazioni ed eventualmente la visualizzazione del tooltip di errore
|
|
110
127
|
*
|
|
@@ -156,4 +173,20 @@ export declare abstract class BaseValidation {
|
|
|
156
173
|
* @param {any} toEmit valore da propagare all'esterno
|
|
157
174
|
*/
|
|
158
175
|
onFocus(toEmit: any): void;
|
|
176
|
+
/**
|
|
177
|
+
* Finalizzazione Input
|
|
178
|
+
*/
|
|
179
|
+
onFinalize(): void;
|
|
180
|
+
/**
|
|
181
|
+
* Subscription alle richieste di focus
|
|
182
|
+
*/
|
|
183
|
+
observable: any;
|
|
184
|
+
/**
|
|
185
|
+
* Registra il Subject per ricevere le richieste di Focus dall'esterno
|
|
186
|
+
*/
|
|
187
|
+
registerFocusRequest(): any;
|
|
188
|
+
/**
|
|
189
|
+
* Deregistra il Subject delle richieste di focus
|
|
190
|
+
*/
|
|
191
|
+
deregisterFocusRequest(): void;
|
|
159
192
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ControlValueAccessor } from "@angular/forms";
|
|
2
|
-
import {
|
|
2
|
+
import { EventEmitter, Injector } from "@angular/core";
|
|
3
3
|
import { LocalizationService } from "@esfaenza/localizations";
|
|
4
4
|
import { BaseValidation } from "../base-validation";
|
|
5
5
|
/**
|
|
@@ -10,7 +10,6 @@ export declare class ValidationAutocompleteComponent extends BaseValidation impl
|
|
|
10
10
|
private _asyncValidators;
|
|
11
11
|
private injector;
|
|
12
12
|
protected lc: LocalizationService;
|
|
13
|
-
private cdr;
|
|
14
13
|
/**
|
|
15
14
|
* Sorgente da cui scegliere valori filtrata in base a quello che ha scritto l'utente
|
|
16
15
|
*/
|
|
@@ -41,7 +40,7 @@ export declare class ValidationAutocompleteComponent extends BaseValidation impl
|
|
|
41
40
|
/**
|
|
42
41
|
* @ignore
|
|
43
42
|
*/
|
|
44
|
-
constructor(_validators: Array<any>, _asyncValidators: Array<any>, injector: Injector, lc: LocalizationService
|
|
43
|
+
constructor(_validators: Array<any>, _asyncValidators: Array<any>, injector: Injector, lc: LocalizationService);
|
|
45
44
|
/**
|
|
46
45
|
* @ignore
|
|
47
46
|
*/
|
|
@@ -14,4 +14,12 @@ export declare class ValidationCurrencyComponent extends ValidationInputComponen
|
|
|
14
14
|
* @ignore
|
|
15
15
|
*/
|
|
16
16
|
constructor(cdr: ChangeDetectorRef, validators: Array<any>, asyncValidators: Array<any>, injector: Injector, lc: LocalizationService);
|
|
17
|
+
/**
|
|
18
|
+
* @ignore
|
|
19
|
+
*/
|
|
20
|
+
ngOnInit(): void;
|
|
21
|
+
/**
|
|
22
|
+
* @ignore
|
|
23
|
+
*/
|
|
24
|
+
ngOnDestroy(): void;
|
|
17
25
|
}
|
|
@@ -14,4 +14,12 @@ export declare class ValidationTextAreaComponent extends ValidationInputComponen
|
|
|
14
14
|
* @ignore
|
|
15
15
|
*/
|
|
16
16
|
constructor(cdr: ChangeDetectorRef, validators: Array<any>, asyncValidators: Array<any>, injector: Injector, lc: LocalizationService);
|
|
17
|
+
/**
|
|
18
|
+
* @ignore
|
|
19
|
+
*/
|
|
20
|
+
ngOnInit(): void;
|
|
21
|
+
/**
|
|
22
|
+
* @ignore
|
|
23
|
+
*/
|
|
24
|
+
ngOnDestroy(): void;
|
|
17
25
|
}
|