@esfaenza/es-table 16.2.28 → 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.
Files changed (123) hide show
  1. package/esm2022/esfaenza-es-table.mjs +4 -4
  2. package/esm2022/lib/components/es-table/es_table.component.loc.mjs +38 -38
  3. package/esm2022/lib/components/es-table/es_table.component.mjs +1891 -1891
  4. package/esm2022/lib/components/es-td/es_td.component.mjs +40 -40
  5. package/esm2022/lib/components/es-th/es_th.component.mjs +176 -176
  6. package/esm2022/lib/components/pager/table_pager.component.loc.mjs +20 -20
  7. package/esm2022/lib/components/pager/table_pager.component.mjs +111 -111
  8. package/esm2022/lib/components/pipes/est-format.pipe.mjs +44 -44
  9. package/esm2022/lib/components/pipes/est-lookup.pipe.mjs +19 -19
  10. package/esm2022/lib/components/pipes/est-propinsensitive.pipe.mjs +19 -19
  11. package/esm2022/lib/components/pipes/est-renderer.pipe.mjs +36 -36
  12. package/esm2022/lib/components/pipes/est-routerlink.pipe.mjs +41 -41
  13. package/esm2022/lib/components/pipes/est_editor.pipe.mjs +36 -36
  14. package/esm2022/lib/core/CopyPasteDetector.mjs +27 -27
  15. package/esm2022/lib/core/Logger.mjs +25 -25
  16. package/esm2022/lib/core/handlers/ColumnMetadataHandler.mjs +835 -835
  17. package/esm2022/lib/core/handlers/DynamicModeHandler.mjs +109 -109
  18. package/esm2022/lib/core/handlers/ExportHandler.mjs +32 -32
  19. package/esm2022/lib/core/handlers/HierarchyModeHandler.mjs +136 -136
  20. package/esm2022/lib/core/handlers/ItemsHandler.mjs +119 -119
  21. package/esm2022/lib/core/handlers/ReportModeHandler.mjs +60 -60
  22. package/esm2022/lib/core/handlers/RowGroupingHandler.mjs +480 -480
  23. package/esm2022/lib/core/handlers/SelectionHandler.mjs +778 -778
  24. package/esm2022/lib/core/handlers/UtilitiesHandler.mjs +151 -151
  25. package/esm2022/lib/directives/es_td.directive.mjs +54 -54
  26. package/esm2022/lib/directives/es_td_editor.directive.mjs +24 -24
  27. package/esm2022/lib/directives/es_th.directive.mjs +130 -130
  28. package/esm2022/lib/directives/es_th_td_provider.directive.mjs +34 -34
  29. package/esm2022/lib/domain/configuration/EsTableDefaultable.mjs +3 -3
  30. package/esm2022/lib/domain/configuration/EsTableModuleConfig.mjs +3 -3
  31. package/esm2022/lib/domain/externals/CornerMenuOption.mjs +3 -3
  32. package/esm2022/lib/domain/externals/EsTableColumnsDefinition.mjs +47 -47
  33. package/esm2022/lib/domain/externals/EsTableModelChange.mjs +18 -18
  34. package/esm2022/lib/domain/externals/EsTableOperationDefinition.mjs +21 -21
  35. package/esm2022/lib/domain/externals/ItemPropEditableReference.mjs +3 -3
  36. package/esm2022/lib/domain/externals/appsearch/AppOrdering.mjs +15 -15
  37. package/esm2022/lib/domain/externals/appsearch/AppSearch.mjs +65 -65
  38. package/esm2022/lib/domain/externals/appsearch/EsTableMultiValue.mjs +24 -24
  39. package/esm2022/lib/domain/externals/appsearch/GenericItem.mjs +10 -10
  40. package/esm2022/lib/domain/externals/appsearch/Group.mjs +16 -16
  41. package/esm2022/lib/domain/externals/appsearch/GroupAggregation.mjs +15 -15
  42. package/esm2022/lib/domain/externals/appsearch/GroupFilter.mjs +13 -13
  43. package/esm2022/lib/domain/externals/appsearch/GroupOrAggregation.mjs +15 -15
  44. package/esm2022/lib/domain/externals/appsearch/ItemsSelection.mjs +22 -22
  45. package/esm2022/lib/domain/externals/report/ReportColumn.mjs +3 -3
  46. package/esm2022/lib/domain/externals/report/ReportParam.mjs +3 -3
  47. package/esm2022/lib/domain/externals/report/ReportRow.mjs +3 -3
  48. package/esm2022/lib/domain/internals/CacheTriptic.mjs +15 -15
  49. package/esm2022/lib/domain/internals/EsTableColumn.mjs +31 -31
  50. package/esm2022/lib/domain/internals/GroupPager.mjs +22 -22
  51. package/esm2022/lib/domain/internals/GroupRouteFragment.mjs +16 -16
  52. package/esm2022/lib/domain/internals/PagerInfos.mjs +14 -14
  53. package/esm2022/lib/domain/internals/TdElement.mjs +1 -1
  54. package/esm2022/lib/domain/internals/ThAggregation.mjs +15 -15
  55. package/esm2022/lib/domain/internals/ThElement.mjs +1 -1
  56. package/esm2022/lib/domain/internals/ThGroup.mjs +1 -1
  57. package/esm2022/lib/domain/types.mjs +1 -1
  58. package/esm2022/lib/es-table.module.mjs +124 -124
  59. package/esm2022/lib/tokens.mjs +5 -5
  60. package/esm2022/public-api.mjs +27 -27
  61. package/fesm2022/esfaenza-es-table.mjs +5771 -5771
  62. package/fesm2022/esfaenza-es-table.mjs.map +1 -1
  63. package/index.d.ts +5 -5
  64. package/lib/components/es-table/es_table.component.d.ts +738 -738
  65. package/lib/components/es-table/es_table.component.loc.d.ts +10 -10
  66. package/lib/components/es-td/es_td.component.d.ts +26 -26
  67. package/lib/components/es-th/es_th.component.d.ts +92 -92
  68. package/lib/components/pager/table_pager.component.d.ts +56 -56
  69. package/lib/components/pager/table_pager.component.loc.d.ts +10 -10
  70. package/lib/components/pipes/est-format.pipe.d.ts +10 -10
  71. package/lib/components/pipes/est-lookup.pipe.d.ts +13 -13
  72. package/lib/components/pipes/est-propinsensitive.pipe.d.ts +7 -7
  73. package/lib/components/pipes/est-renderer.pipe.d.ts +15 -15
  74. package/lib/components/pipes/est-routerlink.pipe.d.ts +20 -20
  75. package/lib/components/pipes/est_editor.pipe.d.ts +15 -15
  76. package/lib/core/CopyPasteDetector.d.ts +15 -15
  77. package/lib/core/Logger.d.ts +10 -10
  78. package/lib/core/handlers/ColumnMetadataHandler.d.ts +189 -189
  79. package/lib/core/handlers/DynamicModeHandler.d.ts +22 -22
  80. package/lib/core/handlers/ExportHandler.d.ts +18 -18
  81. package/lib/core/handlers/HierarchyModeHandler.d.ts +40 -40
  82. package/lib/core/handlers/ItemsHandler.d.ts +35 -35
  83. package/lib/core/handlers/ReportModeHandler.d.ts +27 -27
  84. package/lib/core/handlers/RowGroupingHandler.d.ts +118 -118
  85. package/lib/core/handlers/SelectionHandler.d.ts +230 -230
  86. package/lib/core/handlers/UtilitiesHandler.d.ts +57 -57
  87. package/lib/directives/es_td.directive.d.ts +42 -42
  88. package/lib/directives/es_td_editor.directive.d.ts +14 -14
  89. package/lib/directives/es_th.directive.d.ts +107 -107
  90. package/lib/directives/es_th_td_provider.directive.d.ts +15 -15
  91. package/lib/domain/configuration/EsTableDefaultable.d.ts +21 -21
  92. package/lib/domain/configuration/EsTableModuleConfig.d.ts +8 -8
  93. package/lib/domain/externals/CornerMenuOption.d.ts +7 -7
  94. package/lib/domain/externals/EsTableColumnsDefinition.d.ts +56 -56
  95. package/lib/domain/externals/EsTableModelChange.d.ts +17 -17
  96. package/lib/domain/externals/EsTableOperationDefinition.d.ts +20 -20
  97. package/lib/domain/externals/ItemPropEditableReference.d.ts +34 -34
  98. package/lib/domain/externals/appsearch/AppOrdering.d.ts +14 -14
  99. package/lib/domain/externals/appsearch/AppSearch.d.ts +100 -100
  100. package/lib/domain/externals/appsearch/EsTableMultiValue.d.ts +22 -22
  101. package/lib/domain/externals/appsearch/GenericItem.d.ts +13 -13
  102. package/lib/domain/externals/appsearch/Group.d.ts +17 -17
  103. package/lib/domain/externals/appsearch/GroupAggregation.d.ts +14 -14
  104. package/lib/domain/externals/appsearch/GroupFilter.d.ts +12 -12
  105. package/lib/domain/externals/appsearch/GroupOrAggregation.d.ts +14 -14
  106. package/lib/domain/externals/appsearch/ItemsSelection.d.ts +22 -22
  107. package/lib/domain/externals/report/ReportColumn.d.ts +19 -19
  108. package/lib/domain/externals/report/ReportParam.d.ts +40 -40
  109. package/lib/domain/externals/report/ReportRow.d.ts +9 -9
  110. package/lib/domain/internals/CacheTriptic.d.ts +14 -14
  111. package/lib/domain/internals/EsTableColumn.d.ts +41 -41
  112. package/lib/domain/internals/GroupPager.d.ts +26 -26
  113. package/lib/domain/internals/GroupRouteFragment.d.ts +15 -15
  114. package/lib/domain/internals/PagerInfos.d.ts +13 -13
  115. package/lib/domain/internals/TdElement.d.ts +57 -57
  116. package/lib/domain/internals/ThAggregation.d.ts +14 -14
  117. package/lib/domain/internals/ThElement.d.ts +24 -24
  118. package/lib/domain/internals/ThGroup.d.ts +10 -10
  119. package/lib/domain/types.d.ts +2 -2
  120. package/lib/es-table.module.d.ts +35 -35
  121. package/lib/tokens.d.ts +6 -6
  122. package/package.json +14 -14
  123. package/public-api.d.ts +27 -27
