@esfaenza/forms-and-validations 16.2.30 → 17.3.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.
- 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 +199 -199
- 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 +4152 -4152
- 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,89 +1,89 @@
|
|
|
1
|
-
//Angular
|
|
2
|
-
import { Inject, Injectable } from "@angular/core";
|
|
3
|
-
import { MAT_DATE_LOCALE } from "@angular/material/core";
|
|
4
|
-
//Libreria
|
|
5
|
-
// Questa non è più usata, la tengo qui per crosscheck in caso di updates
|
|
6
|
-
//import { NgxMatDateAdapter } from "@angular-material-components/datetime-picker";
|
|
7
|
-
import { DayJsDateAdapter } from "@esfaenza/material-dayjs-adapter";
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
/**
|
|
10
|
-
* Espansione dell'adapter di default di DayJs già utilizzato per i bind base su Material.
|
|
11
|
-
*
|
|
12
|
-
* Questa versione serve unicamente per i controlli **datetime-picker**, ma dato che io l'adapter già lo avevo lato **esfaenza/material-dayjs-adapter**
|
|
13
|
-
* qui devo semplicemente aggiungere le funzioni non presenti nella mia implementazione che servono al **datetime-picker**
|
|
14
|
-
*/
|
|
15
|
-
export class NgxExpandedDayJsDateAdapter extends DayJsDateAdapter {
|
|
16
|
-
/**
|
|
17
|
-
* @ignore
|
|
18
|
-
*/
|
|
19
|
-
constructor(dateLocale) {
|
|
20
|
-
super(dateLocale);
|
|
21
|
-
}
|
|
22
|
-
// Espando il mio DayJsDateAdapter con i metodi extra del NgxMatDateAdapter che servono per il material timepicker
|
|
23
|
-
// Non potendo fare "extends" da due classi mi tocca tenerlo così senza type safety....
|
|
24
|
-
/**
|
|
25
|
-
* Identifica se due date hanno lo stesso orario
|
|
26
|
-
*
|
|
27
|
-
* @param {DayJs} a Primo elemento del controllo
|
|
28
|
-
* @param {DayJs} b Secondo elemento del controllo
|
|
29
|
-
* @returns **true** se hanno lo stess orario, **false** altrimenti
|
|
30
|
-
*/
|
|
31
|
-
isSameTime(a, b) {
|
|
32
|
-
if (a == null || b == null)
|
|
33
|
-
return true;
|
|
34
|
-
return this.getHour(a) === this.getHour(b)
|
|
35
|
-
&& this.getMinute(a) === this.getMinute(b)
|
|
36
|
-
&& this.getSecond(a) === this.getSecond(b);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Copia dell'orario da una data all'altra, Modifica direttamente l'oggetto **toDate**
|
|
40
|
-
*
|
|
41
|
-
* @param {DayJs} toDate Data in cui copiare l'orario
|
|
42
|
-
* @param {DayJs} fromDate Data da cui copiare l'orario
|
|
43
|
-
*/
|
|
44
|
-
copyTime(toDate, fromDate) {
|
|
45
|
-
this.setHour(toDate, this.getHour(fromDate));
|
|
46
|
-
this.setMinute(toDate, this.getMinute(fromDate));
|
|
47
|
-
this.setSecond(toDate, this.getSecond(fromDate));
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Mette a confronto due date
|
|
51
|
-
* @param {Dayjs} first Prima data da confrontare
|
|
52
|
-
* @param {Dayjs} second Seconda data da confrontare
|
|
53
|
-
* @param {boolean} showSeconds Indica se considerare anche i secondi, di default no
|
|
54
|
-
* @returns {number} 0 se le due date sono uguali, un numero minore di 0 se la prima data è precedente alla seconda e un numero maggiore di 0 altrimenti
|
|
55
|
-
*/
|
|
56
|
-
compareDateWithTime(first, second, showSeconds) {
|
|
57
|
-
let res = super.compareDate(first, second) ||
|
|
58
|
-
this.getHour(first) - this.getHour(second) ||
|
|
59
|
-
this.getMinute(first) - this.getMinute(second);
|
|
60
|
-
if (showSeconds)
|
|
61
|
-
res = res || this.getSecond(first) - this.getSecond(second);
|
|
62
|
-
return res;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Assegna a una data i valori di ore, minuti e secondi di default.
|
|
66
|
-
*
|
|
67
|
-
* Se non specificati vengono assegnati degli '0'
|
|
68
|
-
*
|
|
69
|
-
* @param {DayJs} date Data a cui assegnare i valori di default
|
|
70
|
-
* @param {number[]} defaultTime Valori di default per ore, minuti e secondi, considerati 0 se non presenti
|
|
71
|
-
*/
|
|
72
|
-
setTimeByDefaultValues(date, defaultTime) {
|
|
73
|
-
if (!Array.isArray(defaultTime)) {
|
|
74
|
-
throw Error('@Input DefaultTime should be an array');
|
|
75
|
-
}
|
|
76
|
-
this.setHour(date, defaultTime[0] || 0);
|
|
77
|
-
this.setMinute(date, defaultTime[1] || 0);
|
|
78
|
-
this.setSecond(date, defaultTime[2] || 0);
|
|
79
|
-
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
81
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
82
|
-
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
84
|
-
type: Injectable
|
|
85
|
-
}], ctorParameters:
|
|
86
|
-
type: Inject,
|
|
87
|
-
args: [MAT_DATE_LOCALE]
|
|
88
|
-
}] }]
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
//Angular
|
|
2
|
+
import { Inject, Injectable } from "@angular/core";
|
|
3
|
+
import { MAT_DATE_LOCALE } from "@angular/material/core";
|
|
4
|
+
//Libreria
|
|
5
|
+
// Questa non è più usata, la tengo qui per crosscheck in caso di updates
|
|
6
|
+
//import { NgxMatDateAdapter } from "@angular-material-components/datetime-picker";
|
|
7
|
+
import { DayJsDateAdapter } from "@esfaenza/material-dayjs-adapter";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* Espansione dell'adapter di default di DayJs già utilizzato per i bind base su Material.
|
|
11
|
+
*
|
|
12
|
+
* Questa versione serve unicamente per i controlli **datetime-picker**, ma dato che io l'adapter già lo avevo lato **esfaenza/material-dayjs-adapter**
|
|
13
|
+
* qui devo semplicemente aggiungere le funzioni non presenti nella mia implementazione che servono al **datetime-picker**
|
|
14
|
+
*/
|
|
15
|
+
export class NgxExpandedDayJsDateAdapter extends DayJsDateAdapter {
|
|
16
|
+
/**
|
|
17
|
+
* @ignore
|
|
18
|
+
*/
|
|
19
|
+
constructor(dateLocale) {
|
|
20
|
+
super(dateLocale);
|
|
21
|
+
}
|
|
22
|
+
// Espando il mio DayJsDateAdapter con i metodi extra del NgxMatDateAdapter che servono per il material timepicker
|
|
23
|
+
// Non potendo fare "extends" da due classi mi tocca tenerlo così senza type safety....
|
|
24
|
+
/**
|
|
25
|
+
* Identifica se due date hanno lo stesso orario
|
|
26
|
+
*
|
|
27
|
+
* @param {DayJs} a Primo elemento del controllo
|
|
28
|
+
* @param {DayJs} b Secondo elemento del controllo
|
|
29
|
+
* @returns **true** se hanno lo stess orario, **false** altrimenti
|
|
30
|
+
*/
|
|
31
|
+
isSameTime(a, b) {
|
|
32
|
+
if (a == null || b == null)
|
|
33
|
+
return true;
|
|
34
|
+
return this.getHour(a) === this.getHour(b)
|
|
35
|
+
&& this.getMinute(a) === this.getMinute(b)
|
|
36
|
+
&& this.getSecond(a) === this.getSecond(b);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Copia dell'orario da una data all'altra, Modifica direttamente l'oggetto **toDate**
|
|
40
|
+
*
|
|
41
|
+
* @param {DayJs} toDate Data in cui copiare l'orario
|
|
42
|
+
* @param {DayJs} fromDate Data da cui copiare l'orario
|
|
43
|
+
*/
|
|
44
|
+
copyTime(toDate, fromDate) {
|
|
45
|
+
this.setHour(toDate, this.getHour(fromDate));
|
|
46
|
+
this.setMinute(toDate, this.getMinute(fromDate));
|
|
47
|
+
this.setSecond(toDate, this.getSecond(fromDate));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Mette a confronto due date
|
|
51
|
+
* @param {Dayjs} first Prima data da confrontare
|
|
52
|
+
* @param {Dayjs} second Seconda data da confrontare
|
|
53
|
+
* @param {boolean} showSeconds Indica se considerare anche i secondi, di default no
|
|
54
|
+
* @returns {number} 0 se le due date sono uguali, un numero minore di 0 se la prima data è precedente alla seconda e un numero maggiore di 0 altrimenti
|
|
55
|
+
*/
|
|
56
|
+
compareDateWithTime(first, second, showSeconds) {
|
|
57
|
+
let res = super.compareDate(first, second) ||
|
|
58
|
+
this.getHour(first) - this.getHour(second) ||
|
|
59
|
+
this.getMinute(first) - this.getMinute(second);
|
|
60
|
+
if (showSeconds)
|
|
61
|
+
res = res || this.getSecond(first) - this.getSecond(second);
|
|
62
|
+
return res;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Assegna a una data i valori di ore, minuti e secondi di default.
|
|
66
|
+
*
|
|
67
|
+
* Se non specificati vengono assegnati degli '0'
|
|
68
|
+
*
|
|
69
|
+
* @param {DayJs} date Data a cui assegnare i valori di default
|
|
70
|
+
* @param {number[]} defaultTime Valori di default per ore, minuti e secondi, considerati 0 se non presenti
|
|
71
|
+
*/
|
|
72
|
+
setTimeByDefaultValues(date, defaultTime) {
|
|
73
|
+
if (!Array.isArray(defaultTime)) {
|
|
74
|
+
throw Error('@Input DefaultTime should be an array');
|
|
75
|
+
}
|
|
76
|
+
this.setHour(date, defaultTime[0] || 0);
|
|
77
|
+
this.setMinute(date, defaultTime[1] || 0);
|
|
78
|
+
this.setSecond(date, defaultTime[2] || 0);
|
|
79
|
+
}
|
|
80
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxExpandedDayJsDateAdapter, deps: [{ token: MAT_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
81
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxExpandedDayJsDateAdapter }); }
|
|
82
|
+
}
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxExpandedDayJsDateAdapter, decorators: [{
|
|
84
|
+
type: Injectable
|
|
85
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
86
|
+
type: Inject,
|
|
87
|
+
args: [MAT_DATE_LOCALE]
|
|
88
|
+
}] }] });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvbW9kZWxzL2RheWpzLWFkYXB0ZXIvZGF5anMtZGF0ZS1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVM7QUFDVCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekQsVUFBVTtBQUNWLHlFQUF5RTtBQUN6RSxtRkFBbUY7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBR3BFOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGdCQUFnQjtJQUU3RDs7T0FFRztJQUNILFlBQXFDLFVBQWtCO1FBQ25ELEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsa0hBQWtIO0lBQ2xILHdGQUF3RjtJQUV4Rjs7Ozs7O09BTUc7SUFDSCxVQUFVLENBQUMsQ0FBUSxFQUFFLENBQVE7UUFDekIsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2VBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7ZUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsQ0FBQyxNQUFhLEVBQUUsUUFBZTtRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsbUJBQW1CLENBQUMsS0FBWSxFQUFFLE1BQWEsRUFBRSxXQUFxQjtRQUNsRSxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7WUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkQsSUFBSSxXQUFXO1lBQ1gsR0FBRyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEUsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILHNCQUFzQixDQUFDLElBQVcsRUFBRSxXQUFxQjtRQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7K0dBdkVRLDJCQUEyQixrQkFLaEIsZUFBZTttSEFMMUIsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVOzswQkFNTSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvL0FuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NvcmVcIjtcclxuXHJcbi8vTGlicmVyaWFcclxuLy8gUXVlc3RhIG5vbiDDqCBwacO5IHVzYXRhLCBsYSB0ZW5nbyBxdWkgcGVyIGNyb3NzY2hlY2sgaW4gY2FzbyBkaSB1cGRhdGVzXHJcbi8vaW1wb3J0IHsgTmd4TWF0RGF0ZUFkYXB0ZXIgfSBmcm9tIFwiQGFuZ3VsYXItbWF0ZXJpYWwtY29tcG9uZW50cy9kYXRldGltZS1waWNrZXJcIjtcclxuaW1wb3J0IHsgRGF5SnNEYXRlQWRhcHRlciB9IGZyb20gXCJAZXNmYWVuemEvbWF0ZXJpYWwtZGF5anMtYWRhcHRlclwiO1xyXG5pbXBvcnQgeyBEYXlqcyB9IGZyb20gXCJkYXlqc1wiO1xyXG5cclxuLyoqXHJcbiAqIEVzcGFuc2lvbmUgZGVsbCdhZGFwdGVyIGRpIGRlZmF1bHQgZGkgRGF5SnMgZ2nDoCB1dGlsaXp6YXRvIHBlciBpIGJpbmQgYmFzZSBzdSBNYXRlcmlhbC5cclxuICogXHJcbiAqIFF1ZXN0YSB2ZXJzaW9uZSBzZXJ2ZSB1bmljYW1lbnRlIHBlciBpIGNvbnRyb2xsaSAqKmRhdGV0aW1lLXBpY2tlcioqLCBtYSBkYXRvIGNoZSBpbyBsJ2FkYXB0ZXIgZ2nDoCBsbyBhdmV2byBsYXRvICoqZXNmYWVuemEvbWF0ZXJpYWwtZGF5anMtYWRhcHRlcioqIFxyXG4gKiBxdWkgZGV2byBzZW1wbGljZW1lbnRlIGFnZ2l1bmdlcmUgbGUgZnVuemlvbmkgbm9uIHByZXNlbnRpIG5lbGxhIG1pYSBpbXBsZW1lbnRhemlvbmUgY2hlIHNlcnZvbm8gYWwgKipkYXRldGltZS1waWNrZXIqKlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTmd4RXhwYW5kZWREYXlKc0RhdGVBZGFwdGVyIGV4dGVuZHMgRGF5SnNEYXRlQWRhcHRlciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RBVEVfTE9DQUxFKSBkYXRlTG9jYWxlOiBzdHJpbmcpIHtcclxuICAgICAgICBzdXBlcihkYXRlTG9jYWxlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBFc3BhbmRvIGlsIG1pbyBEYXlKc0RhdGVBZGFwdGVyIGNvbiBpIG1ldG9kaSBleHRyYSBkZWwgTmd4TWF0RGF0ZUFkYXB0ZXIgY2hlIHNlcnZvbm8gcGVyIGlsIG1hdGVyaWFsIHRpbWVwaWNrZXJcclxuICAgIC8vIE5vbiBwb3RlbmRvIGZhcmUgXCJleHRlbmRzXCIgZGEgZHVlIGNsYXNzaSBtaSB0b2NjYSB0ZW5lcmxvIGNvc8OsIHNlbnphIHR5cGUgc2FmZXR5Li4uLiBcclxuXHJcbiAgICAvKipcclxuICAgICAqIElkZW50aWZpY2Egc2UgZHVlIGRhdGUgaGFubm8gbG8gc3Rlc3NvIG9yYXJpb1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0RheUpzfSBhIFByaW1vIGVsZW1lbnRvIGRlbCBjb250cm9sbG9cclxuICAgICAqIEBwYXJhbSB7RGF5SnN9IGIgU2Vjb25kbyBlbGVtZW50byBkZWwgY29udHJvbGxvXHJcbiAgICAgKiBAcmV0dXJucyAqKnRydWUqKiBzZSBoYW5ubyBsbyBzdGVzcyBvcmFyaW8sICoqZmFsc2UqKiBhbHRyaW1lbnRpXHJcbiAgICAgKi9cclxuICAgIGlzU2FtZVRpbWUoYTogRGF5anMsIGI6IERheWpzKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKGEgPT0gbnVsbCB8fCBiID09IG51bGwpIHJldHVybiB0cnVlO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEhvdXIoYSkgPT09IHRoaXMuZ2V0SG91cihiKVxyXG4gICAgICAgICAgICAmJiB0aGlzLmdldE1pbnV0ZShhKSA9PT0gdGhpcy5nZXRNaW51dGUoYilcclxuICAgICAgICAgICAgJiYgdGhpcy5nZXRTZWNvbmQoYSkgPT09IHRoaXMuZ2V0U2Vjb25kKGIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29waWEgZGVsbCdvcmFyaW8gZGEgdW5hIGRhdGEgYWxsJ2FsdHJhLCBNb2RpZmljYSBkaXJldHRhbWVudGUgbCdvZ2dldHRvICoqdG9EYXRlKipcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtEYXlKc30gdG9EYXRlIERhdGEgaW4gY3VpIGNvcGlhcmUgbCdvcmFyaW9cclxuICAgICAqIEBwYXJhbSB7RGF5SnN9IGZyb21EYXRlIERhdGEgZGEgY3VpIGNvcGlhcmUgbCdvcmFyaW9cclxuICAgICAqL1xyXG4gICAgY29weVRpbWUodG9EYXRlOiBEYXlqcywgZnJvbURhdGU6IERheWpzKSB7XHJcbiAgICAgICAgdGhpcy5zZXRIb3VyKHRvRGF0ZSwgdGhpcy5nZXRIb3VyKGZyb21EYXRlKSk7XHJcbiAgICAgICAgdGhpcy5zZXRNaW51dGUodG9EYXRlLCB0aGlzLmdldE1pbnV0ZShmcm9tRGF0ZSkpO1xyXG4gICAgICAgIHRoaXMuc2V0U2Vjb25kKHRvRGF0ZSwgdGhpcy5nZXRTZWNvbmQoZnJvbURhdGUpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1ldHRlIGEgY29uZnJvbnRvIGR1ZSBkYXRlXHJcbiAgICAgKiBAcGFyYW0ge0RheWpzfSBmaXJzdCBQcmltYSBkYXRhIGRhIGNvbmZyb250YXJlXHJcbiAgICAgKiBAcGFyYW0ge0RheWpzfSBzZWNvbmQgU2Vjb25kYSBkYXRhIGRhIGNvbmZyb250YXJlXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHNob3dTZWNvbmRzIEluZGljYSBzZSBjb25zaWRlcmFyZSBhbmNoZSBpIHNlY29uZGksIGRpIGRlZmF1bHQgbm9cclxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IDAgc2UgbGUgZHVlIGRhdGUgc29ubyB1Z3VhbGksIHVuIG51bWVybyBtaW5vcmUgZGkgMCBzZSBsYSBwcmltYSBkYXRhIMOoIHByZWNlZGVudGUgYWxsYSBzZWNvbmRhIGUgdW4gbnVtZXJvIG1hZ2dpb3JlIGRpIDAgYWx0cmltZW50aVxyXG4gICAgICovXHJcbiAgICBjb21wYXJlRGF0ZVdpdGhUaW1lKGZpcnN0OiBEYXlqcywgc2Vjb25kOiBEYXlqcywgc2hvd1NlY29uZHM/OiBib29sZWFuKTogbnVtYmVyIHtcclxuICAgICAgICBsZXQgcmVzID0gc3VwZXIuY29tcGFyZURhdGUoZmlyc3QsIHNlY29uZCkgfHxcclxuICAgICAgICAgICAgdGhpcy5nZXRIb3VyKGZpcnN0KSAtIHRoaXMuZ2V0SG91cihzZWNvbmQpIHx8XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0TWludXRlKGZpcnN0KSAtIHRoaXMuZ2V0TWludXRlKHNlY29uZCk7XHJcblxyXG4gICAgICAgIGlmIChzaG93U2Vjb25kcylcclxuICAgICAgICAgICAgcmVzID0gcmVzIHx8IHRoaXMuZ2V0U2Vjb25kKGZpcnN0KSAtIHRoaXMuZ2V0U2Vjb25kKHNlY29uZCk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIHJldHVybiByZXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBc3NlZ25hIGEgdW5hIGRhdGEgaSB2YWxvcmkgZGkgb3JlLCBtaW51dGkgZSBzZWNvbmRpIGRpIGRlZmF1bHQuIFxyXG4gICAgICogXHJcbiAgICAgKiBTZSBub24gc3BlY2lmaWNhdGkgdmVuZ29ubyBhc3NlZ25hdGkgZGVnbGkgJzAnXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5SnN9IGRhdGUgRGF0YSBhIGN1aSBhc3NlZ25hcmUgaSB2YWxvcmkgZGkgZGVmYXVsdFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJbXX0gZGVmYXVsdFRpbWUgVmFsb3JpIGRpIGRlZmF1bHQgcGVyIG9yZSwgbWludXRpIGUgc2Vjb25kaSwgY29uc2lkZXJhdGkgMCBzZSBub24gcHJlc2VudGlcclxuICAgICAqL1xyXG4gICAgc2V0VGltZUJ5RGVmYXVsdFZhbHVlcyhkYXRlOiBEYXlqcywgZGVmYXVsdFRpbWU6IG51bWJlcltdKSB7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGRlZmF1bHRUaW1lKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcignQElucHV0IERlZmF1bHRUaW1lIHNob3VsZCBiZSBhbiBhcnJheScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldEhvdXIoZGF0ZSwgZGVmYXVsdFRpbWVbMF0gfHwgMCk7XHJcbiAgICAgICAgdGhpcy5zZXRNaW51dGUoZGF0ZSwgZGVmYXVsdFRpbWVbMV0gfHwgMCk7XHJcbiAgICAgICAgdGhpcy5zZXRTZWNvbmQoZGF0ZSwgZGVmYXVsdFRpbWVbMl0gfHwgMCk7XHJcbiAgICB9XHJcbn0iXX0=
|
package/esm2022/lib/tokens.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
/** Chiave che indica il prefisso dei Contesti Applicativi per permettere l'abilitazione/disabilitazione di input in maniera contestuale */
|
|
3
|
-
export const ACO_CUSTOMKEY = new InjectionToken('ACO_CUSTOMKEY');
|
|
4
|
-
/** Token che indica la lingua da utilizzare, sono supportate "it-IT" ed "en-US" */
|
|
5
|
-
export const FAV_DEBUG_MODE = new InjectionToken('FAV_DEBUG_MODE');
|
|
6
|
-
/** Token che indica se far apparire l'input delle checkbox come slider o come input nativi */
|
|
7
|
-
export const FAV_SLIDER_MODE = new InjectionToken('FAV_SLIDER_MODE');
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
/** Chiave che indica il prefisso dei Contesti Applicativi per permettere l'abilitazione/disabilitazione di input in maniera contestuale */
|
|
3
|
+
export const ACO_CUSTOMKEY = new InjectionToken('ACO_CUSTOMKEY');
|
|
4
|
+
/** Token che indica la lingua da utilizzare, sono supportate "it-IT" ed "en-US" */
|
|
5
|
+
export const FAV_DEBUG_MODE = new InjectionToken('FAV_DEBUG_MODE');
|
|
6
|
+
/** Token che indica se far apparire l'input delle checkbox come slider o come input nativi */
|
|
7
|
+
export const FAV_SLIDER_MODE = new InjectionToken('FAV_SLIDER_MODE');
|
|
8
8
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsMklBQTJJO0FBQzNJLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMkIsSUFBSSxjQUFjLENBQVMsZUFBZSxDQUFDLENBQUM7QUFFakcsbUZBQW1GO0FBQ25GLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBNEIsSUFBSSxjQUFjLENBQVUsZ0JBQWdCLENBQUMsQ0FBQztBQUVyRyw4RkFBOEY7QUFDOUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUE0QixJQUFJLGNBQWMsQ0FBVSxpQkFBaUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKiBDaGlhdmUgY2hlIGluZGljYSBpbCBwcmVmaXNzbyBkZWkgQ29udGVzdGkgQXBwbGljYXRpdmkgcGVyIHBlcm1ldHRlcmUgbCdhYmlsaXRhemlvbmUvZGlzYWJpbGl0YXppb25lIGRpIGlucHV0IGluIG1hbmllcmEgY29udGVzdHVhbGUgKi9cclxuZXhwb3J0IGNvbnN0IEFDT19DVVNUT01LRVk6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignQUNPX0NVU1RPTUtFWScpO1xyXG5cclxuLyoqIFRva2VuIGNoZSBpbmRpY2EgbGEgbGluZ3VhIGRhIHV0aWxpenphcmUsIHNvbm8gc3VwcG9ydGF0ZSBcIml0LUlUXCIgZWQgXCJlbi1VU1wiICovXHJcbmV4cG9ydCBjb25zdCBGQVZfREVCVUdfTU9ERTogSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oJ0ZBVl9ERUJVR19NT0RFJyk7XHJcblxyXG4vKiogVG9rZW4gY2hlIGluZGljYSBzZSBmYXIgYXBwYXJpcmUgbCdpbnB1dCBkZWxsZSBjaGVja2JveCBjb21lIHNsaWRlciBvIGNvbWUgaW5wdXQgbmF0aXZpICovXHJcbmV4cG9ydCBjb25zdCBGQVZfU0xJREVSX01PREU6IEluamVjdGlvblRva2VuPGJvb2xlYW4+ID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdGQVZfU0xJREVSX01PREUnKTsiXX0=
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { Injectable } 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 class BaseValidationLoc extends LocalizationService {
|
|
8
|
-
/**
|
|
9
|
-
* @ignore
|
|
10
|
-
*/
|
|
11
|
-
constructor(injector) {
|
|
12
|
-
super(injector);
|
|
13
|
-
super.set("en->it", "Required Input", ["Input Richiesto"]);
|
|
14
|
-
super.set("en->it", "Invalid Input Format", ["Formato Input Invalido"]);
|
|
15
|
-
super.set("en->it", "Elements selected", ["Elementi selezionati"]);
|
|
16
|
-
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
18
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
21
|
-
type: Injectable
|
|
22
|
-
}], ctorParameters:
|
|
1
|
+
import { Injectable } 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 class BaseValidationLoc extends LocalizationService {
|
|
8
|
+
/**
|
|
9
|
+
* @ignore
|
|
10
|
+
*/
|
|
11
|
+
constructor(injector) {
|
|
12
|
+
super(injector);
|
|
13
|
+
super.set("en->it", "Required Input", ["Input Richiesto"]);
|
|
14
|
+
super.set("en->it", "Invalid Input Format", ["Formato Input Invalido"]);
|
|
15
|
+
super.set("en->it", "Elements selected", ["Elementi selezionati"]);
|
|
16
|
+
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseValidationLoc, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
18
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseValidationLoc }); }
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseValidationLoc, decorators: [{
|
|
21
|
+
type: Injectable
|
|
22
|
+
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
23
23
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12YWxpZGF0aW9uLmxvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvbGliL3ZhbGlkYXRpb25zL2Jhc2UtdmFsaWRhdGlvbi5sb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFOUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW1CO0lBRXREOztPQUVHO0lBQ0gsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFDM0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7UUFDeEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQzsrR0FWUSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzZSBkaSBsb2NhbGl6emF6aW9uZSBpbiBjb211bmUgY29uIHR1dHRpIGkgQ29tcG9uZW50aSBkaSB2YWxpZGF6aW9uZVxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQmFzZVZhbGlkYXRpb25Mb2MgZXh0ZW5kcyBMb2NhbGl6YXRpb25TZXJ2aWNlIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIlJlcXVpcmVkIElucHV0XCIsIFtcIklucHV0IFJpY2hpZXN0b1wiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiSW52YWxpZCBJbnB1dCBGb3JtYXRcIiwgW1wiRm9ybWF0byBJbnB1dCBJbnZhbGlkb1wiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiRWxlbWVudHMgc2VsZWN0ZWRcIiwgW1wiRWxlbWVudGkgc2VsZXppb25hdGlcIl0pO1xyXG4gICAgfVxyXG59Il19
|