@esfaenza/forms-and-validations 16.2.31 → 17.3.16
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/esm2022/esfaenza-forms-and-validations.mjs +4 -4
- package/esm2022/lib/forms/base-form-control.mjs +558 -558
- package/esm2022/lib/forms/form-adaptive/form-adaptive.component.loc.mjs +21 -21
- package/esm2022/lib/forms/form-adaptive/form-adaptive.component.mjs +420 -420
- package/esm2022/lib/forms/form-autocomplete/form-autocomplete.component.loc.mjs +20 -20
- package/esm2022/lib/forms/form-autocomplete/form-autocomplete.component.mjs +289 -289
- package/esm2022/lib/forms/form-checkbox/form-checkbox.component.mjs +74 -74
- package/esm2022/lib/forms/form-date/form-date.component.mjs +69 -69
- package/esm2022/lib/forms/form-datetime/form-datetime.component.mjs +67 -67
- package/esm2022/lib/forms/form-empty/form-empty.component.mjs +29 -29
- package/esm2022/lib/forms/form-error/form-error.component.mjs +41 -41
- package/esm2022/lib/forms/form-file/form-file.component.loc.mjs +21 -21
- package/esm2022/lib/forms/form-file/form-file.component.mjs +175 -175
- package/esm2022/lib/forms/form-info/form-info.component.mjs +41 -41
- package/esm2022/lib/forms/form-input/form-input.component.mjs +83 -83
- package/esm2022/lib/forms/form-multiselect/form-multiselect.component.loc.mjs +22 -22
- package/esm2022/lib/forms/form-multiselect/form-multiselect.component.mjs +163 -163
- package/esm2022/lib/forms/form-select/form-select.component.loc.mjs +20 -20
- package/esm2022/lib/forms/form-select/form-select.component.mjs +165 -165
- package/esm2022/lib/forms/form-template/form-template.component.mjs +76 -76
- package/esm2022/lib/forms/form-textarea/form-textarea.component.mjs +57 -57
- package/esm2022/lib/forms/form-time/form-time.component.mjs +115 -115
- package/esm2022/lib/forms-and-validations.module.mjs +200 -200
- package/esm2022/lib/models/AppFile.mjs +13 -13
- package/esm2022/lib/models/ChangeEvent.mjs +6 -6
- package/esm2022/lib/models/FormsAndValidationsModuleConfig.mjs +5 -5
- package/esm2022/lib/models/dayjs-adapter/dayjs-date-adapter.mjs +89 -89
- package/esm2022/lib/tokens.mjs +7 -7
- package/esm2022/lib/validations/base-validation.loc.mjs +22 -22
- package/esm2022/lib/validations/base-validation.mjs +328 -328
- package/esm2022/lib/validations/customValidators/CustomRequiredDirective.mjs +40 -40
- package/esm2022/lib/validations/validation-autocomplete/validation-autocomplete.component.mjs +147 -147
- package/esm2022/lib/validations/validation-autocomplete-multi/validation-autocomplete-multi.component.mjs +240 -240
- package/esm2022/lib/validations/validation-currency/validation-currency.component.mjs +75 -75
- package/esm2022/lib/validations/validation-date/validation-date.component.mjs +183 -183
- package/esm2022/lib/validations/validation-datetime/validation-datetime.component.mjs +212 -212
- package/esm2022/lib/validations/validation-input/validation-input.component.mjs +222 -222
- package/esm2022/lib/validations/validation-select/validation-select.component.mjs +183 -183
- package/esm2022/lib/validations/validation-text-area/validation-text-area.component.mjs +78 -78
- package/esm2022/public-api.mjs +39 -39
- package/fesm2022/esfaenza-forms-and-validations.mjs +4162 -4162
- package/fesm2022/esfaenza-forms-and-validations.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/forms/base-form-control.d.ts +276 -276
- package/lib/forms/form-adaptive/form-adaptive.component.d.ts +126 -126
- package/lib/forms/form-adaptive/form-adaptive.component.loc.d.ts +14 -14
- package/lib/forms/form-autocomplete/form-autocomplete.component.d.ts +84 -84
- package/lib/forms/form-autocomplete/form-autocomplete.component.loc.d.ts +14 -14
- package/lib/forms/form-checkbox/form-checkbox.component.d.ts +23 -23
- package/lib/forms/form-date/form-date.component.d.ts +21 -21
- package/lib/forms/form-datetime/form-datetime.component.d.ts +23 -23
- package/lib/forms/form-empty/form-empty.component.d.ts +15 -15
- package/lib/forms/form-error/form-error.component.d.ts +19 -19
- package/lib/forms/form-file/form-file.component.d.ts +46 -46
- package/lib/forms/form-file/form-file.component.loc.d.ts +14 -14
- package/lib/forms/form-info/form-info.component.d.ts +19 -19
- package/lib/forms/form-input/form-input.component.d.ts +33 -33
- package/lib/forms/form-multiselect/form-multiselect.component.d.ts +67 -67
- package/lib/forms/form-multiselect/form-multiselect.component.loc.d.ts +14 -14
- package/lib/forms/form-select/form-select.component.d.ts +43 -43
- package/lib/forms/form-select/form-select.component.loc.d.ts +14 -14
- package/lib/forms/form-template/form-template.component.d.ts +38 -38
- package/lib/forms/form-textarea/form-textarea.component.d.ts +18 -18
- package/lib/forms/form-time/form-time.component.d.ts +40 -40
- package/lib/forms-and-validations.module.d.ts +47 -47
- package/lib/models/AppFile.d.ts +21 -21
- package/lib/models/ChangeEvent.d.ts +5 -5
- package/lib/models/FormsAndValidationsModuleConfig.d.ts +11 -11
- package/lib/models/dayjs-adapter/dayjs-date-adapter.d.ts +49 -49
- package/lib/tokens.d.ts +7 -7
- package/lib/validations/base-validation.d.ts +219 -219
- package/lib/validations/base-validation.loc.d.ts +14 -14
- package/lib/validations/customValidators/CustomRequiredDirective.d.ts +24 -24
- package/lib/validations/validation-autocomplete/validation-autocomplete.component.d.ts +58 -58
- package/lib/validations/validation-autocomplete-multi/validation-autocomplete-multi.component.d.ts +88 -88
- package/lib/validations/validation-currency/validation-currency.component.d.ts +28 -28
- package/lib/validations/validation-date/validation-date.component.d.ts +79 -79
- package/lib/validations/validation-datetime/validation-datetime.component.d.ts +109 -109
- package/lib/validations/validation-input/validation-input.component.d.ts +134 -134
- package/lib/validations/validation-select/validation-select.component.d.ts +95 -95
- package/lib/validations/validation-text-area/validation-text-area.component.d.ts +28 -28
- package/package.json +13 -13
- package/public-api.d.ts +31 -31
|
@@ -1,219 +1,219 @@
|
|
|
1
|
-
import { EventEmitter, ElementRef, ChangeDetectorRef } from "@angular/core";
|
|
2
|
-
import { NgModel, Validator } from "@angular/forms";
|
|
3
|
-
import { LocalizationService } from "@esfaenza/localizations";
|
|
4
|
-
import { TooltipDirective } from "ngx-bootstrap/tooltip";
|
|
5
|
-
import { Subject } from "rxjs";
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* Classe astratta base che contiene le logiche / proprietà in comune a tutti i validatori
|
|
9
|
-
*
|
|
10
|
-
* Nota bene: I tooltip rallentano tantissimo la pagina perché il tizio che ha fatto ngx bootstrap non è capace
|
|
11
|
-
*/
|
|
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;
|
|
24
|
-
/**
|
|
25
|
-
* Servizio di localizzazione del Componente
|
|
26
|
-
*/
|
|
27
|
-
protected lc: LocalizationService;
|
|
28
|
-
/**
|
|
29
|
-
* Variabile per tenere in memoria lo stato di submit di questo componente
|
|
30
|
-
*/
|
|
31
|
-
protected _submitted: boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Variabile per tenere in memoria il fatto che il componente è forzato a invalido o no
|
|
34
|
-
*/
|
|
35
|
-
protected _forceInvalid: boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Indica se il valore è obbligatorio o opzionale
|
|
38
|
-
*/
|
|
39
|
-
required: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Query che raccoglie il tooltip in maniera statica (solo all'inizio)
|
|
42
|
-
*/
|
|
43
|
-
protected tooltip: TooltipDirective;
|
|
44
|
-
/**
|
|
45
|
-
* Query che raccoglie il tooltip in maniera dinamica (ad ogni change detection)
|
|
46
|
-
*
|
|
47
|
-
* @param {TooltipDirective} comp Elemento HTML a cui è applicata la direttiva del tooltip
|
|
48
|
-
*/
|
|
49
|
-
set tooltip_static(comp: TooltipDirective);
|
|
50
|
-
/**
|
|
51
|
-
* Elemento HTML rappresentante l'Input
|
|
52
|
-
*/
|
|
53
|
-
htmlInput: ElementRef;
|
|
54
|
-
/**
|
|
55
|
-
* Query che raccoglie l'input o direttiva che contiene il valore in maniera statica (solo all'inizio)
|
|
56
|
-
*/
|
|
57
|
-
baseInput: NgModel;
|
|
58
|
-
/**
|
|
59
|
-
* Query che raccoglie l'input o direttiva che contiene il valore in maniera dinamica (ad ogni change detection)
|
|
60
|
-
*
|
|
61
|
-
* @param {NgModel} comp Elemento HTML associato al ngModel del componente
|
|
62
|
-
*/
|
|
63
|
-
set baseInput_static(comp: NgModel);
|
|
64
|
-
/**
|
|
65
|
-
* Subject a cui l'oggetto interno si collega per effettuare il focus dell'elemento input sottostante
|
|
66
|
-
*/
|
|
67
|
-
FocusSubject: Subject<void>;
|
|
68
|
-
/**
|
|
69
|
-
* @EXPERIMENTAL
|
|
70
|
-
*/
|
|
71
|
-
SetValidationSubject: Subject<{
|
|
72
|
-
fieldName: string;
|
|
73
|
-
error: string;
|
|
74
|
-
}>;
|
|
75
|
-
/**
|
|
76
|
-
* Indica se di default deve valutare il messaggio di errore in base al validatore che fallisce.
|
|
77
|
-
*
|
|
78
|
-
* Se fallisce il required validator scriverà che l'input è obbligatorio, se invece fallisce
|
|
79
|
-
* un eventuale pattern validator scriverà che il formato dell'input è invalido
|
|
80
|
-
*/
|
|
81
|
-
InferErrorMessages: boolean;
|
|
82
|
-
/**
|
|
83
|
-
* Modalità in cui viene mostrato il campo, 1-1 rispetto alle definizioni di Angular Material
|
|
84
|
-
*/
|
|
85
|
-
FieldAppearence: "legacy" | "standard" | "fill" | "outline";
|
|
86
|
-
/**
|
|
87
|
-
* Indica se il **Placeholder** dev'essere usato come una floating label di material o solo come un placeholder standard
|
|
88
|
-
*
|
|
89
|
-
* Ignorata lato autocomplete, autocomplete-multi e select in quanto hanno gestioni particolari di placeholder ecc...
|
|
90
|
-
*/
|
|
91
|
-
FloatingLabel: boolean;
|
|
92
|
-
/**
|
|
93
|
-
* Messaggio da mostrare se la validazione fallisce.
|
|
94
|
-
*
|
|
95
|
-
* Se questo è valorizzato, il messaggio non viene valutato in automatico nonstante **InferErrorMessages** sia **true**
|
|
96
|
-
*/
|
|
97
|
-
validationFailed: string;
|
|
98
|
-
/**
|
|
99
|
-
* Indica se il componente è in sola lettura
|
|
100
|
-
*/
|
|
101
|
-
Readonly: boolean;
|
|
102
|
-
/**
|
|
103
|
-
* Indica le dimensioni del componente
|
|
104
|
-
*/
|
|
105
|
-
widthPx: number;
|
|
106
|
-
/**
|
|
107
|
-
* Indica se il componente è disabilitato o no (più o meno stesso concetto del readonly)
|
|
108
|
-
*/
|
|
109
|
-
disabled: boolean;
|
|
110
|
-
/**
|
|
111
|
-
* Eventuale placeholder da mostrare al posto del valore quando il valore è nullo / vuoto
|
|
112
|
-
*/
|
|
113
|
-
placeholder: string;
|
|
114
|
-
/**
|
|
115
|
-
* Classi da applicare al componente
|
|
116
|
-
*/
|
|
117
|
-
class: string;
|
|
118
|
-
/**
|
|
119
|
-
* Stili da applicare al componente
|
|
120
|
-
*/
|
|
121
|
-
style: string;
|
|
122
|
-
/**
|
|
123
|
-
* Pattern di validazione dell'input
|
|
124
|
-
*/
|
|
125
|
-
pattern: string;
|
|
126
|
-
/**
|
|
127
|
-
* Indica di non validare il componente
|
|
128
|
-
*/
|
|
129
|
-
noValidate: boolean;
|
|
130
|
-
/**
|
|
131
|
-
* Indica se abilitare o meno l'autocompletamento di default del browser
|
|
132
|
-
*/
|
|
133
|
-
autocomplete: string;
|
|
134
|
-
/**
|
|
135
|
-
* Id dell'input. È importante impostarlo soprattutto se l'interfaccia generata dev'essere testata
|
|
136
|
-
*/
|
|
137
|
-
id: string;
|
|
138
|
-
/**
|
|
139
|
-
* Evento che sostituisce l'ngModelChange facendolo funzionare in maniera un po' più consistente
|
|
140
|
-
*/
|
|
141
|
-
inputChange: EventEmitter<string>;
|
|
142
|
-
/**
|
|
143
|
-
* Evento che indica il focus avvenuto su un controllo
|
|
144
|
-
*/
|
|
145
|
-
inputFocus: EventEmitter<any>;
|
|
146
|
-
/**
|
|
147
|
-
* Evento che indica la finalizzazione del valore avvenuta su un controllo
|
|
148
|
-
*/
|
|
149
|
-
inputFinalized: EventEmitter<any>;
|
|
150
|
-
/**
|
|
151
|
-
* Imposta il componente come "submitted" scatenandone le validazioni ed eventualmente la visualizzazione del tooltip di errore
|
|
152
|
-
*
|
|
153
|
-
* @param {boolean} val **true** se si vuole impostare questo controllo come submitted, **false** altrimenti
|
|
154
|
-
*/
|
|
155
|
-
set submitted(val: boolean);
|
|
156
|
-
/**
|
|
157
|
-
* Imposta il componente come "invalid" a prescindere dai validatori
|
|
158
|
-
*/
|
|
159
|
-
set forceInvalid(val: boolean);
|
|
160
|
-
ngOnInit(): void;
|
|
161
|
-
protected checkRequiredness(_validators: Validator[]): void;
|
|
162
|
-
destroyed$: Subject<void>;
|
|
163
|
-
ngOnDestroy(): void;
|
|
164
|
-
/**
|
|
165
|
-
* Helper che controlla se il tooltip deve essere mostrato o meno,
|
|
166
|
-
* richiamato direttamente dall'HTML dei componenti
|
|
167
|
-
*/
|
|
168
|
-
checkTooltip(): void;
|
|
169
|
-
/**
|
|
170
|
-
* Helper che calcola il messaggio da mostrare nel tooltip che andrà ad aprire
|
|
171
|
-
*/
|
|
172
|
-
private showTooltipWithMessage;
|
|
173
|
-
/**
|
|
174
|
-
* Calcola il messaggio da mostrare in base al valore.
|
|
175
|
-
*
|
|
176
|
-
* Entrare in questa funzione significa che lo stato di validazione è fallito, per questo si comporta semplicemente in maniera esclusiva, e cioè:
|
|
177
|
-
*
|
|
178
|
-
* 1) Se ero required e sono senza valore --> Input richiesto
|
|
179
|
-
*
|
|
180
|
-
* 2) Altrimenti se ho un valore --> Di sicuro il formato è errato
|
|
181
|
-
*/
|
|
182
|
-
private inferMessage;
|
|
183
|
-
/**
|
|
184
|
-
* Forza la chiusura del tooltip
|
|
185
|
-
*/
|
|
186
|
-
closeTooltip(): void;
|
|
187
|
-
/**
|
|
188
|
-
* Controlla se il controllo è valido e in caso lo sia chiude il tooltip
|
|
189
|
-
*/
|
|
190
|
-
protected CheckValidity(): void;
|
|
191
|
-
/**
|
|
192
|
-
* @ignore
|
|
193
|
-
*/
|
|
194
|
-
protected propagateChange: (_: any) => void;
|
|
195
|
-
/**
|
|
196
|
-
* L'emit del focus dell'elemento
|
|
197
|
-
*
|
|
198
|
-
* @param {any} toEmit valore da propagare all'esterno
|
|
199
|
-
*/
|
|
200
|
-
onFocus(toEmit: any): void;
|
|
201
|
-
/**
|
|
202
|
-
* Finalizzazione Input
|
|
203
|
-
*/
|
|
204
|
-
onFinalize(): void;
|
|
205
|
-
/**
|
|
206
|
-
* Subscription alle richieste di focus
|
|
207
|
-
*/
|
|
208
|
-
observable: any;
|
|
209
|
-
/**
|
|
210
|
-
* Registra il Subject per ricevere le richieste di Focus dall'esterno
|
|
211
|
-
*/
|
|
212
|
-
registerFocusRequest(): any;
|
|
213
|
-
/**
|
|
214
|
-
* Deregistra il Subject delle richieste di focus
|
|
215
|
-
*/
|
|
216
|
-
deregisterFocusRequest(): void;
|
|
217
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BaseValidation, never>;
|
|
218
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseValidation, never, never, { "FocusSubject": { "alias": "FocusSubject"; "required": false; }; "SetValidationSubject": { "alias": "SetValidationSubject"; "required": false; }; "InferErrorMessages": { "alias": "InferErrorMessages"; "required": false; }; "FieldAppearence": { "alias": "FieldAppearence"; "required": false; }; "FloatingLabel": { "alias": "FloatingLabel"; "required": false; }; "validationFailed": { "alias": "validationFailed"; "required": false; }; "Readonly": { "alias": "Readonly"; "required": false; }; "widthPx": { "alias": "widthPx"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "class": { "alias": "class"; "required": false; }; "style": { "alias": "style"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "noValidate": { "alias": "noValidate"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "id": { "alias": "id"; "required": false; }; "submitted": { "alias": "submitted"; "required": false; }; "forceInvalid": { "alias": "forceInvalid"; "required": false; }; }, { "inputChange": "inputChange"; "inputFocus": "inputFocus"; "inputFinalized": "inputFinalized"; }, never, never, false, never>;
|
|
219
|
-
}
|
|
1
|
+
import { EventEmitter, ElementRef, ChangeDetectorRef } from "@angular/core";
|
|
2
|
+
import { NgModel, Validator } from "@angular/forms";
|
|
3
|
+
import { LocalizationService } from "@esfaenza/localizations";
|
|
4
|
+
import { TooltipDirective } from "ngx-bootstrap/tooltip";
|
|
5
|
+
import { Subject } from "rxjs";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Classe astratta base che contiene le logiche / proprietà in comune a tutti i validatori
|
|
9
|
+
*
|
|
10
|
+
* Nota bene: I tooltip rallentano tantissimo la pagina perché il tizio che ha fatto ngx bootstrap non è capace
|
|
11
|
+
*/
|
|
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;
|
|
24
|
+
/**
|
|
25
|
+
* Servizio di localizzazione del Componente
|
|
26
|
+
*/
|
|
27
|
+
protected lc: LocalizationService;
|
|
28
|
+
/**
|
|
29
|
+
* Variabile per tenere in memoria lo stato di submit di questo componente
|
|
30
|
+
*/
|
|
31
|
+
protected _submitted: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Variabile per tenere in memoria il fatto che il componente è forzato a invalido o no
|
|
34
|
+
*/
|
|
35
|
+
protected _forceInvalid: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Indica se il valore è obbligatorio o opzionale
|
|
38
|
+
*/
|
|
39
|
+
required: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Query che raccoglie il tooltip in maniera statica (solo all'inizio)
|
|
42
|
+
*/
|
|
43
|
+
protected tooltip: TooltipDirective;
|
|
44
|
+
/**
|
|
45
|
+
* Query che raccoglie il tooltip in maniera dinamica (ad ogni change detection)
|
|
46
|
+
*
|
|
47
|
+
* @param {TooltipDirective} comp Elemento HTML a cui è applicata la direttiva del tooltip
|
|
48
|
+
*/
|
|
49
|
+
set tooltip_static(comp: TooltipDirective);
|
|
50
|
+
/**
|
|
51
|
+
* Elemento HTML rappresentante l'Input
|
|
52
|
+
*/
|
|
53
|
+
htmlInput: ElementRef;
|
|
54
|
+
/**
|
|
55
|
+
* Query che raccoglie l'input o direttiva che contiene il valore in maniera statica (solo all'inizio)
|
|
56
|
+
*/
|
|
57
|
+
baseInput: NgModel;
|
|
58
|
+
/**
|
|
59
|
+
* Query che raccoglie l'input o direttiva che contiene il valore in maniera dinamica (ad ogni change detection)
|
|
60
|
+
*
|
|
61
|
+
* @param {NgModel} comp Elemento HTML associato al ngModel del componente
|
|
62
|
+
*/
|
|
63
|
+
set baseInput_static(comp: NgModel);
|
|
64
|
+
/**
|
|
65
|
+
* Subject a cui l'oggetto interno si collega per effettuare il focus dell'elemento input sottostante
|
|
66
|
+
*/
|
|
67
|
+
FocusSubject: Subject<void>;
|
|
68
|
+
/**
|
|
69
|
+
* @EXPERIMENTAL
|
|
70
|
+
*/
|
|
71
|
+
SetValidationSubject: Subject<{
|
|
72
|
+
fieldName: string;
|
|
73
|
+
error: string;
|
|
74
|
+
}>;
|
|
75
|
+
/**
|
|
76
|
+
* Indica se di default deve valutare il messaggio di errore in base al validatore che fallisce.
|
|
77
|
+
*
|
|
78
|
+
* Se fallisce il required validator scriverà che l'input è obbligatorio, se invece fallisce
|
|
79
|
+
* un eventuale pattern validator scriverà che il formato dell'input è invalido
|
|
80
|
+
*/
|
|
81
|
+
InferErrorMessages: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Modalità in cui viene mostrato il campo, 1-1 rispetto alle definizioni di Angular Material
|
|
84
|
+
*/
|
|
85
|
+
FieldAppearence: "legacy" | "standard" | "fill" | "outline";
|
|
86
|
+
/**
|
|
87
|
+
* Indica se il **Placeholder** dev'essere usato come una floating label di material o solo come un placeholder standard
|
|
88
|
+
*
|
|
89
|
+
* Ignorata lato autocomplete, autocomplete-multi e select in quanto hanno gestioni particolari di placeholder ecc...
|
|
90
|
+
*/
|
|
91
|
+
FloatingLabel: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Messaggio da mostrare se la validazione fallisce.
|
|
94
|
+
*
|
|
95
|
+
* Se questo è valorizzato, il messaggio non viene valutato in automatico nonstante **InferErrorMessages** sia **true**
|
|
96
|
+
*/
|
|
97
|
+
validationFailed: string;
|
|
98
|
+
/**
|
|
99
|
+
* Indica se il componente è in sola lettura
|
|
100
|
+
*/
|
|
101
|
+
Readonly: boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Indica le dimensioni del componente
|
|
104
|
+
*/
|
|
105
|
+
widthPx: number;
|
|
106
|
+
/**
|
|
107
|
+
* Indica se il componente è disabilitato o no (più o meno stesso concetto del readonly)
|
|
108
|
+
*/
|
|
109
|
+
disabled: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Eventuale placeholder da mostrare al posto del valore quando il valore è nullo / vuoto
|
|
112
|
+
*/
|
|
113
|
+
placeholder: string;
|
|
114
|
+
/**
|
|
115
|
+
* Classi da applicare al componente
|
|
116
|
+
*/
|
|
117
|
+
class: string;
|
|
118
|
+
/**
|
|
119
|
+
* Stili da applicare al componente
|
|
120
|
+
*/
|
|
121
|
+
style: string;
|
|
122
|
+
/**
|
|
123
|
+
* Pattern di validazione dell'input
|
|
124
|
+
*/
|
|
125
|
+
pattern: string;
|
|
126
|
+
/**
|
|
127
|
+
* Indica di non validare il componente
|
|
128
|
+
*/
|
|
129
|
+
noValidate: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Indica se abilitare o meno l'autocompletamento di default del browser
|
|
132
|
+
*/
|
|
133
|
+
autocomplete: string;
|
|
134
|
+
/**
|
|
135
|
+
* Id dell'input. È importante impostarlo soprattutto se l'interfaccia generata dev'essere testata
|
|
136
|
+
*/
|
|
137
|
+
id: string;
|
|
138
|
+
/**
|
|
139
|
+
* Evento che sostituisce l'ngModelChange facendolo funzionare in maniera un po' più consistente
|
|
140
|
+
*/
|
|
141
|
+
inputChange: EventEmitter<string>;
|
|
142
|
+
/**
|
|
143
|
+
* Evento che indica il focus avvenuto su un controllo
|
|
144
|
+
*/
|
|
145
|
+
inputFocus: EventEmitter<any>;
|
|
146
|
+
/**
|
|
147
|
+
* Evento che indica la finalizzazione del valore avvenuta su un controllo
|
|
148
|
+
*/
|
|
149
|
+
inputFinalized: EventEmitter<any>;
|
|
150
|
+
/**
|
|
151
|
+
* Imposta il componente come "submitted" scatenandone le validazioni ed eventualmente la visualizzazione del tooltip di errore
|
|
152
|
+
*
|
|
153
|
+
* @param {boolean} val **true** se si vuole impostare questo controllo come submitted, **false** altrimenti
|
|
154
|
+
*/
|
|
155
|
+
set submitted(val: boolean);
|
|
156
|
+
/**
|
|
157
|
+
* Imposta il componente come "invalid" a prescindere dai validatori
|
|
158
|
+
*/
|
|
159
|
+
set forceInvalid(val: boolean);
|
|
160
|
+
ngOnInit(): void;
|
|
161
|
+
protected checkRequiredness(_validators: Validator[]): void;
|
|
162
|
+
destroyed$: Subject<void>;
|
|
163
|
+
ngOnDestroy(): void;
|
|
164
|
+
/**
|
|
165
|
+
* Helper che controlla se il tooltip deve essere mostrato o meno,
|
|
166
|
+
* richiamato direttamente dall'HTML dei componenti
|
|
167
|
+
*/
|
|
168
|
+
checkTooltip(): void;
|
|
169
|
+
/**
|
|
170
|
+
* Helper che calcola il messaggio da mostrare nel tooltip che andrà ad aprire
|
|
171
|
+
*/
|
|
172
|
+
private showTooltipWithMessage;
|
|
173
|
+
/**
|
|
174
|
+
* Calcola il messaggio da mostrare in base al valore.
|
|
175
|
+
*
|
|
176
|
+
* Entrare in questa funzione significa che lo stato di validazione è fallito, per questo si comporta semplicemente in maniera esclusiva, e cioè:
|
|
177
|
+
*
|
|
178
|
+
* 1) Se ero required e sono senza valore --> Input richiesto
|
|
179
|
+
*
|
|
180
|
+
* 2) Altrimenti se ho un valore --> Di sicuro il formato è errato
|
|
181
|
+
*/
|
|
182
|
+
private inferMessage;
|
|
183
|
+
/**
|
|
184
|
+
* Forza la chiusura del tooltip
|
|
185
|
+
*/
|
|
186
|
+
closeTooltip(): void;
|
|
187
|
+
/**
|
|
188
|
+
* Controlla se il controllo è valido e in caso lo sia chiude il tooltip
|
|
189
|
+
*/
|
|
190
|
+
protected CheckValidity(): void;
|
|
191
|
+
/**
|
|
192
|
+
* @ignore
|
|
193
|
+
*/
|
|
194
|
+
protected propagateChange: (_: any) => void;
|
|
195
|
+
/**
|
|
196
|
+
* L'emit del focus dell'elemento
|
|
197
|
+
*
|
|
198
|
+
* @param {any} toEmit valore da propagare all'esterno
|
|
199
|
+
*/
|
|
200
|
+
onFocus(toEmit: any): void;
|
|
201
|
+
/**
|
|
202
|
+
* Finalizzazione Input
|
|
203
|
+
*/
|
|
204
|
+
onFinalize(): void;
|
|
205
|
+
/**
|
|
206
|
+
* Subscription alle richieste di focus
|
|
207
|
+
*/
|
|
208
|
+
observable: any;
|
|
209
|
+
/**
|
|
210
|
+
* Registra il Subject per ricevere le richieste di Focus dall'esterno
|
|
211
|
+
*/
|
|
212
|
+
registerFocusRequest(): any;
|
|
213
|
+
/**
|
|
214
|
+
* Deregistra il Subject delle richieste di focus
|
|
215
|
+
*/
|
|
216
|
+
deregisterFocusRequest(): void;
|
|
217
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseValidation, never>;
|
|
218
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseValidation, never, never, { "FocusSubject": { "alias": "FocusSubject"; "required": false; }; "SetValidationSubject": { "alias": "SetValidationSubject"; "required": false; }; "InferErrorMessages": { "alias": "InferErrorMessages"; "required": false; }; "FieldAppearence": { "alias": "FieldAppearence"; "required": false; }; "FloatingLabel": { "alias": "FloatingLabel"; "required": false; }; "validationFailed": { "alias": "validationFailed"; "required": false; }; "Readonly": { "alias": "Readonly"; "required": false; }; "widthPx": { "alias": "widthPx"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "class": { "alias": "class"; "required": false; }; "style": { "alias": "style"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "noValidate": { "alias": "noValidate"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "id": { "alias": "id"; "required": false; }; "submitted": { "alias": "submitted"; "required": false; }; "forceInvalid": { "alias": "forceInvalid"; "required": false; }; }, { "inputChange": "inputChange"; "inputFocus": "inputFocus"; "inputFinalized": "inputFinalized"; }, never, never, false, never>;
|
|
219
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Injector } from "@angular/core";
|
|
2
|
-
import { LocalizationService } from "@esfaenza/localizations";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Classe di localizzazione in comune con tutti i Componenti di validazione
|
|
6
|
-
*/
|
|
7
|
-
export declare class BaseValidationLoc extends LocalizationService {
|
|
8
|
-
/**
|
|
9
|
-
* @ignore
|
|
10
|
-
*/
|
|
11
|
-
constructor(injector: Injector);
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BaseValidationLoc, never>;
|
|
13
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<BaseValidationLoc>;
|
|
14
|
-
}
|
|
1
|
+
import { Injector } from "@angular/core";
|
|
2
|
+
import { LocalizationService } from "@esfaenza/localizations";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Classe di localizzazione in comune con tutti i Componenti di validazione
|
|
6
|
+
*/
|
|
7
|
+
export declare class BaseValidationLoc extends LocalizationService {
|
|
8
|
+
/**
|
|
9
|
+
* @ignore
|
|
10
|
+
*/
|
|
11
|
+
constructor(injector: Injector);
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseValidationLoc, never>;
|
|
13
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BaseValidationLoc>;
|
|
14
|
+
}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { AbstractControl, Validator } from "@angular/forms";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Direttiva utilizzata per validazioni "required" custom, in modo da poter dire che anche se c'è un valore selezionato, ma quel valore lo considero null
|
|
5
|
-
* allora la validazione fallisce. Attualmente usato nell'unico punto sensato: validation-select
|
|
6
|
-
*/
|
|
7
|
-
export declare class CustomRequiredDirective implements Validator {
|
|
8
|
-
/**
|
|
9
|
-
* Lista di valori che vengono considerati "vuoti" seppur presenti
|
|
10
|
-
*/
|
|
11
|
-
NullValues: string[];
|
|
12
|
-
/**
|
|
13
|
-
* booleano in modalità stringa ("true" o "false") che indica se applicare la validazione di obbligatorietà o meno
|
|
14
|
-
*/
|
|
15
|
-
customRequired: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* @ignore
|
|
18
|
-
*/
|
|
19
|
-
validate(c: AbstractControl): {
|
|
20
|
-
[key: string]: any;
|
|
21
|
-
};
|
|
22
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CustomRequiredDirective, never>;
|
|
23
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<CustomRequiredDirective, "[customRequired]", never, { "NullValues": { "alias": "CustomNullValues"; "required": false; }; "customRequired": { "alias": "customRequired"; "required": false; }; }, {}, never, never, false, never>;
|
|
24
|
-
}
|
|
1
|
+
import { AbstractControl, Validator } from "@angular/forms";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Direttiva utilizzata per validazioni "required" custom, in modo da poter dire che anche se c'è un valore selezionato, ma quel valore lo considero null
|
|
5
|
+
* allora la validazione fallisce. Attualmente usato nell'unico punto sensato: validation-select
|
|
6
|
+
*/
|
|
7
|
+
export declare class CustomRequiredDirective implements Validator {
|
|
8
|
+
/**
|
|
9
|
+
* Lista di valori che vengono considerati "vuoti" seppur presenti
|
|
10
|
+
*/
|
|
11
|
+
NullValues: string[];
|
|
12
|
+
/**
|
|
13
|
+
* booleano in modalità stringa ("true" o "false") che indica se applicare la validazione di obbligatorietà o meno
|
|
14
|
+
*/
|
|
15
|
+
customRequired: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* @ignore
|
|
18
|
+
*/
|
|
19
|
+
validate(c: AbstractControl): {
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
};
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CustomRequiredDirective, never>;
|
|
23
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CustomRequiredDirective, "[customRequired]", never, { "NullValues": { "alias": "CustomNullValues"; "required": false; }; "customRequired": { "alias": "customRequired"; "required": false; }; }, {}, never, never, false, never>;
|
|
24
|
+
}
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import { ControlValueAccessor } from "@angular/forms";
|
|
2
|
-
import { ChangeDetectorRef, EventEmitter, Injector } from "@angular/core";
|
|
3
|
-
import { LocalizationService } from "@esfaenza/localizations";
|
|
4
|
-
import { BaseValidation } from "../base-validation";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* Componente di validaizone per gli input di Autocompletamento
|
|
8
|
-
*/
|
|
9
|
-
export declare class ValidationAutocompleteComponent extends BaseValidation implements ControlValueAccessor {
|
|
10
|
-
private _validators;
|
|
11
|
-
private _asyncValidators;
|
|
12
|
-
private injector;
|
|
13
|
-
protected lc: LocalizationService;
|
|
14
|
-
/** Sorgente da cui scegliere valori filtrata in base a quello che ha scritto l'utente */
|
|
15
|
-
FilteredSource: {
|
|
16
|
-
id: string;
|
|
17
|
-
description: string;
|
|
18
|
-
}[];
|
|
19
|
-
/** Valore del modello */
|
|
20
|
-
value: any;
|
|
21
|
-
/** Contenuto della label Floattante Material-Style */
|
|
22
|
-
label: string;
|
|
23
|
-
/** Evento che indica l'opzione selezionata dal componente. Il valore finale della selezione dovrà essere questo */
|
|
24
|
-
optionChange: EventEmitter<string>;
|
|
25
|
-
/** Subscription del tootltip da ripulire alla distruzione del componente */
|
|
26
|
-
private tooltipSubscription;
|
|
27
|
-
/** Controllo esposto ottenuto tramite injector */
|
|
28
|
-
private parentControl;
|
|
29
|
-
/** @ignore */
|
|
30
|
-
constructor(cdr: ChangeDetectorRef, _validators: Array<any>, _asyncValidators: Array<any>, injector: Injector, lc: LocalizationService);
|
|
31
|
-
/** @ignore */
|
|
32
|
-
ngOnInit(): void;
|
|
33
|
-
/** @ignore */
|
|
34
|
-
ngOnDestroy(): void;
|
|
35
|
-
/** @ignore */
|
|
36
|
-
ngAfterViewInit(): void;
|
|
37
|
-
/**
|
|
38
|
-
* Metodo che si occupa di collegare i validatori e la funzione di reset dal **ControlValueAccessor** rappresentato
|
|
39
|
-
* da questo componente al **ControlValueAccessor** rappresentato dall'effettivo elemento di Input presente lato HTML
|
|
40
|
-
*/
|
|
41
|
-
private postBinding;
|
|
42
|
-
/** @ignore */
|
|
43
|
-
private onTouched;
|
|
44
|
-
/** @ignore */
|
|
45
|
-
writeValue(value: any): void;
|
|
46
|
-
/**
|
|
47
|
-
* L'emit della modifica al valore viene gestito su un evento custom (**inputChange**) come workaround al malfunzionamento dell'**ngModelChange** nativo
|
|
48
|
-
*
|
|
49
|
-
* @param {any} toEmit valore da propagare all'esterno
|
|
50
|
-
*/
|
|
51
|
-
onModelChange(toEmit: any): void;
|
|
52
|
-
/** @ignore */
|
|
53
|
-
registerOnChange(fn: any): void;
|
|
54
|
-
/** @ignore */
|
|
55
|
-
registerOnTouched(fn: any): void;
|
|
56
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ValidationAutocompleteComponent, [null, { optional: true; }, { optional: true; }, null, null]>;
|
|
57
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ValidationAutocompleteComponent, "val-autocomplete", never, { "FilteredSource": { "alias": "FilteredSource"; "required": false; }; "value": { "alias": "value"; "required": false; }; "label": { "alias": "label"; "required": false; }; }, { "optionChange": "optionChange"; }, never, never, false, never>;
|
|
58
|
-
}
|
|
1
|
+
import { ControlValueAccessor } from "@angular/forms";
|
|
2
|
+
import { ChangeDetectorRef, EventEmitter, Injector } from "@angular/core";
|
|
3
|
+
import { LocalizationService } from "@esfaenza/localizations";
|
|
4
|
+
import { BaseValidation } from "../base-validation";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Componente di validaizone per gli input di Autocompletamento
|
|
8
|
+
*/
|
|
9
|
+
export declare class ValidationAutocompleteComponent extends BaseValidation implements ControlValueAccessor {
|
|
10
|
+
private _validators;
|
|
11
|
+
private _asyncValidators;
|
|
12
|
+
private injector;
|
|
13
|
+
protected lc: LocalizationService;
|
|
14
|
+
/** Sorgente da cui scegliere valori filtrata in base a quello che ha scritto l'utente */
|
|
15
|
+
FilteredSource: {
|
|
16
|
+
id: string;
|
|
17
|
+
description: string;
|
|
18
|
+
}[];
|
|
19
|
+
/** Valore del modello */
|
|
20
|
+
value: any;
|
|
21
|
+
/** Contenuto della label Floattante Material-Style */
|
|
22
|
+
label: string;
|
|
23
|
+
/** Evento che indica l'opzione selezionata dal componente. Il valore finale della selezione dovrà essere questo */
|
|
24
|
+
optionChange: EventEmitter<string>;
|
|
25
|
+
/** Subscription del tootltip da ripulire alla distruzione del componente */
|
|
26
|
+
private tooltipSubscription;
|
|
27
|
+
/** Controllo esposto ottenuto tramite injector */
|
|
28
|
+
private parentControl;
|
|
29
|
+
/** @ignore */
|
|
30
|
+
constructor(cdr: ChangeDetectorRef, _validators: Array<any>, _asyncValidators: Array<any>, injector: Injector, lc: LocalizationService);
|
|
31
|
+
/** @ignore */
|
|
32
|
+
ngOnInit(): void;
|
|
33
|
+
/** @ignore */
|
|
34
|
+
ngOnDestroy(): void;
|
|
35
|
+
/** @ignore */
|
|
36
|
+
ngAfterViewInit(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Metodo che si occupa di collegare i validatori e la funzione di reset dal **ControlValueAccessor** rappresentato
|
|
39
|
+
* da questo componente al **ControlValueAccessor** rappresentato dall'effettivo elemento di Input presente lato HTML
|
|
40
|
+
*/
|
|
41
|
+
private postBinding;
|
|
42
|
+
/** @ignore */
|
|
43
|
+
private onTouched;
|
|
44
|
+
/** @ignore */
|
|
45
|
+
writeValue(value: any): void;
|
|
46
|
+
/**
|
|
47
|
+
* L'emit della modifica al valore viene gestito su un evento custom (**inputChange**) come workaround al malfunzionamento dell'**ngModelChange** nativo
|
|
48
|
+
*
|
|
49
|
+
* @param {any} toEmit valore da propagare all'esterno
|
|
50
|
+
*/
|
|
51
|
+
onModelChange(toEmit: any): void;
|
|
52
|
+
/** @ignore */
|
|
53
|
+
registerOnChange(fn: any): void;
|
|
54
|
+
/** @ignore */
|
|
55
|
+
registerOnTouched(fn: any): void;
|
|
56
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ValidationAutocompleteComponent, [null, { optional: true; }, { optional: true; }, null, null]>;
|
|
57
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ValidationAutocompleteComponent, "val-autocomplete", never, { "FilteredSource": { "alias": "FilteredSource"; "required": false; }; "value": { "alias": "value"; "required": false; }; "label": { "alias": "label"; "required": false; }; }, { "optionChange": "optionChange"; }, never, never, false, never>;
|
|
58
|
+
}
|