@@ -1,151 +1,151 @@
1
- // Angular
2
- import { Injectable } from "@angular/core";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@esfaenza/extensions";
5
- /** Classe di utilità per le cose comuni */
6
- export class UtilitiesHandler {
7
- /** @ignore Costruttore */
8
- constructor(hashExts) {
9
- this.hashExts = hashExts;
10
- }
11
- /**
12
- * Data una lista di oggetti effettua dei raggruppamenti in base alla proprietà **field**,
13
- * restituendo un oggetto del tipo { Gruppo1: oggetti[], Gruppo2: oggetti[], ecc... }
14
- *
15
- * @param {any[]} array Lista degli oggetti da raggruppare
16
- * @param {string} field Campo su cui effettuare i raggruppamenti
17
- *
18
- * @returns {{ [id: string]: any[] }} Dizionario dei gruppi
19
- */
20
- groupBy(array, field) {
21
- let ret = {};
22
- for (let i = 0; i < array.length; i++) {
23
- let x = array[i];
24
- (ret[x[field]] = ret[x[field]] || []).push(x);
25
- }
26
- return ret;
27
- }
28
- ;
29
- /**
30
- * Helper per effettuare il caching delle aggregazioni. Le sposta da una lista di **GroupAggregation** a una **<Map<string, Map<string, string>>**
31
- *
32
- * @param {any} group Gruppo di cui cachare le aggregazioni
33
- */
34
- cacheAggregations(group) {
35
- group._aggregationsCache = new Map();
36
- let castedAgCache = group._aggregationsCache;
37
- for (let i = 0; i < group.aggregations.length; i++) {
38
- let agg = group.aggregations[i];
39
- if (castedAgCache.has(agg.column))
40
- castedAgCache.get(agg.column).set(agg.aggregation, agg.value);
41
- else {
42
- let tmp = new Map();
43
- tmp.set(agg.aggregation, agg.value);
44
- castedAgCache.set(agg.column, tmp);
45
- }
46
- }
47
- }
48
- /** Helper per spostare un oggetto di un array da un indice all'altro, in place */
49
- arrayMove(array, oldI, newI) {
50
- if (newI > array.length - 1 || oldI > array.length - 1 || newI < 0 || oldI < 0)
51
- throw "Gli indici passati non fanno riferimento a una posizione dell'array. Length: " + array.length + " Old:" + oldI + " New: " + newI;
52
- array.splice(newI, 0, array.splice(oldI, 1)[0]);
53
- }
54
- /**
55
- * Date le informazioni di paginazione ottiene l'array dei pulsanti
56
- *
57
- * @param {number} maxBtns Numero massimo di pulsanti da visualizzare
58
- * @param {number} page Pagina corrente
59
- * @param {number} lastPage Ultima pagina disponibile
60
- *
61
- * @returns {any[]} Pseudo-array di pulsanti a cui ci si può bindare lato HTML
62
- */
63
- getPagesArray(maxBtns, page, lastPage, actualCount = null, ipp = null) {
64
- let result = [];
65
- // Se sono in modalità "Numero di pagine ed oggetti sconosciuti" faccio in modo di mostrare la pagina successiva solo se gli items effettivamente pervenuti
66
- // sono uguali alla paginazione attuale (cioè questa pagina è di sicuro riempita completamente)
67
- if (lastPage == -1 && ((actualCount == null && ipp == null) || (actualCount == ipp)))
68
- lastPage = page + 1;
69
- // Se sono in modalità "Numero di pagine ed oggetti sconosciuti" e mi arrivano 0 oggetti significa che l'ultima pagina è la precedente e non mostro pagine oltre
70
- if (lastPage == -1 && actualCount == 0)
71
- lastPage = page;
72
- let min, max;
73
- if (lastPage <= maxBtns) {
74
- min = 1;
75
- max = lastPage - 1;
76
- }
77
- else {
78
- // tolgo la pagina selected è l'ultima pagina che è quella delle pagine totali
79
- let rangeOutside = (maxBtns - 2) / 2;
80
- min = page - rangeOutside;
81
- max = page + rangeOutside;
82
- if (min < 1) {
83
- min = 1;
84
- max = maxBtns - 1;
85
- }
86
- else if (max >= lastPage) {
87
- min = lastPage - maxBtns + 1;
88
- max = lastPage - 1;
89
- }
90
- }
91
- result.push({ val: 1, cssClass: (1 === page ? 'btn-main app-white-text' : 'app-white-button') });
92
- if (max >= min) {
93
- for (let i = min; i <= max; i++)
94
- if (i !== 1)
95
- result.push({ val: i, cssClass: (i === page ? 'btn-main app-white-text' : 'app-white-button') });
96
- result.push({ val: lastPage, cssClass: (lastPage === page ? 'btn-main app-white-text' : 'app-white-button') });
97
- }
98
- return result;
99
- }
100
- /**
101
- * Calcola l'hash di un oggetto qualsiasi
102
- *
103
- * @param {any[]} items Oggetti per cui calcolare l'hash
104
- */
105
- calculateHash(items) {
106
- if (!items)
107
- return;
108
- // Supporto a hash duplicati di oggetti uguali
109
- let usedHashesCache = {};
110
- for (let i = 0; i < items.length; i++) {
111
- let item = items[i];
112
- // Prima di calcolare l'hash rimuovo le proprietà interne per evitare che mi scompensino i calcoli successivi
113
- let tmp = Object.assign({}, items[i]);
114
- delete tmp._selected;
115
- delete tmp._visible;
116
- delete tmp._hash;
117
- delete tmp._ordinal;
118
- let hash = this.hashExts.hashObject(tmp);
119
- usedHashesCache[hash] = usedHashesCache[hash] ? usedHashesCache[hash] + 1 : 1;
120
- item._hash = hash + (usedHashesCache[hash] > 1 ? "_" + usedHashesCache[hash] : "");
121
- item._ordinal = i;
122
- }
123
- }
124
- /**
125
- * Se l'Input è null (valore non settato) vede se c'è un default con cui valorizzarlo. Se non c'è utilizza il valore di fallback (qualora fornito)
126
- *
127
- * @param {T} inputValue Valore dell'Input
128
- * @param {T} defaultValue Valore di default impostato da configurazione
129
- * @param {T} fallbackValue Valore dell'Input per quando non è stato assegnato dal programmatore e non ha un default
130
- */
131
- InputOrDefault(inputValue, defaultValue, fallbackValue) {
132
- // Input valorizzato dal programmatore
133
- if (inputValue != null && inputValue != undefined)
134
- return inputValue;
135
- // Input valorizzato da configurazione globale
136
- if (defaultValue != null && defaultValue != undefined)
137
- return defaultValue;
138
- //Input non valorizzato da niente e da nessuno
139
- if (fallbackValue != null && fallbackValue != undefined)
140
- return fallbackValue;
141
- // I casi in cui si arriva qui sono i casi di Input che di default va bene che siano nulli e che nessuno si caga
142
- return null;
143
- }
144
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UtilitiesHandler, deps: [{ token: i1.HashingService }], target: i0.ɵɵFactoryTarget.Injectable }); }
145
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UtilitiesHandler, providedIn: 'root' }); }
146
- }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UtilitiesHandler, decorators: [{
148
- type: Injectable,
149
- args: [{ providedIn: 'root' }]
150
- }], ctorParameters: function () { return [{ type: i1.HashingService }]; } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbGl0aWVzSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29yZS9oYW5kbGVycy9VdGlsaXRpZXNIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsMkNBQTJDO0FBRTNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFekIsMEJBQTBCO0lBQzFCLFlBQW9CLFFBQXdCO1FBQXhCLGFBQVEsR0FBUixRQUFRLENBQWdCO0lBQUksQ0FBQztJQUVqRDs7Ozs7Ozs7T0FRRztJQUNJLE9BQU8sQ0FBQyxLQUFZLEVBQUUsS0FBYTtRQUN0QyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqRDtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUFBLENBQUM7SUFFRjs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQUMsS0FBVTtRQUN6QixLQUFNLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM1QyxJQUFJLGFBQWEsR0FBNEMsS0FBTSxDQUFDLGtCQUFtQixDQUFDO1FBQ3hGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsWUFBWSxD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c291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vIExpYnJlcmllXHJcbmltcG9ydCB7IEhhc2hpbmdTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG4vKiogQ2xhc3NlIGRpIHV0aWxpdMOgIHBlciBsZSBjb3NlIGNvbXVuaSAqL1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVXRpbGl0aWVzSGFuZGxlciB7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgQ29zdHJ1dHRvcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaGFzaEV4dHM6IEhhc2hpbmdTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERhdGEgdW5hIGxpc3RhIGRpIG9nZ2V0dGkgZWZmZXR0dWEgZGVpIHJhZ2dydXBwYW1lbnRpIGluIGJhc2UgYWxsYSBwcm9wcmlldMOgICoqZmllbGQqKiwgXHJcbiAgICAgKiByZXN0aXR1ZW5kbyB1biBvZ2dldHRvIGRlbCB0aXBvIHsgR3J1cHBvMTogb2dnZXR0aVtdLCBHcnVwcG8yOiBvZ2dldHRpW10sIGVjYy4uLiB9XHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHthbnlbXX0gYXJyYXkgTGlzdGEgZGVnbGkgb2dnZXR0aSBkYSByYWdncnVwcGFyZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZpZWxkIENhbXBvIHN1IGN1aSBlZmZldHR1YXJlIGkgcmFnZ3J1cHBhbWVudGlcclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7eyBbaWQ6IHN0cmluZ106IGFueVtdIH19IERpemlvbmFyaW8gZGVpIGdydXBwaVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ3JvdXBCeShhcnJheTogYW55W10sIGZpZWxkOiBzdHJpbmcpOiB7IFtpZDogc3RyaW5nXTogYW55W107IH0ge1xyXG4gICAgICAgIGxldCByZXQgPSB7fTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCB4ID0gYXJyYXlbaV07XHJcbiAgICAgICAgICAgIChyZXRbeFtmaWVsZF1dID0gcmV0W3hbZmllbGRdXSB8fCBbXSkucHVzaCh4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIZWxwZXIgcGVyIGVmZmV0dHVhcmUgaWwgY2FjaGluZyBkZWxsZSBhZ2dyZWdhemlvbmkuIExlIHNwb3N0YSBkYSB1bmEgbGlzdGEgZGkgKipHcm91cEFnZ3JlZ2F0aW9uKiogYSB1bmEgKio8TWFwPHN0cmluZywgTWFwPHN0cmluZywgc3RyaW5nPj4qKlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7YW55fSBncm91cCBHcnVwcG8gZGkgY3VpIGNhY2hhcmUgbGUgYWdncmVnYXppb25pXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjYWNoZUFnZ3JlZ2F0aW9ucyhncm91cDogYW55KSB7XHJcbiAgICAgICAgKDxhbnk+Z3JvdXApLl9hZ2dyZWdhdGlvbnNDYWNoZSA9IG5ldyBNYXAoKTtcclxuICAgICAgICBsZXQgY2FzdGVkQWdDYWNoZSA9ICg8TWFwPHN0cmluZywgTWFwPHN0cmluZywgc3RyaW5nPj4+KDxhbnk+Z3JvdXApLl9hZ2dyZWdhdGlvbnNDYWNoZSk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncm91cC5hZ2dyZWdhdGlvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGFnZyA9IGdyb3VwLmFnZ3JlZ2F0aW9uc1tpXTtcclxuICAgICAgICAgICAgaWYgKGNhc3RlZEFnQ2FjaGUuaGFzKGFnZy5jb2x1bW4pKVxyXG4gICAgICAgICAgICAgICAgY2FzdGVkQWdDYWNoZS5nZXQoYWdnLmNvbHVtbikuc2V0KGFnZy5hZ2dyZWdhdGlvbiwgYWdnLnZhbHVlKTtcclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgdG1wOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xyXG4gICAgICAgICAgICAgICAgdG1wLnNldChhZ2cuYWdncmVnYXRpb24sIGFnZy52YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICBjYXN0ZWRBZ0NhY2hlLnNldChhZ2cuY29sdW1uLCB0bXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBIZWxwZXIgcGVyIHNwb3N0YXJlIHVuIG9nZ2V0dG8gZGkgdW4gYXJyYXkgZGEgdW4gaW5kaWNlIGFsbCdhbHRybywgaW4gcGxhY2UgKi9cclxuICAgIHB1YmxpYyBhcnJheU1vdmUoYXJyYXk6IGFueVtdLCBvbGRJOiBudW1iZXIsIG5ld0k6IG51bWJlcikge1xyXG4gICAgICAgIGlmIChuZXdJID4gYXJyYXkubGVuZ3RoIC0gMSB8fCBvbGRJID4gYXJyYXkubGVuZ3RoIC0gMSB8fCBuZXdJIDwgMCB8fCBvbGRJIDwgMClcclxuICAgICAgICAgICAgdGhyb3cgXCJHbGkgaW5kaWNpIHBhc3NhdGkgbm9uIGZhbm5vIHJpZmVyaW1lbnRvIGEgdW5hIHBvc2l6aW9uZSBkZWxsJ2FycmF5LiBMZW5ndGg6IFwiICsgYXJyYXkubGVuZ3RoICsgXCIgT2xkOlwiICsgb2xkSSArIFwiIE5ldzogXCIgKyBuZXdJO1xyXG5cclxuICAgICAgICBhcnJheS5zcGxpY2UobmV3SSwgMCwgYXJyYXkuc3BsaWNlKG9sZEksIDEpWzBdKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERhdGUgbGUgaW5mb3JtYXppb25pIGRpIHBhZ2luYXppb25lIG90dGllbmUgbCdhcnJheSBkZWkgcHVsc2FudGlcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4QnRucyBOdW1lcm8gbWFzc2ltbyBkaSBwdWxzYW50aSBkYSB2aXN1YWxpenphcmVcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBwYWdlIFBhZ2luYSBjb3JyZW50ZVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGxhc3RQYWdlIFVsdGltYSBwYWdpbmEgZGlzcG9uaWJpbGVcclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7YW55W119IFBzZXVkby1hcnJheSBkaSBwdWxzYW50aSBhIGN1aSBjaSBzaSBwdcOyIGJpbmRhcmUgbGF0byBIVE1MXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRQYWdlc0FycmF5KG1heEJ0bnM6IG51bWJlciwgcGFnZTogbnVtYmVyLCBsYXN0UGFnZTogbnVtYmVyLCBhY3R1YWxDb3VudDogbnVtYmVyID0gbnVsbCwgaXBwOiBudW1iZXIgPSBudWxsKTogeyB2YWw6IG51bWJlciwgY3NzQ2xhc3M6IHN0cmluZyB9W10ge1xyXG4gICAgICAgIGxldCByZXN1bHQ6IHsgdmFsOiBudW1iZXIsIGNzc0NsYXNzOiBzdHJpbmcgfVtdID0gW107XHJcblxyXG4gICAgICAgIC8vIFNlIHNvbm8gaW4gbW9kYWxpdMOgIFwiTnVtZXJvIGRpIHBhZ2luZSBlZCBvZ2dldHRpIHNjb25vc2NpdXRpXCIgZmFjY2lvIGluIG1vZG8gZGkgbW9zdHJhcmUgbGEgcGFnaW5hIHN1Y2Nlc3NpdmEgc29sbyBzZSBnbGkgaXRlbXMgZWZmZXR0aXZhbWVudGUgcGVydmVudXRpXHJcbiAgICAgICAgLy8gc29ubyB1Z3VhbGkgYWxsYSBwYWdpbmF6aW9uZSBhdHR1YWxlIChjaW/DqCBxdWVzdGEgcGFnaW5hIMOoIGRpIHNpY3VybyByaWVtcGl0YSBjb21wbGV0YW1lbnRlKVxyXG4gICAgICAgIGlmIChsYXN0UGFnZSA9PSAtMSAmJiAoKGFjdHVhbENvdW50ID09IG51bGwgJiYgaXBwID09IG51bGwpIHx8IChhY3R1YWxDb3VudCA9PSBpcHApKSlcclxuICAgICAgICAgICAgbGFzdFBhZ2UgPSBwYWdlICsgMTtcclxuXHJcbiAgICAgICAgLy8gU2Ugc29ubyBpbiBtb2RhbGl0w6AgXCJOdW1lcm8gZGkgcGFnaW5lIGVkIG9nZ2V0dGkgc2Nvbm9zY2l1dGlcIiBlIG1pIGFycml2YW5vIDAgb2dnZXR0aSBzaWduaWZpY2EgY2hlIGwndWx0aW1hIHBhZ2luYSDDqCBsYSBwcmVjZWRlbnRlIGUgbm9uIG1vc3RybyBwYWdpbmUgb2x0cmVcclxuICAgICAgICBpZiAobGFzdFBhZ2UgPT0gLTEgJiYgYWN0dWFsQ291bnQgPT0gMClcclxuICAgICAgICAgICAgbGFzdFBhZ2UgPSBwYWdlO1xyXG5cclxuICAgICAgICBsZXQgbWluOiBudW1iZXIsIG1heDogbnVtYmVyO1xyXG4gICAgICAgIGlmIChsYXN0UGFnZSA8PSBtYXhCdG5zKSB7XHJcbiAgICAgICAgICAgIG1pbiA9IDE7XHJcbiAgICAgICAgICAgIG1heCA9IGxhc3RQYWdlIC0gMTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyB0b2xnbyBsYSBwYWdpbmEgc2VsZWN0ZWQgw6ggbCd1bHRpbWEgcGFnaW5hIGNoZSDDqCBxdWVsbGEgZGVsbGUgcGFnaW5lIHRvdGFsaVxyXG4gICAgICAgICAgICBsZXQgcmFuZ2VPdXRzaWRlID0gKG1heEJ0bnMgLSAyKSAvIDI7XHJcblxyXG4gICAgICAgICAgICBtaW4gPSBwYWdlIC0gcmFuZ2VPdXRzaWRlO1xyXG4gICAgICAgICAgICBtYXggPSBwYWdlICsgcmFuZ2VPdXRzaWRlO1xyXG5cclxuICAgICAgICAgICAgaWYgKG1pbiA8IDEpIHtcclxuICAgICAgICAgICAgICAgIG1pbiA9IDE7XHJcbiAgICAgICAgICAgICAgICBtYXggPSBtYXhCdG5zIC0gMTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChtYXggPj0gbGFzdFBhZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1pbiA9IGxhc3RQYWdlIC0gbWF4QnRucyArIDE7XHJcbiAgICAgICAgICAgICAgICBtYXggPSBsYXN0UGFnZSAtIDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJlc3VsdC5wdXNoKHsgdmFsOiAxLCBjc3NDbGFzczogKDEgPT09IHBhZ2UgPyAnYnRuLW1haW4gYXBwLXdoaXRlLXRleHQnIDogJ2FwcC13aGl0ZS1idXR0b24nKSB9KTtcclxuXHJcbiAgICAgICAgaWYgKG1heCA+PSBtaW4pIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IG1pbjsgaSA8PSBtYXg7IGkrKylcclxuICAgICAgICAgICAgICAgIGlmIChpICE9PSAxKVxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHsgdmFsOiBpLCBjc3NDbGFzczogKGkgPT09IHBhZ2UgPyAnYnRuLW1haW4gYXBwLXdoaXRlLXRleHQnIDogJ2FwcC13aGl0ZS1idXR0b24nKSB9KTtcclxuXHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHsgdmFsOiBsYXN0UGFnZSwgY3NzQ2xhc3M6IChsYXN0UGFnZSA9PT0gcGFnZSA/ICdidG4tbWFpbiBhcHAtd2hpdGUtdGV4dCcgOiAnYXBwLXdoaXRlLWJ1dHRvbicpIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY29sYSBsJ2hhc2ggZGkgdW4gb2dnZXR0byBxdWFsc2lhc2lcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge2FueVtdfSBpdGVtcyBPZ2dldHRpIHBlciBjdWkgY2FsY29sYXJlIGwnaGFzaFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2FsY3VsYXRlSGFzaChpdGVtczogYW55W10pIHtcclxuICAgICAgICBpZiAoIWl0ZW1zKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIC8vIFN1cHBvcnRvIGEgaGFzaCBkdXBsaWNhdGkgZGkgb2dnZXR0aSB1Z3VhbGlcclxuICAgICAgICBsZXQgdXNlZEhhc2hlc0NhY2hlOiB7IFtpbmRleDogc3RyaW5nXTogbnVtYmVyOyB9ID0ge307XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgaXRlbSA9IGl0ZW1zW2ldO1xyXG5cclxuICAgICAgICAgICAgLy8gUHJpbWEgZGkgY2FsY29sYXJlIGwnaGFzaCByaW11b3ZvIGxlIHByb3ByaWV0w6AgaW50ZXJuZSBwZXIgZXZpdGFyZSBjaGUgbWkgc2NvbXBlbnNpbm8gaSBjYWxjb2xpIHN1Y2Nlc3NpdmlcclxuICAgICAgICAgICAgbGV0IHRtcCA9IE9iamVjdC5hc3NpZ24oe30sIGl0ZW1zW2ldKTtcclxuICAgICAgICAgICAgZGVsZXRlIHRtcC5fc2VsZWN0ZWQ7XHJcbiAgICAgICAgICAgIGRlbGV0ZSB0bXAuX3Zpc2libGU7XHJcbiAgICAgICAgICAgIGRlbGV0ZSB0bXAuX2hhc2g7XHJcbiAgICAgICAgICAgIGRlbGV0ZSB0bXAuX29yZGluYWw7XHJcbiAgICAgICAgICAgIGxldCBoYXNoID0gdGhpcy5oYXNoRXh0cy5oYXNoT2JqZWN0KHRtcCk7XHJcblxyXG4gICAgICAgICAgICB1c2VkSGFzaGVzQ2FjaGVbaGFzaF0gPSB1c2VkSGFzaGVzQ2FjaGVbaGFzaF0gPyB1c2VkSGFzaGVzQ2FjaGVbaGFzaF0gKyAxIDogMTtcclxuICAgICAgICAgICAgaXRlbS5faGFzaCA9IGhhc2ggKyAodXNlZEhhc2hlc0NhY2hlW2hhc2hdID4gMSA/IFwiX1wiICsgdXNlZEhhc2hlc0NhY2hlW2hhc2hdIDogXCJcIik7XHJcbiAgICAgICAgICAgIGl0ZW0uX29yZGluYWwgPSBpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICogU2UgbCdJbnB1dCDDqCBudWxsICh2YWxvcmUgbm9uIHNldHRhdG8pIHZlZGUgc2UgYyfDqCB1biBkZWZhdWx0IGNvbiBjdWkgdmFsb3JpenphcmxvLiBTZSBub24gYyfDqCB1dGlsaXp6YSBpbCB2YWxvcmUgZGkgZmFsbGJhY2sgKHF1YWxvcmEgZm9ybml0bylcclxuICAgICogXHJcbiAgICAqIEBwYXJhbSB7VH0gaW5wdXRWYWx1ZSBWYWxvcmUgZGVsbCdJbnB1dFxyXG4gICAgKiBAcGFyYW0ge1R9IGRlZmF1bHRWYWx1ZSBWYWxvcmUgZGkgZGVmYXVsdCBpbXBvc3RhdG8gZGEgY29uZmlndXJhemlvbmVcclxuICAgICogQHBhcmFtIHtUfSBmYWxsYmFja1ZhbHVlIFZhbG9yZSBkZWxsJ0lucHV0IHBlciBxdWFuZG8gbm9uIMOoIHN0YXRvIGFzc2VnbmF0byBkYWwgcHJvZ3JhbW1hdG9yZSBlIG5vbiBoYSB1biBkZWZhdWx0XHJcbiAgICAqL1xyXG4gICAgcHVibGljIElucHV0T3JEZWZhdWx0PFQ+KGlucHV0VmFsdWU6IFQsIGRlZmF1bHRWYWx1ZTogVCwgZmFsbGJhY2tWYWx1ZT86IFQpIHtcclxuXHJcbiAgICAgICAgLy8gSW5wdXQgdmFsb3JpenphdG8gZGFsIHByb2dyYW1tYXRvcmVcclxuICAgICAgICBpZiAoaW5wdXRWYWx1ZSAhPSBudWxsICYmIGlucHV0VmFsdWUgIT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICByZXR1cm4gaW5wdXRWYWx1ZTtcclxuXHJcbiAgICAgICAgLy8gSW5wdXQgdmFsb3JpenphdG8gZGEgY29uZmlndXJhemlvbmUgZ2xvYmFsZVxyXG4gICAgICAgIGlmIChkZWZhdWx0VmFsdWUgIT0gbnVsbCAmJiBkZWZhdWx0VmFsdWUgIT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG5cclxuICAgICAgICAvL0lucHV0IG5vbiB2YWxvcml6emF0byBkYSBuaWVudGUgZSBkYSBuZXNzdW5vXHJcbiAgICAgICAgaWYgKGZhbGxiYWNrVmFsdWUgIT0gbnVsbCAmJiBmYWxsYmFja1ZhbHVlICE9IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgcmV0dXJuIGZhbGxiYWNrVmFsdWU7XHJcblxyXG4gICAgICAgIC8vIEkgY2FzaSBpbiBjdWkgc2kgYXJyaXZhIHF1aSBzb25vIGkgY2FzaSBkaSBJbnB1dCBjaGUgZGkgZGVmYXVsdCB2YSBiZW5lIGNoZSBzaWFubyBudWxsaSBlIGNoZSBuZXNzdW5vIHNpIGNhZ2FcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufVxyXG4iXX0=
1
+ // Angular
2
+ import { Injectable } from "@angular/core";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@esfaenza/extensions";
5
+ /** Classe di utilità per le cose comuni */
6
+ export class UtilitiesHandler {
7
+ /** @ignore Costruttore */
8
+ constructor(hashExts) {
9
+ this.hashExts = hashExts;
10
+ }
11
+ /**
12
+ * Data una lista di oggetti effettua dei raggruppamenti in base alla proprietà **field**,
13
+ * restituendo un oggetto del tipo { Gruppo1: oggetti[], Gruppo2: oggetti[], ecc... }
14
+ *
15
+ * @param {any[]} array Lista degli oggetti da raggruppare
16
+ * @param {string} field Campo su cui effettuare i raggruppamenti
17
+ *
18
+ * @returns {{ [id: string]: any[] }} Dizionario dei gruppi
19
+ */
20
+ groupBy(array, field) {
21
+ let ret = {};
22
+ for (let i = 0; i < array.length; i++) {
23
+ let x = array[i];
24
+ (ret[x[field]] = ret[x[field]] || []).push(x);
25
+ }
26
+ return ret;
27
+ }
28
+ ;
29
+ /**
30
+ * Helper per effettuare il caching delle aggregazioni. Le sposta da una lista di **GroupAggregation** a una **<Map<string, Map<string, string>>**
31
+ *
32
+ * @param {any} group Gruppo di cui cachare le aggregazioni
33
+ */
34
+ cacheAggregations(group) {
35
+ group._aggregationsCache = new Map();
36
+ let castedAgCache = group._aggregationsCache;
37
+ for (let i = 0; i < group.aggregations.length; i++) {
38
+ let agg = group.aggregations[i];
39
+ if (castedAgCache.has(agg.column))
40
+ castedAgCache.get(agg.column).set(agg.aggregation, agg.value);
41
+ else {
42
+ let tmp = new Map();
43
+ tmp.set(agg.aggregation, agg.value);
44
+ castedAgCache.set(agg.column, tmp);
45
+ }
46
+ }
47
+ }
48
+ /** Helper per spostare un oggetto di un array da un indice all'altro, in place */
49
+ arrayMove(array, oldI, newI) {
50
+ if (newI > array.length - 1 || oldI > array.length - 1 || newI < 0 || oldI < 0)
51
+ throw "Gli indici passati non fanno riferimento a una posizione dell'array. Length: " + array.length + " Old:" + oldI + " New: " + newI;
52
+ array.splice(newI, 0, array.splice(oldI, 1)[0]);
53
+ }
54
+ /**
55
+ * Date le informazioni di paginazione ottiene l'array dei pulsanti
56
+ *
57
+ * @param {number} maxBtns Numero massimo di pulsanti da visualizzare
58
+ * @param {number} page Pagina corrente
59
+ * @param {number} lastPage Ultima pagina disponibile
60
+ *
61
+ * @returns {any[]} Pseudo-array di pulsanti a cui ci si può bindare lato HTML
62
+ */
63
+ getPagesArray(maxBtns, page, lastPage, actualCount = null, ipp = null) {
64
+ let result = [];
65
+ // Se sono in modalità "Numero di pagine ed oggetti sconosciuti" faccio in modo di mostrare la pagina successiva solo se gli items effettivamente pervenuti
66
+ // sono uguali alla paginazione attuale (cioè questa pagina è di sicuro riempita completamente)
67
+ if (lastPage == -1 && ((actualCount == null && ipp == null) || (actualCount == ipp)))
68
+ lastPage = page + 1;
69
+ // Se sono in modalità "Numero di pagine ed oggetti sconosciuti" e mi arrivano 0 oggetti significa che l'ultima pagina è la precedente e non mostro pagine oltre
70
+ if (lastPage == -1 && actualCount == 0)
71
+ lastPage = page;
72
+ let min, max;
73
+ if (lastPage <= maxBtns) {
74
+ min = 1;
75
+ max = lastPage - 1;
76
+ }
77
+ else {
78
+ // tolgo la pagina selected è l'ultima pagina che è quella delle pagine totali
79
+ let rangeOutside = (maxBtns - 2) / 2;
80
+ min = page - rangeOutside;
81
+ max = page + rangeOutside;
82
+ if (min < 1) {
83
+ min = 1;
84
+ max = maxBtns - 1;
85
+ }
86
+ else if (max >= lastPage) {
87
+ min = lastPage - maxBtns + 1;
88
+ max = lastPage - 1;
89
+ }
90
+ }
91
+ result.push({ val: 1, cssClass: (1 === page ? 'btn-main app-white-text' : 'app-white-button') });
92
+ if (max >= min) {
93
+ for (let i = min; i <= max; i++)
94
+ if (i !== 1)
95
+ result.push({ val: i, cssClass: (i === page ? 'btn-main app-white-text' : 'app-white-button') });
96
+ result.push({ val: lastPage, cssClass: (lastPage === page ? 'btn-main app-white-text' : 'app-white-button') });
97
+ }
98
+ return result;
99
+ }
100
+ /**
101
+ * Calcola l'hash di un oggetto qualsiasi
102
+ *
103
+ * @param {any[]} items Oggetti per cui calcolare l'hash
104
+ */
105
+ calculateHash(items) {
106
+ if (!items)
107
+ return;
108
+ // Supporto a hash duplicati di oggetti uguali
109
+ let usedHashesCache = {};
110
+ for (let i = 0; i < items.length; i++) {
111
+ let item = items[i];
112
+ // Prima di calcolare l'hash rimuovo le proprietà interne per evitare che mi scompensino i calcoli successivi
113
+ let tmp = Object.assign({}, items[i]);
114
+ delete tmp._selected;
115
+ delete tmp._visible;
116
+ delete tmp._hash;
117
+ delete tmp._ordinal;
118
+ let hash = this.hashExts.hashObject(tmp);
119
+ usedHashesCache[hash] = usedHashesCache[hash] ? usedHashesCache[hash] + 1 : 1;
120
+ item._hash = hash + (usedHashesCache[hash] > 1 ? "_" + usedHashesCache[hash] : "");
121
+ item._ordinal = i;
122
+ }
123
+ }
124
+ /**
125
+ * Se l'Input è null (valore non settato) vede se c'è un default con cui valorizzarlo. Se non c'è utilizza il valore di fallback (qualora fornito)
126
+ *
127
+ * @param {T} inputValue Valore dell'Input
128
+ * @param {T} defaultValue Valore di default impostato da configurazione
129
+ * @param {T} fallbackValue Valore dell'Input per quando non è stato assegnato dal programmatore e non ha un default
130
+ */
131
+ InputOrDefault(inputValue, defaultValue, fallbackValue) {
132
+ // Input valorizzato dal programmatore
133
+ if (inputValue != null && inputValue != undefined)
134
+ return inputValue;
135
+ // Input valorizzato da configurazione globale
136
+ if (defaultValue != null && defaultValue != undefined)
137
+ return defaultValue;
138
+ //Input non valorizzato da niente e da nessuno
139
+ if (fallbackValue != null && fallbackValue != undefined)
140
+ return fallbackValue;
141
+ // I casi in cui si arriva qui sono i casi di Input che di default va bene che siano nulli e che nessuno si caga
142
+ return null;
143
+ }
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UtilitiesHandler, deps: [{ token: i1.HashingService }], target: i0.ɵɵFactoryTarget.Injectable }); }
145
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UtilitiesHandler, providedIn: 'root' }); }
146
+ }
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UtilitiesHandler, decorators: [{
148
+ type: Injectable,
149
+ args: [{ providedIn: 'root' }]
150
+ }], ctorParameters: () => [{ type: i1.HashingService }] });
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbGl0aWVzSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29yZS9oYW5kbGVycy9VdGlsaXRpZXNIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsMkNBQTJDO0FBRTNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFekIsMEJBQTBCO0lBQzFCLFlBQW9CLFFBQXdCO1FBQXhCLGFBQVEsR0FBUixRQUFRLENBQWdCO0lBQUksQ0FBQztJQUVqRDs7Ozs7Ozs7T0FRRztJQUNJLE9BQU8sQ0FBQyxLQUFZLEVBQUUsS0FBYTtRQUN0QyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFBQSxDQUFDO0lBRUY7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLEtBQVU7UUFDekIsS0FBTSxDQUFDLGtCQUFrQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDNUMsSUFBSSxhQUFhLEdBQTRDLEtBQU0sQ0FBQyxrQkFBbUIsQ0FBQztRQUN4RixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxD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QkFBZ0I7bUhBQWhCLGdCQUFnQixjQURILE1BQU07OzRGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vIExpYnJlcmllXHJcbmltcG9ydCB7IEhhc2hpbmdTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG4vKiogQ2xhc3NlIGRpIHV0aWxpdMOgIHBlciBsZSBjb3NlIGNvbXVuaSAqL1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVXRpbGl0aWVzSGFuZGxlciB7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgQ29zdHJ1dHRvcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaGFzaEV4dHM6IEhhc2hpbmdTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERhdGEgdW5hIGxpc3RhIGRpIG9nZ2V0dGkgZWZmZXR0dWEgZGVpIHJhZ2dydXBwYW1lbnRpIGluIGJhc2UgYWxsYSBwcm9wcmlldMOgICoqZmllbGQqKiwgXHJcbiAgICAgKiByZXN0aXR1ZW5kbyB1biBvZ2dldHRvIGRlbCB0aXBvIHsgR3J1cHBvMTogb2dnZXR0aVtdLCBHcnVwcG8yOiBvZ2dldHRpW10sIGVjYy4uLiB9XHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHthbnlbXX0gYXJyYXkgTGlzdGEgZGVnbGkgb2dnZXR0aSBkYSByYWdncnVwcGFyZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZpZWxkIENhbXBvIHN1IGN1aSBlZmZldHR1YXJlIGkgcmFnZ3J1cHBhbWVudGlcclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7eyBbaWQ6IHN0cmluZ106IGFueVtdIH19IERpemlvbmFyaW8gZGVpIGdydXBwaVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ3JvdXBCeShhcnJheTogYW55W10sIGZpZWxkOiBzdHJpbmcpOiB7IFtpZDogc3RyaW5nXTogYW55W107IH0ge1xyXG4gICAgICAgIGxldCByZXQgPSB7fTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCB4ID0gYXJyYXlbaV07XHJcbiAgICAgICAgICAgIChyZXRbeFtmaWVsZF1dID0gcmV0W3hbZmllbGRdXSB8fCBbXSkucHVzaCh4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIZWxwZXIgcGVyIGVmZmV0dHVhcmUgaWwgY2FjaGluZyBkZWxsZSBhZ2dyZWdhemlvbmkuIExlIHNwb3N0YSBkYSB1bmEgbGlzdGEgZGkgKipHcm91cEFnZ3JlZ2F0aW9uKiogYSB1bmEgKio8TWFwPHN0cmluZywgTWFwPHN0cmluZywgc3RyaW5nPj4qKlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7YW55fSBncm91cCBHcnVwcG8gZGkgY3VpIGNhY2hhcmUgbGUgYWdncmVnYXppb25pXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjYWNoZUFnZ3JlZ2F0aW9ucyhncm91cDogYW55KSB7XHJcbiAgICAgICAgKDxhbnk+Z3JvdXApLl9hZ2dyZWdhdGlvbnNDYWNoZSA9IG5ldyBNYXAoKTtcclxuICAgICAgICBsZXQgY2FzdGVkQWdDYWNoZSA9ICg8TWFwPHN0cmluZywgTWFwPHN0cmluZywgc3RyaW5nPj4+KDxhbnk+Z3JvdXApLl9hZ2dyZWdhdGlvbnNDYWNoZSk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncm91cC5hZ2dyZWdhdGlvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGFnZyA9IGdyb3VwLmFnZ3JlZ2F0aW9uc1tpXTtcclxuICAgICAgICAgICAgaWYgKGNhc3RlZEFnQ2FjaGUuaGFzKGFnZy5jb2x1bW4pKVxyXG4gICAgICAgICAgICAgICAgY2FzdGVkQWdDYWNoZS5nZXQoYWdnLmNvbHVtbikuc2V0KGFnZy5hZ2dyZWdhdGlvbiwgYWdnLnZhbHVlKTtcclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgdG1wOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xyXG4gICAgICAgICAgICAgICAgdG1wLnNldChhZ2cuYWdncmVnYXRpb24sIGFnZy52YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICBjYXN0ZWRBZ0NhY2hlLnNldChhZ2cuY29sdW1uLCB0bXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBIZWxwZXIgcGVyIHNwb3N0YXJlIHVuIG9nZ2V0dG8gZGkgdW4gYXJyYXkgZGEgdW4gaW5kaWNlIGFsbCdhbHRybywgaW4gcGxhY2UgKi9cclxuICAgIHB1YmxpYyBhcnJheU1vdmUoYXJyYXk6IGFueVtdLCBvbGRJOiBudW1iZXIsIG5ld0k6IG51bWJlcikge1xyXG4gICAgICAgIGlmIChuZXdJID4gYXJyYXkubGVuZ3RoIC0gMSB8fCBvbGRJID4gYXJyYXkubGVuZ3RoIC0gMSB8fCBuZXdJIDwgMCB8fCBvbGRJIDwgMClcclxuICAgICAgICAgICAgdGhyb3cgXCJHbGkgaW5kaWNpIHBhc3NhdGkgbm9uIGZhbm5vIHJpZmVyaW1lbnRvIGEgdW5hIHBvc2l6aW9uZSBkZWxsJ2FycmF5LiBMZW5ndGg6IFwiICsgYXJyYXkubGVuZ3RoICsgXCIgT2xkOlwiICsgb2xkSSArIFwiIE5ldzogXCIgKyBuZXdJO1xyXG5cclxuICAgICAgICBhcnJheS5zcGxpY2UobmV3SSwgMCwgYXJyYXkuc3BsaWNlKG9sZEksIDEpWzBdKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERhdGUgbGUgaW5mb3JtYXppb25pIGRpIHBhZ2luYXppb25lIG90dGllbmUgbCdhcnJheSBkZWkgcHVsc2FudGlcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4QnRucyBOdW1lcm8gbWFzc2ltbyBkaSBwdWxzYW50aSBkYSB2aXN1YWxpenphcmVcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBwYWdlIFBhZ2luYSBjb3JyZW50ZVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGxhc3RQYWdlIFVsdGltYSBwYWdpbmEgZGlzcG9uaWJpbGVcclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7YW55W119IFBzZXVkby1hcnJheSBkaSBwdWxzYW50aSBhIGN1aSBjaSBzaSBwdcOyIGJpbmRhcmUgbGF0byBIVE1MXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRQYWdlc0FycmF5KG1heEJ0bnM6IG51bWJlciwgcGFnZTogbnVtYmVyLCBsYXN0UGFnZTogbnVtYmVyLCBhY3R1YWxDb3VudDogbnVtYmVyID0gbnVsbCwgaXBwOiBudW1iZXIgPSBudWxsKTogeyB2YWw6IG51bWJlciwgY3NzQ2xhc3M6IHN0cmluZyB9W10ge1xyXG4gICAgICAgIGxldCByZXN1bHQ6IHsgdmFsOiBudW1iZXIsIGNzc0NsYXNzOiBzdHJpbmcgfVtdID0gW107XHJcblxyXG4gICAgICAgIC8vIFNlIHNvbm8gaW4gbW9kYWxpdMOgIFwiTnVtZXJvIGRpIHBhZ2luZSBlZCBvZ2dldHRpIHNjb25vc2NpdXRpXCIgZmFjY2lvIGluIG1vZG8gZGkgbW9zdHJhcmUgbGEgcGFnaW5hIHN1Y2Nlc3NpdmEgc29sbyBzZSBnbGkgaXRlbXMgZWZmZXR0aXZhbWVudGUgcGVydmVudXRpXHJcbiAgICAgICAgLy8gc29ubyB1Z3VhbGkgYWxsYSBwYWdpbmF6aW9uZSBhdHR1YWxlIChjaW/DqCBxdWVzdGEgcGFnaW5hIMOoIGRpIHNpY3VybyByaWVtcGl0YSBjb21wbGV0YW1lbnRlKVxyXG4gICAgICAgIGlmIChsYXN0UGFnZSA9PSAtMSAmJiAoKGFjdHVhbENvdW50ID09IG51bGwgJiYgaXBwID09IG51bGwpIHx8IChhY3R1YWxDb3VudCA9PSBpcHApKSlcclxuICAgICAgICAgICAgbGFzdFBhZ2UgPSBwYWdlICsgMTtcclxuXHJcbiAgICAgICAgLy8gU2Ugc29ubyBpbiBtb2RhbGl0w6AgXCJOdW1lcm8gZGkgcGFnaW5lIGVkIG9nZ2V0dGkgc2Nvbm9zY2l1dGlcIiBlIG1pIGFycml2YW5vIDAgb2dnZXR0aSBzaWduaWZpY2EgY2hlIGwndWx0aW1hIHBhZ2luYSDDqCBsYSBwcmVjZWRlbnRlIGUgbm9uIG1vc3RybyBwYWdpbmUgb2x0cmVcclxuICAgICAgICBpZiAobGFzdFBhZ2UgPT0gLTEgJiYgYWN0dWFsQ291bnQgPT0gMClcclxuICAgICAgICAgICAgbGFzdFBhZ2UgPSBwYWdlO1xyXG5cclxuICAgICAgICBsZXQgbWluOiBudW1iZXIsIG1heDogbnVtYmVyO1xyXG4gICAgICAgIGlmIChsYXN0UGFnZSA8PSBtYXhCdG5zKSB7XHJcbiAgICAgICAgICAgIG1pbiA9IDE7XHJcbiAgICAgICAgICAgIG1heCA9IGxhc3RQYWdlIC0gMTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyB0b2xnbyBsYSBwYWdpbmEgc2VsZWN0ZWQgw6ggbCd1bHRpbWEgcGFnaW5hIGNoZSDDqCBxdWVsbGEgZGVsbGUgcGFnaW5lIHRvdGFsaVxyXG4gICAgICAgICAgICBsZXQgcmFuZ2VPdXRzaWRlID0gKG1heEJ0bnMgLSAyKSAvIDI7XHJcblxyXG4gICAgICAgICAgICBtaW4gPSBwYWdlIC0gcmFuZ2VPdXRzaWRlO1xyXG4gICAgICAgICAgICBtYXggPSBwYWdlICsgcmFuZ2VPdXRzaWRlO1xyXG5cclxuICAgICAgICAgICAgaWYgKG1pbiA8IDEpIHtcclxuICAgICAgICAgICAgICAgIG1pbiA9IDE7XHJcbiAgICAgICAgICAgICAgICBtYXggPSBtYXhCdG5zIC0gMTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChtYXggPj0gbGFzdFBhZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1pbiA9IGxhc3RQYWdlIC0gbWF4QnRucyArIDE7XHJcbiAgICAgICAgICAgICAgICBtYXggPSBsYXN0UGFnZSAtIDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJlc3VsdC5wdXNoKHsgdmFsOiAxLCBjc3NDbGFzczogKDEgPT09IHBhZ2UgPyAnYnRuLW1haW4gYXBwLXdoaXRlLXRleHQnIDogJ2FwcC13aGl0ZS1idXR0b24nKSB9KTtcclxuXHJcbiAgICAgICAgaWYgKG1heCA+PSBtaW4pIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IG1pbjsgaSA8PSBtYXg7IGkrKylcclxuICAgICAgICAgICAgICAgIGlmIChpICE9PSAxKVxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHsgdmFsOiBpLCBjc3NDbGFzczogKGkgPT09IHBhZ2UgPyAnYnRuLW1haW4gYXBwLXdoaXRlLXRleHQnIDogJ2FwcC13aGl0ZS1idXR0b24nKSB9KTtcclxuXHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHsgdmFsOiBsYXN0UGFnZSwgY3NzQ2xhc3M6IChsYXN0UGFnZSA9PT0gcGFnZSA/ICdidG4tbWFpbiBhcHAtd2hpdGUtdGV4dCcgOiAnYXBwLXdoaXRlLWJ1dHRvbicpIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY29sYSBsJ2hhc2ggZGkgdW4gb2dnZXR0byBxdWFsc2lhc2lcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge2FueVtdfSBpdGVtcyBPZ2dldHRpIHBlciBjdWkgY2FsY29sYXJlIGwnaGFzaFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2FsY3VsYXRlSGFzaChpdGVtczogYW55W10pIHtcclxuICAgICAgICBpZiAoIWl0ZW1zKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIC8vIFN1cHBvcnRvIGEgaGFzaCBkdXBsaWNhdGkgZGkgb2dnZXR0aSB1Z3VhbGlcclxuICAgICAgICBsZXQgdXNlZEhhc2hlc0NhY2hlOiB7IFtpbmRleDogc3RyaW5nXTogbnVtYmVyOyB9ID0ge307XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgaXRlbSA9IGl0ZW1zW2ldO1xyXG5cclxuICAgICAgICAgICAgLy8gUHJpbWEgZGkgY2FsY29sYXJlIGwnaGFzaCByaW11b3ZvIGxlIHByb3ByaWV0w6AgaW50ZXJuZSBwZXIgZXZpdGFyZSBjaGUgbWkgc2NvbXBlbnNpbm8gaSBjYWxjb2xpIHN1Y2Nlc3NpdmlcclxuICAgICAgICAgICAgbGV0IHRtcCA9IE9iamVjdC5hc3NpZ24oe30sIGl0ZW1zW2ldKTtcclxuICAgICAgICAgICAgZGVsZXRlIHRtcC5fc2VsZWN0ZWQ7XHJcbiAgICAgICAgICAgIGRlbGV0ZSB0bXAuX3Zpc2libGU7XHJcbiAgICAgICAgICAgIGRlbGV0ZSB0bXAuX2hhc2g7XHJcbiAgICAgICAgICAgIGRlbGV0ZSB0bXAuX29yZGluYWw7XHJcbiAgICAgICAgICAgIGxldCBoYXNoID0gdGhpcy5oYXNoRXh0cy5oYXNoT2JqZWN0KHRtcCk7XHJcblxyXG4gICAgICAgICAgICB1c2VkSGFzaGVzQ2FjaGVbaGFzaF0gPSB1c2VkSGFzaGVzQ2FjaGVbaGFzaF0gPyB1c2VkSGFzaGVzQ2FjaGVbaGFzaF0gKyAxIDogMTtcclxuICAgICAgICAgICAgaXRlbS5faGFzaCA9IGhhc2ggKyAodXNlZEhhc2hlc0NhY2hlW2hhc2hdID4gMSA/IFwiX1wiICsgdXNlZEhhc2hlc0NhY2hlW2hhc2hdIDogXCJcIik7XHJcbiAgICAgICAgICAgIGl0ZW0uX29yZGluYWwgPSBpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICogU2UgbCdJbnB1dCDDqCBudWxsICh2YWxvcmUgbm9uIHNldHRhdG8pIHZlZGUgc2UgYyfDqCB1biBkZWZhdWx0IGNvbiBjdWkgdmFsb3JpenphcmxvLiBTZSBub24gYyfDqCB1dGlsaXp6YSBpbCB2YWxvcmUgZGkgZmFsbGJhY2sgKHF1YWxvcmEgZm9ybml0bylcclxuICAgICogXHJcbiAgICAqIEBwYXJhbSB7VH0gaW5wdXRWYWx1ZSBWYWxvcmUgZGVsbCdJbnB1dFxyXG4gICAgKiBAcGFyYW0ge1R9IGRlZmF1bHRWYWx1ZSBWYWxvcmUgZGkgZGVmYXVsdCBpbXBvc3RhdG8gZGEgY29uZmlndXJhemlvbmVcclxuICAgICogQHBhcmFtIHtUfSBmYWxsYmFja1ZhbHVlIFZhbG9yZSBkZWxsJ0lucHV0IHBlciBxdWFuZG8gbm9uIMOoIHN0YXRvIGFzc2VnbmF0byBkYWwgcHJvZ3JhbW1hdG9yZSBlIG5vbiBoYSB1biBkZWZhdWx0XHJcbiAgICAqL1xyXG4gICAgcHVibGljIElucHV0T3JEZWZhdWx0PFQ+KGlucHV0VmFsdWU6IFQsIGRlZmF1bHRWYWx1ZTogVCwgZmFsbGJhY2tWYWx1ZT86IFQpIHtcclxuXHJcbiAgICAgICAgLy8gSW5wdXQgdmFsb3JpenphdG8gZGFsIHByb2dyYW1tYXRvcmVcclxuICAgICAgICBpZiAoaW5wdXRWYWx1ZSAhPSBudWxsICYmIGlucHV0VmFsdWUgIT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICByZXR1cm4gaW5wdXRWYWx1ZTtcclxuXHJcbiAgICAgICAgLy8gSW5wdXQgdmFsb3JpenphdG8gZGEgY29uZmlndXJhemlvbmUgZ2xvYmFsZVxyXG4gICAgICAgIGlmIChkZWZhdWx0VmFsdWUgIT0gbnVsbCAmJiBkZWZhdWx0VmFsdWUgIT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG5cclxuICAgICAgICAvL0lucHV0IG5vbiB2YWxvcml6emF0byBkYSBuaWVudGUgZSBkYSBuZXNzdW5vXHJcbiAgICAgICAgaWYgKGZhbGxiYWNrVmFsdWUgIT0gbnVsbCAmJiBmYWxsYmFja1ZhbHVlICE9IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgcmV0dXJuIGZhbGxiYWNrVmFsdWU7XHJcblxyXG4gICAgICAgIC8vIEkgY2FzaSBpbiBjdWkgc2kgYXJyaXZhIHF1aSBzb25vIGkgY2FzaSBkaSBJbnB1dCBjaGUgZGkgZGVmYXVsdCB2YSBiZW5lIGNoZSBzaWFubyBudWxsaSBlIGNoZSBuZXNzdW5vIHNpIGNhZ2FcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,54 +1,54 @@
1
- import { Directive, Input, Self } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /** Direttiva per la dichiarazione snella di un EsTd da emettere per ogni elemento, data una colonna */
4
- export class EsTdDirective {
5
- /**
6
- * @ignore
7
- */
8
- constructor(Template) {
9
- this.Template = Template;
10
- /** Variabile interna che indica il fatto che questo componente è una direttiva. Serve per disambigualrlo dell'EsTdComponent */
11
- this._directive = true;
12
- /** Variabile interna che indica il fatto che questo template si riferisce a una proprietà multipla */
13
- this._multi = false;
14
- /** Indica se la cella è visibile o meno di default */
15
- this.tdVisible = true;
16
- /** Equivalente dell'NgIf sul td */
17
- this.tdIf = true;
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EsTdDirective, deps: [{ token: i0.TemplateRef, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
20
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EsTdDirective, selector: "[td]", inputs: { tdVisible: "tdVisible", td: "td", tdForProperty: "tdForProperty", tdIf: "tdIf", tdClass: "tdClass", tdPropertyAccessor: "tdPropertyAccessor", tdAlignment: "tdAlignment", tdFormat: "tdFormat", tdIconClass: "tdIconClass", tdConditionField: "tdConditionField", tdConditionValue: "tdConditionValue", tdTitle: "tdTitle", tdContent: "tdContent" }, ngImport: i0 }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EsTdDirective, decorators: [{
23
- type: Directive,
24
- args: [{ selector: '[td]' }]
25
- }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
26
- type: Self
27
- }] }]; }, propDecorators: { tdVisible: [{
28
- type: Input
29
- }], td: [{
30
- type: Input
31
- }], tdForProperty: [{
32
- type: Input
33
- }], tdIf: [{
34
- type: Input
35
- }], tdClass: [{
36
- type: Input
37
- }], tdPropertyAccessor: [{
38
- type: Input
39
- }], tdAlignment: [{
40
- type: Input
41
- }], tdFormat: [{
42
- type: Input
43
- }], tdIconClass: [{
44
- type: Input
45
- }], tdConditionField: [{
46
- type: Input
47
- }], tdConditionValue: [{
48
- type: Input
49
- }], tdTitle: [{
50
- type: Input
51
- }], tdContent: [{
52
- type: Input
53
- }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9kaXJlY3RpdmVzL2VzX3RkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBRXBFLHVHQUF1RztBQUV2RyxNQUFNLE9BQU8sYUFBYTtJQTZDdEI7O09BRUc7SUFDSCxZQUEyQixRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQTlDckQsK0hBQStIO1FBQ3hILGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFekIsc0dBQXNHO1FBQy9GLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFdEIsc0RBQXNEO1FBQzdDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFPMUIsbUNBQW1DO1FBQzFCLFNBQUksR0FBWSxJQUFJLENBQUM7SUErQjJCLENBQUM7K0dBaERqRCxhQUFhO21HQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFOzswQkFpRGQsSUFBSTs0Q0F2Q1IsU0FBUztzQkFBakIsS0FBSztnQkFFRyxFQUFFO3NCQUFWLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgU2VsZiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKiBEaXJldHRpdmEgcGVyIGxhIGRpY2hpYXJhemlvbmUgc25lbGxhIGRpIHVuIEVzVGQgZGEgZW1ldHRlcmUgcGVyIG9nbmkgZWxlbWVudG8sIGRhdGEgdW5hIGNvbG9ubmEgKi9cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3RkXScgfSlcclxuZXhwb3J0IGNsYXNzIEVzVGREaXJlY3RpdmUge1xyXG5cclxuICAgIC8qKiBWYXJpYWJpbGUgaW50ZXJuYSBjaGUgaW5kaWNhIGlsIGZhdHRvIGNoZSBxdWVzdG8gY29tcG9uZW50ZSDDqCB1bmEgZGlyZXR0aXZhLiBTZXJ2ZSBwZXIgZGlzYW1iaWd1YWxybG8gZGVsbCdFc1RkQ29tcG9uZW50ICovXHJcbiAgICBwdWJsaWMgX2RpcmVjdGl2ZSA9IHRydWU7XHJcblxyXG4gICAgLyoqIFZhcmlhYmlsZSBpbnRlcm5hIGNoZSBpbmRpY2EgaWwgZmF0dG8gY2hlIHF1ZXN0byB0ZW1wbGF0ZSBzaSByaWZlcmlzY2UgYSB1bmEgcHJvcHJpZXTDoCBtdWx0aXBsYSAqL1xyXG4gICAgcHVibGljIF9tdWx0aSA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgbGEgY2VsbGEgw6ggdmlzaWJpbGUgbyBtZW5vIGRpIGRlZmF1bHQgKi9cclxuICAgIEBJbnB1dCgpIHRkVmlzaWJsZSA9IHRydWU7XHJcbiAgICAvKiogSWQgZGVsbGEgY29sb25uYSwgZmEgcmlmZXJpbWVudG8gYWwgKip0aCoqIHBhZHJlICovXHJcbiAgICBASW5wdXQoKSB0ZDogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBTZSBxdWVzdG8gdGQgdmllbmUgdXNhdG8gY29tZSByZW5kZXJlciBpbiBxdWVzdGEgcHJvcHJpZXTDoCDDqCBzY3JpdHRvIGlsIG5vbWUgZGVsbGEgcHJvcHJpZXTDoCBkZWxsJ29nZ2V0dG8gYmluZGF0byBwZXIgY3VpIGZhcmUgYXBwYXJpcmUgaWwgKipUZW1wbGF0ZSoqICovXHJcbiAgICBASW5wdXQoKSB0ZEZvclByb3BlcnR5OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEVxdWl2YWxlbnRlIGRlbGwnTmdJZiBzdWwgdGQgKi9cclxuICAgIEBJbnB1dCgpIHRkSWY6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgLyoqIEV2ZW50dWFsaSBjbGFzc2kgZGEgYXBwbGljYXJlIGFsICoqdGQqKiBnZW5lcmF0byAqL1xyXG4gICAgQElucHV0KCkgdGRDbGFzczogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBJbiBtYW5jYW56YSBkaSAqKlRlbXBsYXRlKiogaW5kaWNhIHF1YWwgw6ggbGEgcHJvcHJpZXTDoCBkZWxsJ29nZ2V0dG8gY29udGVuZW50ZSBsZSBpbmZvcm1hemlvbmkgZGEgbW9zdHJhcmUgKi9cclxuICAgIEBJbnB1dCgpIHRkUHJvcGVydHlBY2Nlc3Nvcjogc3RyaW5nXHJcblxyXG4gICAgLyoqIEFsbGluZWFtZW50byBkZWkgdmFsb3JpIGRlbGxhIHRhYmVsbGEgKi9cclxuICAgIEBJbnB1dCgpIHRkQWxpZ25tZW50OiBcIkNlbnRlclwiIHwgXCJMZWZ0XCIgfCBcIlJpZ2h0XCI7XHJcblxyXG4gICAgLyoqIEZvcm1hdG8gZGEgYXBwbGljYXJlIGFsIHZhbG9yZSBzZSBhcHBsaWNhYmlsZSwgdXRpbGl6emFiaWxlIHNvbG8gc2UgKip0ZFByb3BlcnR5QWNjZXNzb3IqKiDDqCB2YWxvcml6emF0byAqL1xyXG4gICAgQElucHV0KCkgdGRGb3JtYXQ6IHN0cmluZztcclxuXHJcbiAgICAvKiogU2UgaWwgY29udGVudXRvIGRpIHF1ZXN0byB0ZCBkZXYnZXNzZXJlIHVuJ2ltbWFnaW5lIGNsaWNjYWJpbGUsIHF1ZXN0YSDDqCBsYSBjbGFzc2UgY2hlIGxhIGlkZW50aWZpY2EgKi9cclxuICAgIEBJbnB1dCgpIHRkSWNvbkNsYXNzOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIENhbXBvIGRhIGNvbnRyb2xsYXJlIHBlciBmYXJlIGFwcGFyaXJlL3NwYXJpcmUgaWwgY29udGVudXRvIGRpIHF1ZXN0YSBjZWxsYSBxdWFsb3JhIGZvc3NlIGRpdmVyc28gZGEgKip0ZENvbmRpdGlvblZhbHVlKiogKi9cclxuICAgIEBJbnB1dCgpIHRkQ29uZGl0aW9uRmllbGQ6IHN0cmluZztcclxuXHJcbiAgICAvKiogVmFsb3JlIGNoZSBkZXZlIGFzc3VtZXJlICoqdGRDb25kaXRpb25GaWVsZCoqIHBlciBtb3N0cmFyZSBpbCBjb250ZW51dG8gZGkgcXVlc3RhIGNlbGxhICovXHJcbiAgICBASW5wdXQoKSB0ZENvbmRpdGlvblZhbHVlOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIFRpdG9sbyBIVE1MIGRpIHF1ZXN0YSBjZWxsYSAqL1xyXG4gICAgQElucHV0KCkgdGRUaXRsZTogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBDb250ZW51dG8gc3RhdGljbyBkaSBxdWVzdGEgY2VsbGEgKi9cclxuICAgIEBJbnB1dCgpIHRkQ29udGVudDogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihAU2VsZigpIHB1YmxpYyBUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PikgeyB9XHJcbn1cclxuXHJcbiJdfQ==
1
+ import { Directive, Input, Self } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /** Direttiva per la dichiarazione snella di un EsTd da emettere per ogni elemento, data una colonna */
4
+ export class EsTdDirective {
5
+ /**
6
+ * @ignore
7
+ */
8
+ constructor(Template) {
9
+ this.Template = Template;
10
+ /** Variabile interna che indica il fatto che questo componente è una direttiva. Serve per disambigualrlo dell'EsTdComponent */
11
+ this._directive = true;
12
+ /** Variabile interna che indica il fatto che questo template si riferisce a una proprietà multipla */
13
+ this._multi = false;
14
+ /** Indica se la cella è visibile o meno di default */
15
+ this.tdVisible = true;
16
+ /** Equivalente dell'NgIf sul td */
17
+ this.tdIf = true;
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EsTdDirective, deps: [{ token: i0.TemplateRef, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: EsTdDirective, selector: "[td]", inputs: { tdVisible: "tdVisible", td: "td", tdForProperty: "tdForProperty", tdIf: "tdIf", tdClass: "tdClass", tdPropertyAccessor: "tdPropertyAccessor", tdAlignment: "tdAlignment", tdFormat: "tdFormat", tdIconClass: "tdIconClass", tdConditionField: "tdConditionField", tdConditionValue: "tdConditionValue", tdTitle: "tdTitle", tdContent: "tdContent" }, ngImport: i0 }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EsTdDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{ selector: '[td]' }]
25
+ }], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
26
+ type: Self
27
+ }] }], propDecorators: { tdVisible: [{
28
+ type: Input
29
+ }], td: [{
30
+ type: Input
31
+ }], tdForProperty: [{
32
+ type: Input
33
+ }], tdIf: [{
34
+ type: Input
35
+ }], tdClass: [{
36
+ type: Input
37
+ }], tdPropertyAccessor: [{
38
+ type: Input
39
+ }], tdAlignment: [{
40
+ type: Input
41
+ }], tdFormat: [{
42
+ type: Input
43
+ }], tdIconClass: [{
44
+ type: Input
45
+ }], tdConditionField: [{
46
+ type: Input
47
+ }], tdConditionValue: [{
48
+ type: Input
49
+ }], tdTitle: [{
50
+ type: Input
51
+ }], tdContent: [{
52
+ type: Input
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9kaXJlY3RpdmVzL2VzX3RkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBRXBFLHVHQUF1RztBQUV2RyxNQUFNLE9BQU8sYUFBYTtJQTZDdEI7O09BRUc7SUFDSCxZQUEyQixRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQTlDckQsK0hBQStIO1FBQ3hILGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFekIsc0dBQXNHO1FBQy9GLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFdEIsc0RBQXNEO1FBQzdDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFPMUIsbUNBQW1DO1FBQzFCLFNBQUksR0FBWSxJQUFJLENBQUM7SUErQjJCLENBQUM7K0dBaERqRCxhQUFhO21HQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFOzswQkFpRGQsSUFBSTt5Q0F2Q1IsU0FBUztzQkFBakIsS0FBSztnQkFFRyxFQUFFO3NCQUFWLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgU2VsZiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKiBEaXJldHRpdmEgcGVyIGxhIGRpY2hpYXJhemlvbmUgc25lbGxhIGRpIHVuIEVzVGQgZGEgZW1ldHRlcmUgcGVyIG9nbmkgZWxlbWVudG8sIGRhdGEgdW5hIGNvbG9ubmEgKi9cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3RkXScgfSlcclxuZXhwb3J0IGNsYXNzIEVzVGREaXJlY3RpdmUge1xyXG5cclxuICAgIC8qKiBWYXJpYWJpbGUgaW50ZXJuYSBjaGUgaW5kaWNhIGlsIGZhdHRvIGNoZSBxdWVzdG8gY29tcG9uZW50ZSDDqCB1bmEgZGlyZXR0aXZhLiBTZXJ2ZSBwZXIgZGlzYW1iaWd1YWxybG8gZGVsbCdFc1RkQ29tcG9uZW50ICovXHJcbiAgICBwdWJsaWMgX2RpcmVjdGl2ZSA9IHRydWU7XHJcblxyXG4gICAgLyoqIFZhcmlhYmlsZSBpbnRlcm5hIGNoZSBpbmRpY2EgaWwgZmF0dG8gY2hlIHF1ZXN0byB0ZW1wbGF0ZSBzaSByaWZlcmlzY2UgYSB1bmEgcHJvcHJpZXTDoCBtdWx0aXBsYSAqL1xyXG4gICAgcHVibGljIF9tdWx0aSA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgbGEgY2VsbGEgw6ggdmlzaWJpbGUgbyBtZW5vIGRpIGRlZmF1bHQgKi9cclxuICAgIEBJbnB1dCgpIHRkVmlzaWJsZSA9IHRydWU7XHJcbiAgICAvKiogSWQgZGVsbGEgY29sb25uYSwgZmEgcmlmZXJpbWVudG8gYWwgKip0aCoqIHBhZHJlICovXHJcbiAgICBASW5wdXQoKSB0ZDogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBTZSBxdWVzdG8gdGQgdmllbmUgdXNhdG8gY29tZSByZW5kZXJlciBpbiBxdWVzdGEgcHJvcHJpZXTDoCDDqCBzY3JpdHRvIGlsIG5vbWUgZGVsbGEgcHJvcHJpZXTDoCBkZWxsJ29nZ2V0dG8gYmluZGF0byBwZXIgY3VpIGZhcmUgYXBwYXJpcmUgaWwgKipUZW1wbGF0ZSoqICovXHJcbiAgICBASW5wdXQoKSB0ZEZvclByb3BlcnR5OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEVxdWl2YWxlbnRlIGRlbGwnTmdJZiBzdWwgdGQgKi9cclxuICAgIEBJbnB1dCgpIHRkSWY6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgLyoqIEV2ZW50dWFsaSBjbGFzc2kgZGEgYXBwbGljYXJlIGFsICoqdGQqKiBnZW5lcmF0byAqL1xyXG4gICAgQElucHV0KCkgdGRDbGFzczogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBJbiBtYW5jYW56YSBkaSAqKlRlbXBsYXRlKiogaW5kaWNhIHF1YWwgw6ggbGEgcHJvcHJpZXTDoCBkZWxsJ29nZ2V0dG8gY29udGVuZW50ZSBsZSBpbmZvcm1hemlvbmkgZGEgbW9zdHJhcmUgKi9cclxuICAgIEBJbnB1dCgpIHRkUHJvcGVydHlBY2Nlc3Nvcjogc3RyaW5nXHJcblxyXG4gICAgLyoqIEFsbGluZWFtZW50byBkZWkgdmFsb3JpIGRlbGxhIHRhYmVsbGEgKi9cclxuICAgIEBJbnB1dCgpIHRkQWxpZ25tZW50OiBcIkNlbnRlclwiIHwgXCJMZWZ0XCIgfCBcIlJpZ2h0XCI7XHJcblxyXG4gICAgLyoqIEZvcm1hdG8gZGEgYXBwbGljYXJlIGFsIHZhbG9yZSBzZSBhcHBsaWNhYmlsZSwgdXRpbGl6emFiaWxlIHNvbG8gc2UgKip0ZFByb3BlcnR5QWNjZXNzb3IqKiDDqCB2YWxvcml6emF0byAqL1xyXG4gICAgQElucHV0KCkgdGRGb3JtYXQ6IHN0cmluZztcclxuXHJcbiAgICAvKiogU2UgaWwgY29udGVudXRvIGRpIHF1ZXN0byB0ZCBkZXYnZXNzZXJlIHVuJ2ltbWFnaW5lIGNsaWNjYWJpbGUsIHF1ZXN0YSDDqCBsYSBjbGFzc2UgY2hlIGxhIGlkZW50aWZpY2EgKi9cclxuICAgIEBJbnB1dCgpIHRkSWNvbkNsYXNzOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIENhbXBvIGRhIGNvbnRyb2xsYXJlIHBlciBmYXJlIGFwcGFyaXJlL3NwYXJpcmUgaWwgY29udGVudXRvIGRpIHF1ZXN0YSBjZWxsYSBxdWFsb3JhIGZvc3NlIGRpdmVyc28gZGEgKip0ZENvbmRpdGlvblZhbHVlKiogKi9cclxuICAgIEBJbnB1dCgpIHRkQ29uZGl0aW9uRmllbGQ6IHN0cmluZztcclxuXHJcbiAgICAvKiogVmFsb3JlIGNoZSBkZXZlIGFzc3VtZXJlICoqdGRDb25kaXRpb25GaWVsZCoqIHBlciBtb3N0cmFyZSBpbCBjb250ZW51dG8gZGkgcXVlc3RhIGNlbGxhICovXHJcbiAgICBASW5wdXQoKSB0ZENvbmRpdGlvblZhbHVlOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIFRpdG9sbyBIVE1MIGRpIHF1ZXN0YSBjZWxsYSAqL1xyXG4gICAgQElucHV0KCkgdGRUaXRsZTogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBDb250ZW51dG8gc3RhdGljbyBkaSBxdWVzdGEgY2VsbGEgKi9cclxuICAgIEBJbnB1dCgpIHRkQ29udGVudDogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihAU2VsZigpIHB1YmxpYyBUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PikgeyB9XHJcbn1cclxuXHJcbiJdfQ==
@@ -1,24 +1,24 @@
1
- import { Directive, Input, Optional, Self } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /** Direttiva che rappresenta il template dell'editor di una cella all'interno della tabella */
4
- export class EsTdEditorDirective {
5
- /** @ignore */
6
- constructor(Template) {
7
- this.Template = Template;
8
- }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EsTdEditorDirective, deps: [{ token: i0.TemplateRef, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EsTdEditorDirective, selector: "[editor]", inputs: { editor: "editor", editorForProperty: "editorForProperty" }, ngImport: i0 }); }
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EsTdEditorDirective, decorators: [{
13
- type: Directive,
14
- args: [{ selector: '[editor]' }]
15
- }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
16
- type: Self
17
- }, {
18
- type: Optional
19
- }] }]; }, propDecorators: { editor: [{
20
- type: Input
21
- }], editorForProperty: [{
22
- type: Input
23
- }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGRfZWRpdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvZGlyZWN0aXZlcy9lc190ZF9lZGl0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBRTlFLCtGQUErRjtBQUUvRixNQUFNLE9BQU8sbUJBQW1CO0lBUTVCLGNBQWM7SUFDZCxZQUF1QyxRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUFJLENBQUM7K0dBVDdELG1CQUFtQjttR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTs7MEJBVWxCLElBQUk7OzBCQUFJLFFBQVE7NENBTnBCLE1BQU07c0JBQWQsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPcHRpb25hbCwgU2VsZiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKiBEaXJldHRpdmEgY2hlIHJhcHByZXNlbnRhIGlsIHRlbXBsYXRlIGRlbGwnZWRpdG9yIGRpIHVuYSBjZWxsYSBhbGwnaW50ZXJubyBkZWxsYSB0YWJlbGxhICovXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tlZGl0b3JdJyB9KVxyXG5leHBvcnQgY2xhc3MgRXNUZEVkaXRvckRpcmVjdGl2ZSB7XHJcblxyXG4gICAgLyoqIElkIGRlbGwnRWRpdG9yICovXHJcbiAgICBASW5wdXQoKSBlZGl0b3I6IHN0cmluZztcclxuICAgIFxyXG4gICAgLyoqIEluIHF1ZXN0YSBwcm9wcmlldMOgIMOoIHNjcml0dG8gaWwgbm9tZSBkZWxsYSBwcm9wcmlldMOgIGRlbGwnb2dnZXR0byBiaW5kYXRvIHBlciBjdWkgZmFyZSBhcHBhcmlyZSBpbCAqKlRlbXBsYXRlKiogKi9cclxuICAgIEBJbnB1dCgpIGVkaXRvckZvclByb3BlcnR5OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7IH1cclxufVxyXG4iXX0=
1
+ import { Directive, Input, Optional, Self } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /** Direttiva che rappresenta il template dell'editor di una cella all'interno della tabella */
4
+ export class EsTdEditorDirective {
5
+ /** @ignore */
6
+ constructor(Template) {
7
+ this.Template = Template;
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EsTdEditorDirective, deps: [{ token: i0.TemplateRef, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: EsTdEditorDirective, selector: "[editor]", inputs: { editor: "editor", editorForProperty: "editorForProperty" }, ngImport: i0 }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EsTdEditorDirective, decorators: [{
13
+ type: Directive,
14
+ args: [{ selector: '[editor]' }]
15
+ }], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
16
+ type: Self
17
+ }, {
18
+ type: Optional
19
+ }] }], propDecorators: { editor: [{
20
+ type: Input
21
+ }], editorForProperty: [{
22
+ type: Input
23
+ }] } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGRfZWRpdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvZGlyZWN0aXZlcy9lc190ZF9lZGl0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBRTlFLCtGQUErRjtBQUUvRixNQUFNLE9BQU8sbUJBQW1CO0lBUTVCLGNBQWM7SUFDZCxZQUF1QyxRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUFJLENBQUM7K0dBVDdELG1CQUFtQjttR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTs7MEJBVWxCLElBQUk7OzBCQUFJLFFBQVE7eUNBTnBCLE1BQU07c0JBQWQsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPcHRpb25hbCwgU2VsZiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKiBEaXJldHRpdmEgY2hlIHJhcHByZXNlbnRhIGlsIHRlbXBsYXRlIGRlbGwnZWRpdG9yIGRpIHVuYSBjZWxsYSBhbGwnaW50ZXJubyBkZWxsYSB0YWJlbGxhICovXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tlZGl0b3JdJyB9KVxyXG5leHBvcnQgY2xhc3MgRXNUZEVkaXRvckRpcmVjdGl2ZSB7XHJcblxyXG4gICAgLyoqIElkIGRlbGwnRWRpdG9yICovXHJcbiAgICBASW5wdXQoKSBlZGl0b3I6IHN0cmluZztcclxuICAgIFxyXG4gICAgLyoqIEluIHF1ZXN0YSBwcm9wcmlldMOgIMOoIHNjcml0dG8gaWwgbm9tZSBkZWxsYSBwcm9wcmlldMOgIGRlbGwnb2dnZXR0byBiaW5kYXRvIHBlciBjdWkgZmFyZSBhcHBhcmlyZSBpbCAqKlRlbXBsYXRlKiogKi9cclxuICAgIEBJbnB1dCgpIGVkaXRvckZvclByb3BlcnR5OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7IH1cclxufVxyXG4iXX0=