@esfaenza/es-table 19.2.47 → 20.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 (63) hide show
  1. package/fesm2022/esfaenza-es-table.mjs +208 -208
  2. package/fesm2022/esfaenza-es-table.mjs.map +1 -1
  3. package/index.d.ts +2581 -3
  4. package/package.json +4 -4
  5. package/lib/components/es-table/es_table.component.d.ts +0 -774
  6. package/lib/components/es-table/es_table.component.loc.d.ts +0 -10
  7. package/lib/components/es-td/es_td.component.d.ts +0 -26
  8. package/lib/components/es-th/es_th.component.d.ts +0 -94
  9. package/lib/components/pager/table_pager.component.d.ts +0 -57
  10. package/lib/components/pager/table_pager.component.loc.d.ts +0 -10
  11. package/lib/components/pipes/est-format.pipe.d.ts +0 -10
  12. package/lib/components/pipes/est-lookup.pipe.d.ts +0 -13
  13. package/lib/components/pipes/est-propinsensitive.pipe.d.ts +0 -7
  14. package/lib/components/pipes/est-renderer.pipe.d.ts +0 -15
  15. package/lib/components/pipes/est-routerlink.pipe.d.ts +0 -20
  16. package/lib/components/pipes/est_editor.pipe.d.ts +0 -15
  17. package/lib/core/CopyPasteDetector.d.ts +0 -15
  18. package/lib/core/Logger.d.ts +0 -10
  19. package/lib/core/handlers/ColumnMetadataHandler.d.ts +0 -188
  20. package/lib/core/handlers/DynamicModeHandler.d.ts +0 -22
  21. package/lib/core/handlers/ExportHandler.d.ts +0 -19
  22. package/lib/core/handlers/HierarchyModeHandler.d.ts +0 -41
  23. package/lib/core/handlers/ItemsHandler.d.ts +0 -35
  24. package/lib/core/handlers/ReportModeHandler.d.ts +0 -27
  25. package/lib/core/handlers/RowGroupingHandler.d.ts +0 -118
  26. package/lib/core/handlers/SelectionHandler.d.ts +0 -230
  27. package/lib/core/handlers/UtilitiesHandler.d.ts +0 -57
  28. package/lib/directives/es_td.directive.d.ts +0 -42
  29. package/lib/directives/es_td_editor.directive.d.ts +0 -14
  30. package/lib/directives/es_th.directive.d.ts +0 -106
  31. package/lib/directives/es_th_td_provider.directive.d.ts +0 -15
  32. package/lib/domain/configuration/EsTableDefaultable.d.ts +0 -21
  33. package/lib/domain/configuration/EsTableModuleConfig.d.ts +0 -10
  34. package/lib/domain/externals/CornerMenuOption.d.ts +0 -7
  35. package/lib/domain/externals/EsTableColumnsDefinition.d.ts +0 -55
  36. package/lib/domain/externals/EsTableModelChange.d.ts +0 -17
  37. package/lib/domain/externals/EsTableOperationDefinition.d.ts +0 -20
  38. package/lib/domain/externals/ItemPropEditableReference.d.ts +0 -34
  39. package/lib/domain/externals/appsearch/AppOrdering.d.ts +0 -14
  40. package/lib/domain/externals/appsearch/AppSearch.d.ts +0 -100
  41. package/lib/domain/externals/appsearch/EsTableMultiValue.d.ts +0 -22
  42. package/lib/domain/externals/appsearch/GenericItem.d.ts +0 -13
  43. package/lib/domain/externals/appsearch/Group.d.ts +0 -17
  44. package/lib/domain/externals/appsearch/GroupAggregation.d.ts +0 -14
  45. package/lib/domain/externals/appsearch/GroupFilter.d.ts +0 -12
  46. package/lib/domain/externals/appsearch/GroupOrAggregation.d.ts +0 -14
  47. package/lib/domain/externals/appsearch/ItemsSelection.d.ts +0 -22
  48. package/lib/domain/externals/report/ReportColumn.d.ts +0 -19
  49. package/lib/domain/externals/report/ReportParam.d.ts +0 -40
  50. package/lib/domain/externals/report/ReportRow.d.ts +0 -9
  51. package/lib/domain/internals/CacheTriptic.d.ts +0 -14
  52. package/lib/domain/internals/EsTableColumn.d.ts +0 -41
  53. package/lib/domain/internals/GroupPager.d.ts +0 -26
  54. package/lib/domain/internals/GroupRouteFragment.d.ts +0 -15
  55. package/lib/domain/internals/PagerInfos.d.ts +0 -13
  56. package/lib/domain/internals/TdElement.d.ts +0 -59
  57. package/lib/domain/internals/ThAggregation.d.ts +0 -14
  58. package/lib/domain/internals/ThElement.d.ts +0 -24
  59. package/lib/domain/internals/ThGroup.d.ts +0 -10
  60. package/lib/domain/types.d.ts +0 -2
  61. package/lib/es-table.module.d.ts +0 -35
  62. package/lib/tokens.d.ts +0 -8
  63. package/public-api.d.ts +0 -28
@@ -1,27 +0,0 @@
1
- import { UtilitiesHandler } from "./UtilitiesHandler";
2
- import { EsTableComponent } from "../../components/es-table/es_table.component";
3
- import { EsThDirective } from "../../directives/es_th.directive";
4
- import { EsTdDirective } from "../../directives/es_td.directive";
5
- import { AppSearch } from "../../domain/externals/appsearch/AppSearch";
6
- /** Classe che gestisce la modalità Report dell'es-table utilizzata nel Metering */
7
- export declare class ReportModeHandler {
8
- private est;
9
- private utilities;
10
- /** @ignore Costruttore */
11
- constructor(est: EsTableComponent, utilities: UtilitiesHandler);
12
- /** Metodo che si occupa di gestire la grafica della tabella in base alle informazioni di ordinamento colonne e paginazione contenuti nel modello */
13
- reviewReportBindings(): void;
14
- /**
15
- * Data una AppSearch questo metodo genera la lista di th e td che si possono collegare al giro standard.
16
- * Se non ci fosse questo passaggio intermedio la gestione della modalità report sarebbe 100% custom,
17
- * come poi lo era prima che la facessi passare dal giro che fanno tutte le altre modalità
18
- *
19
- * @param {AppSearch<any>} view View in modalità report contenente le informazioni sulle colonne
20
- *
21
- * @returns {{ ths: EsThDirective[], tds: EsTdDirective[] }} Lista di direttive per gli header e per il body
22
- */
23
- generateThsAndTdsFromView(view: AppSearch<any>): {
24
- ths: EsThDirective[];
25
- tds: EsTdDirective[];
26
- };
27
- }
@@ -1,118 +0,0 @@
1
- import { DateService } from "@esfaenza/extensions";
2
- import { EsThDirective } from "../../directives/es_th.directive";
3
- import { EsTableComponent } from "../../components/es-table/es_table.component";
4
- import { AppOrdering } from "../../domain/externals/appsearch/AppOrdering";
5
- import { AppSearch } from "../../domain/externals/appsearch/AppSearch";
6
- import { Group } from "../../domain/externals/appsearch/Group";
7
- import { GroupOrAggregation } from "../../domain/externals/appsearch/GroupOrAggregation";
8
- import { GroupPager } from "../../domain/internals/GroupPager";
9
- import { GroupRouteFragment } from "../../domain/internals/GroupRouteFragment";
10
- import { UtilitiesHandler } from "./UtilitiesHandler";
11
- /** Classe che gestisce la modalità Row Grouping dell'es-table */
12
- export declare class RowGroupingHandler {
13
- private est;
14
- private utilities;
15
- private dateExts;
16
- /** Cache per salvare per ogni chiave di ogni gruppo chi è il gruppo rappresentato */
17
- rgGroupCache: Map<string, Group>;
18
- /** Cache per salvare per ogni chiave di ogni gruppo chi sono gli oggetti sottostanti, non dei sottogruppi */
19
- rgItemCache: Map<string, any[]>;
20
- /** Cache per salvare per ogni chiave di ogni gruppo chi sono gli oggetti sottostanti, non dei sottogruppi */
21
- rgChildGroupsCache: Map<string, Group[]>;
22
- /** @ignore Costruttore */
23
- constructor(est: EsTableComponent, utilities: UtilitiesHandler, dateExts: DateService);
24
- /**
25
- * In modalità rowgrouping quando mi arriva un nuovo blocco di oggetti devo aggiungerlo alla vista attuale:
26
- *
27
- * 1) Se non viene richiesto il dettaglio di alcun gruppo significa che devo considerare mi siano arrivati tutti i gruppi principali
28
- * 2) Se viene richiesto il dettaglio di un gruppo diverso dall'ultimo devo aggiungere dopo al gruppo cliccato la lista dei sottogruppi
29
- * 2) Se viene richiesto il dettaglio dell'ultimo gruppo devo aggiungere dopo al gruppo cliccato la lista degli oggetti
30
- *
31
- * @param {any} view AppSearch<T> da cui sono arrivati gli oggetti
32
- * @param {number} groupingKeys Livelli di raggruppamento da aspettarsi sui dati
33
- */
34
- handleNewDataOnRowGrouping(view: AppSearch<any>, groupingKeys: number): void;
35
- /**
36
- * Se in modalità array applica i raggruppamenti definiti lato row-grouping
37
- *
38
- * @param {ths: EsThDirective[]} ths Header
39
- */
40
- arrayModeReviewGroupings(ths: EsThDirective[]): void;
41
- /**
42
- * Data una direttiva EsTh restituisce la lista delle aggregazioni richiesta per questa colonna o il gruppo che rappresenta
43
- *
44
- * @param {EsThDirective} th Direttiva
45
- *
46
- * @returns {GroupOrAggregation[]} Lista dei gruppi o aggregazioni relativi alla Direttiva passata
47
- */
48
- getGroupAggregations(th: EsThDirective): GroupOrAggregation[];
49
- /**
50
- * Data una direttiva con un formato restituisce tutte le coppie Funzione di Aggregazione - Formato
51
- *
52
- * @param {EsThDirective} th Direttiva EsTh di cui calcolare le funzioni di aggregazione usate
53
- *
54
- * @returns {{ func: string, format: string }[]} Lista delle funzioni di aggregazione rilevate
55
- */
56
- private getEsThDirectiveListOfAggregations;
57
- /**
58
- * Data la definizione dei gruppi da generare da una lista di oggetti, suddivide gli oggetti passati in gruppi e sottogruppi
59
- *
60
- * @param {Group[]} grps Definizione dei gruppi
61
- * @param {number} currentIndex Indice di elaborazione. Al livello 0 ho tutti gli oggetti e devo generare i primi gruppi, a livello 1 ho tutti i gruppi principali e devo
62
- * elaborare i sottogruppi, e così via ricorsivamente...
63
- * @param {any[]} items Oggetti da raggruppare
64
- * @param {GroupOrAggregation[]} aggregations Info di aggregazione
65
- * @param {any} parent Riferimento al gruppo padre
66
- */
67
- private getGroupsRecursive;
68
- /**
69
- * Data una lista di oggetti genera le aggregazioni specificate. Si considera di avere tutti gli oggetti
70
- *
71
- * @param {any[]} items Oggetti di cui calcolare le aggregazione
72
- * @param {GroupOrAggregation[]} aggregations Aggergazioni da generare
73
- */
74
- private generateAggregations;
75
- /**
76
- * Ottiene un elemento di separazione fra Gruppi che serve per paginare le ricerche all'interno di ogni singolo gruppo
77
- *
78
- * @param {AppSearch<any>} view View utilizzata per la ricerca. Me ne salvo i parametri nel separatore attuale dato che ne ho bisogno per caricare altri elementi
79
- * facenti riferimento allo stesso contesto
80
- * @param {string} parent Parent path che rappresenta a quale gruppo è affibbiato questo separatore
81
- * @param {GroupRouteFragment[]} route Route path che rappresenta a quale gruppo è affibbiato questo separatore
82
- * @param {number} level Livello del gruppo di cui questo elemento è separatore, viene usato per applicare la classe "est-lvl-{{level}}"
83
- *
84
- * @returns {any} Elemento di separazione contenente tutti i bind per presentare una paginazione sotto questo gruppo lato interfaccia
85
- */
86
- getGroupSeparator(view: AppSearch<any>, parent: string, route: GroupRouteFragment[], level: number, searches: 'groups' | 'items'): GroupPager;
87
- /**
88
- * Data una colonna effettua la riemissione di tutte le ricerche relative.
89
- *
90
- * Es. Ho 2 campi di gruppo e ho espanso fino a vedere i valori fino ad un livello qualsiasi.
91
- * Clicco l'ordinamento sul secondo gruppo.
92
- * Tutte le ricerche relative ai primi gruppi devono essere rieseguite. Quando i risultati arriveranno ci penserà il metodo **bindDisplayToLoadedItemsOrGroups**
93
- * a tagliare via gli oggetti non più visualizzati
94
- *
95
- * @param {string} column Colonna su cui si è effettuata un'operazione di ordinamento
96
- * @param {AppOrdering[]} orderings Direttive di ordinamento da applicare alle varie sottoricerche
97
- */
98
- emitRowGroupingSearches(column: string, orderings: AppOrdering[]): void;
99
- /**
100
- * Helper che calcola il contenuto di una cella relativa a un gruppo riga, tenendo conto del formato delle eventuali aggregazioni
101
- *
102
- * @param {Group} grp Gruppo di cui mostrare le celle
103
- * @param {string} cell Cella attuale di cui calcolare il testo
104
- * @param {EsThDirective} header Header relativo alla cella attuale, utilizzata per identificare le informazioni di aggregazione
105
- *
106
- * @returns {string} Testo finale calcolato per la **cell** corrente, in base alle aggregazioni di **header**
107
- */
108
- getGroupCellDisplay(grp: Group, cell: string, header: EsThDirective): string;
109
- /**
110
- * Funzione che dato un valore lo formatta in base al tipo
111
- *
112
- * @param {string} value Valore che generalemnte può essere una data o un numero
113
- * @param {string} fromat Formato su cui formattare il valore. Può essere ad esempio "small", "long" "verylong" per le date o F{0-9} per i numeri decimali
114
- *
115
- * @returns {string} Valore dell'aggregazione formattato come si deve
116
- */
117
- private formatAggregationValue;
118
- }
@@ -1,230 +0,0 @@
1
- import { ItemsSelection } from "../../domain/externals/appsearch/ItemsSelection";
2
- import { ItemPropEditableReference } from "../../domain/externals/ItemPropEditableReference";
3
- import { EsTableColumnsDefinition } from "../../domain/externals/EsTableColumnsDefinition";
4
- import { InputType } from '../../domain/types';
5
- import { EsTableComponent } from "../../components/es-table/es_table.component";
6
- import { EsThDirective } from "../../directives/es_th.directive";
7
- import { RowGroupingHandler } from "./RowGroupingHandler";
8
- /** Classe che gestisce le selezioni degli oggetti */
9
- export declare class SelectionHandler {
10
- private est;
11
- private rgHandler;
12
- /** Cache di selezione Hash - Oggetto per la variabile **items** dell'itemSelector. Facilita le operazioni di lookup via hash*/
13
- private itemsCache;
14
- /** Cache di selezione Hash - Oggetto per la variabile **groups** dell'itemSelector. Facilita le operazioni di lookup via hash */
15
- private groupsCache;
16
- /** Cache di selezione Hash - Oggetto per la variabile **exclusions** dell'itemSelector. Facilita le operazioni di lookup via hash */
17
- private exclusionsCache;
18
- /** Cache di selezione Hash - Oggetto per la variabile **group_exclusions** dell'itemSelector. Facilita le operazioni di lookup via hash */
19
- private group_exclusionsCache;
20
- /** Cache di selezione Hash - Oggetto per la variabile **items** dell'itemSelector. Facilita le operazioni di lookup via indice*/
21
- private i_itemsCache;
22
- /** Cache di selezione Hash - Oggetto per la variabile **groups** dell'itemSelector. Facilita le operazioni di lookup via indice */
23
- private i_groupsCache;
24
- /** Cache di selezione Hash - Oggetto per la variabile **exclusions** dell'itemSelector. Facilita le operazioni di lookup via indice */
25
- private i_exclusionsCache;
26
- /** Cache di selezione Hash - Oggetto per la variabile **group_exclusions** dell'itemSelector. Facilita le operazioni di lookup via indice */
27
- private i_group_exclusionsCache;
28
- /** Ultima cella selezionata singolarmente */
29
- private lastSingleSelection;
30
- /** @ignore Costruttore */
31
- constructor(est: EsTableComponent, rgHandler: RowGroupingHandler);
32
- /** Ripulisce le cache di selezione */
33
- clearSelectionCaches(): void;
34
- /**
35
- * Valuta quali elementi devono essere marcati come selezionati nella vista attuale. Si basa sull'oggetto **selection** interno all'AppSearch
36
- *
37
- * @param {any[]} items Oggetti di cui valutare la selezione
38
- * @param {ItemsSelection<any>} selectionItem Oggetti di selezione derivante dalla view o dall'oggetto per Array
39
- */
40
- evaluateSelection(items: any[], selectionItem: ItemsSelection<any>): void;
41
- /**
42
- * Precompila le informazioni sullo stato di selezione tutto a false per le celle della tabella
43
- *
44
- * @param {any[]} items Oggetti attualmente bindati sulla tabella
45
- * @param {EsThDirective[]} ths Colonne su cui gli oggetti sono bindati
46
- */
47
- evaluateSingleCellSelection(items: any[], ths: EsThDirective[], dyn: EsTableColumnsDefinition[]): void;
48
- /** @ignore */
49
- private fillSelectionStatusByDynamicColumns;
50
- /** @ignore */
51
- private fillSelectionStatusByEsThs;
52
- /**
53
- * Implementazione agnostica della valutazione delle selezioni degli oggetti. Richiede gli oggetti della vista attuale e l'itemSelector
54
- *
55
- * @param {any[]} items Oggetti di cui aggiornare lo stato di selezione
56
- * @param {ItemsSelection<any>} selectionItem Oggetto contenente lo stato attuale di selezione
57
- */
58
- private handleSelectionEvaluation;
59
- /**
60
- * Dato un oggetto trova la cella di cache in cui è registrato e aggiorna il contenuto
61
- *
62
- * @param {any} item Oggetto da aggiornare
63
- */
64
- private rehidrateCache;
65
- /**
66
- * Dato un gruppo controlla ricorsivamente l'albero di cui fa parte se c'è stata una inclusione o esclusione diretta
67
- *
68
- * @param {any} grp Gruppo da controllare
69
- *
70
- * @returns {'none' | 'excluded' | 'included'}
71
- * 'none' se non ci sono informazioni su inclusioni o esclusioni
72
- * 'included' se il gruppo controllato è stato incluso in maniera esplicita dall'albero dei gruppi padri
73
- * 'excluded' se il gruppo controllato è stato escluso in maniera esplicita dall'albero dei gruppi padri
74
- */
75
- private parentTreeStatus;
76
- /**
77
- * Helper per gestire la selezione di N elementi utilizzando la Cache di selezione ed eventualmente aggiornando il concetto di "all selection"
78
- *
79
- * Vunziona sia in modalità Array che in modalità View Semplice o View Avanzata (con le Custom Cells)
80
- *
81
- * @param {any[]} items Oggetti da selezionare o deselezionare
82
- * @param {boolean} forcedVal Valore forzato di check da assegnare agli oggetti
83
- * @param {boolean} globalCheck Valore del check globale
84
- *
85
- * @returns {ItemsSelection<any>} Oggetto di selezione aggiornato con le informazioni sull'ultima operazione effettuata
86
- */
87
- handleItemsSelection(items: any[], forcedVal?: boolean, globalCheck?: boolean): ItemsSelection<any>;
88
- /**
89
- * Dato L'oggetto di selezione, l'oggetto da selezionare/deselezionare e tutti i parametri del caso effettua le operazioni che servono.
90
- *
91
- * Logica semplificata rispetto all'originale **performSelectionOperations** per lavorare in una modalità in cui tutti gli elementi sono caricati (**ArrayGrouping()** = true)
92
- */
93
- private performSimpleSelectionOperations;
94
- /**
95
- * Helper per selezionare un gruppo e, ricorsivamente, se tutti i gruppi sottostanti al parent sono selezionati, selezionare i gruppi padri
96
- *
97
- * @param {any} group Gruppo da selezionare
98
- */
99
- private selectGroup;
100
- /**
101
- * Dato L'oggetto di selezione, l'oggetto da selezionare/deselezionare e tutti i parametri del caso effettua le operazioni che servono.
102
- *
103
- * La logica di questa funzione è nata essenzialmente da spam di trial & error ed è stata testata solo fino a due livelli di raggruppamento,
104
- * qualsiasi cosa vada oltre non è 100% detto che funzioni...
105
- */
106
- private performSelectionOperations;
107
- /** Helper per evitare di riscrivere ogni santa volta array.splice(array.indexof(item), 1); */
108
- private removeItem;
109
- /** Helper per evitare di riscrivere ogni santa volta array.push(item); e la gestione della */
110
- private addItem;
111
- /**
112
- * Ottiene il trittico di selezione, cioè l'array degli oggetti che si vuole manipolare e le due cache collegate ad esso
113
- *
114
- * @param {'group' | 'item' | 'group_exclusion' | 'exclusion'} subject Oggetto logico desiderato su cui effettuare le operazioni successive
115
- * @param {ItemsSelection<any>} base Selettore di base
116
- *
117
- * @returns {CacheTriptic} Trittico di selezione
118
- */
119
- private getTriptic;
120
- /**
121
- * Dato un oggetto restituisce il gruppo di cui fa parte, se esiste
122
- *
123
- * @param {any} item Oggetto di cui trovare il gruppo
124
- */
125
- private getItemGroup;
126
- /**
127
- * Data la chiave di un gruppo restituisce tutti gli oggetti con quella chiave
128
- *
129
- * @param {any} group Chiave da cercare
130
- * @param {'selected' | 'unselected'} status Stato degli elementi, selezionati o no
131
- * @param {boolean} recursive Indica se cercare solo gli elementi direttamente collegati o se prendere anche quelli dei gruppi figli
132
- *
133
- * @returns {any[]} Oggetti di tipo **_item** facenti capo alla chiave **groupKey**
134
- */
135
- private getGroupItems;
136
- /**
137
- * Data la chiave di un gruppo restituisce tutti gli oggetti con quella chiave
138
- *
139
- * @param {any} group Gruppo di cui cercare il parent
140
- *
141
- * @returns {any} Oggetto di tipo **_group** rappresentante il parent del **group** attuale
142
- */
143
- private getGroupParent;
144
- /**
145
- * Data la chiave di un gruppo restituisce tutti i gruppi figli
146
- *
147
- * @param {string} group Gruppo che rappresenta il padre di cui cercare i figli
148
- * @param {'selected' | 'unselected'} status Stato dei gruppi, selezionati o no
149
- * @param {boolean} recursive Indica se cercare solo i gruppi direttamente collegati o se prendere anche quelli dei gruppi figli
150
- *
151
- * @returns {any[]} Oggetti di tipo **_group** facenti capo alla chiave **groupKey**
152
- */
153
- private getGroupChildGroups;
154
- /** Finalizza le informazioni di selezione del **ItemsSelection** corrente */
155
- private finalizeSelectionInformations;
156
- /** Compatta una cache di indici */
157
- private compactIndexMap;
158
- /**
159
- * Valuta la quantità di oggetti che sono stati selezionati al termine di un evento di selezione
160
- *
161
- * @returns {number} Numero di oggetti selezionati
162
- */
163
- private evaluateSelected;
164
- /** Gestisce il comando di "Seleziona tutto in tutte le pagine" o il suo contrario, cioè "Reimposta selezione" */
165
- selectAllOrResetSelection(): void;
166
- /**
167
- * @TODO Spostare in SelectionHandler
168
- *
169
- * Registra la selezione singola su una cella sulla combo di comandi "CTRL + Click".
170
- * Se viene premuto anche il tasto Shift viene creato un range di selezione il cui status di "selezionato" viene salvato nella
171
- * matrice virtuale **selectionStatus**
172
- *
173
- * @param {any} event Evento Javascript di Click
174
- * @param {number} row Indice della riga. Non è l'indice vero e proprio ma è l'ordinale (.ordinal) dell'oggetto bindato su quella riga
175
- * @param {number} column Indice della colonna preso banalmente dall'ngIf sui thElement
176
- * @param {{ row: number, column: number }} firstSelectionOverride Permette di overridare il primo elemento selezionato
177
- */
178
- singleCellSelection(event: {
179
- view: any;
180
- range: boolean;
181
- }, row: number, column: number, firstSelectionOverride?: {
182
- row: number;
183
- column: number;
184
- }): void;
185
- setSelectionStatusBorders(from: {
186
- row: number;
187
- column: number;
188
- }, to: {
189
- row: number;
190
- column: number;
191
- }): void;
192
- /**
193
- * Helper per ripulire lo stato di selezione delle singole celle della tabella, ad esclusione di una singola coordinata
194
- *
195
- * @param {{row: number, column: number}} exclusion Coordinata da escludere nella pulizia
196
- */
197
- clearSelectionStatusExcluding(exclusion?: {
198
- row: number;
199
- column: number;
200
- }): void;
201
- /**
202
- * Helper che esamina la matrice **selectionStatus** e ne estrappola gli elementi selezionati in una comoda matrice
203
- *
204
- * @returns {{ value: string, type: InputType, val_setter: Function }[][]} Matrice di elementi selezionati con la loro informazione sul tipo
205
- */
206
- getSelectionStatusSelection(): ItemPropEditableReference[][];
207
- /**
208
- * Data la matrice di selezione generata dal metodo **getSelectionStatusSelection** genera la strigna vera e propria da copiare nella Clipboard
209
- *
210
- * @param {{ value: string, type: InputType }[][]} sel Matrice di selezione con valori e tipi dei dati selezionati
211
- *
212
- * @returns {string} Stringa da copiare nella clipboard, le stringhe vengono wrappate fra doppi apici e fra un valore e l'altro viene messo un tab
213
- * in modo che siano compatibili anche con la copia su Excel
214
- */
215
- getClipbardTextFromSelection(sel: {
216
- value: string;
217
- type: InputType | string;
218
- }[][]): string;
219
- /**
220
- * Ottiene la rappresentazione stringa di un valore dato un tipo
221
- *
222
- * @param {{ value: string, type: InputType }} valType Oggetto Valore - Tipo da cui estrapolare la rappresentazione del dato in stringa
223
- *
224
- * @returns {string} Valore convertito in stringa in base al tipo
225
- */
226
- getValueByType(valType: {
227
- value: string;
228
- type: InputType | string;
229
- }): string;
230
- }
@@ -1,57 +0,0 @@
1
- import { HashingService } from "@esfaenza/extensions";
2
- import * as i0 from "@angular/core";
3
- /** Classe di utilità per le cose comuni */
4
- export declare class UtilitiesHandler {
5
- private hashExts;
6
- /** @ignore Costruttore */
7
- constructor(hashExts: HashingService);
8
- /**
9
- * Data una lista di oggetti effettua dei raggruppamenti in base alla proprietà **field**,
10
- * restituendo un oggetto del tipo { Gruppo1: oggetti[], Gruppo2: oggetti[], ecc... }
11
- *
12
- * @param {any[]} array Lista degli oggetti da raggruppare
13
- * @param {string} field Campo su cui effettuare i raggruppamenti
14
- *
15
- * @returns {{ [id: string]: any[] }} Dizionario dei gruppi
16
- */
17
- groupBy(array: any[], field: string): {
18
- [id: string]: any[];
19
- };
20
- /**
21
- * Helper per effettuare il caching delle aggregazioni. Le sposta da una lista di **GroupAggregation** a una **<Map<string, Map<string, string>>**
22
- *
23
- * @param {any} group Gruppo di cui cachare le aggregazioni
24
- */
25
- cacheAggregations(group: any): void;
26
- /** Helper per spostare un oggetto di un array da un indice all'altro, in place */
27
- arrayMove(array: any[], oldI: number, newI: number): void;
28
- /**
29
- * Date le informazioni di paginazione ottiene l'array dei pulsanti
30
- *
31
- * @param {number} maxBtns Numero massimo di pulsanti da visualizzare
32
- * @param {number} page Pagina corrente
33
- * @param {number} lastPage Ultima pagina disponibile
34
- *
35
- * @returns {any[]} Pseudo-array di pulsanti a cui ci si può bindare lato HTML
36
- */
37
- getPagesArray(maxBtns: number, page: number, lastPage: number, actualCount?: number, ipp?: number): {
38
- val: number;
39
- cssClass: string;
40
- }[];
41
- /**
42
- * Calcola l'hash di un oggetto qualsiasi
43
- *
44
- * @param {any[]} items Oggetti per cui calcolare l'hash
45
- */
46
- calculateHash(items: any[]): void;
47
- /**
48
- * 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)
49
- *
50
- * @param {T} inputValue Valore dell'Input
51
- * @param {T} defaultValue Valore di default impostato da configurazione
52
- * @param {T} fallbackValue Valore dell'Input per quando non è stato assegnato dal programmatore e non ha un default
53
- */
54
- InputOrDefault<T>(inputValue: T, defaultValue: T, fallbackValue?: T): T;
55
- static ɵfac: i0.ɵɵFactoryDeclaration<UtilitiesHandler, never>;
56
- static ɵprov: i0.ɵɵInjectableDeclaration<UtilitiesHandler>;
57
- }
@@ -1,42 +0,0 @@
1
- import { TemplateRef } 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 declare class EsTdDirective {
5
- Template: TemplateRef<any>;
6
- /** Variabile interna che indica il fatto che questo componente è una direttiva. Serve per disambigualrlo dell'EsTdComponent */
7
- _directive: boolean;
8
- /** Variabile interna che indica il fatto che questo template si riferisce a una proprietà multipla */
9
- _multi: boolean;
10
- /** Indica se la cella è visibile o meno di default */
11
- tdVisible: boolean;
12
- /** Id della colonna, fa riferimento al **th** padre */
13
- td: string;
14
- /** Se questo td viene usato come renderer in questa proprietà è scritto il nome della proprietà dell'oggetto bindato per cui fare apparire il **Template** */
15
- tdForProperty: string;
16
- /** Equivalente dell'NgIf sul td */
17
- tdIf: boolean;
18
- /** Eventuali classi da applicare al **td** generato */
19
- tdClass: string;
20
- /** In mancanza di **Template** indica qual è la proprietà dell'oggetto contenente le informazioni da mostrare */
21
- tdPropertyAccessor: string;
22
- /** Allineamento dei valori della tabella */
23
- tdAlignment: "Center" | "Left" | "Right";
24
- /** Formato da applicare al valore se applicabile, utilizzabile solo se **tdPropertyAccessor** è valorizzato */
25
- tdFormat: string;
26
- /** Se il contenuto di questo td dev'essere un'immagine cliccabile, questa è la classe che la identifica */
27
- tdIconClass: string;
28
- /** Campo da controllare per fare apparire/sparire il contenuto di questa cella qualora fosse diverso da **tdConditionValue** */
29
- tdConditionField: string;
30
- /** Valore che deve assumere **tdConditionField** per mostrare il contenuto di questa cella */
31
- tdConditionValue: string;
32
- /** Titolo HTML di questa cella */
33
- tdTitle: string;
34
- /** Contenuto statico di questa cella */
35
- tdContent: string;
36
- /**
37
- * @ignore
38
- */
39
- constructor(Template: TemplateRef<any>);
40
- static ɵfac: i0.ɵɵFactoryDeclaration<EsTdDirective, [{ self: true; }]>;
41
- static ɵdir: i0.ɵɵDirectiveDeclaration<EsTdDirective, "[td]", never, { "tdVisible": { "alias": "tdVisible"; "required": false; }; "td": { "alias": "td"; "required": false; }; "tdForProperty": { "alias": "tdForProperty"; "required": false; }; "tdIf": { "alias": "tdIf"; "required": false; }; "tdClass": { "alias": "tdClass"; "required": false; }; "tdPropertyAccessor": { "alias": "tdPropertyAccessor"; "required": false; }; "tdAlignment": { "alias": "tdAlignment"; "required": false; }; "tdFormat": { "alias": "tdFormat"; "required": false; }; "tdIconClass": { "alias": "tdIconClass"; "required": false; }; "tdConditionField": { "alias": "tdConditionField"; "required": false; }; "tdConditionValue": { "alias": "tdConditionValue"; "required": false; }; "tdTitle": { "alias": "tdTitle"; "required": false; }; "tdContent": { "alias": "tdContent"; "required": false; }; }, {}, never, never, false, never>;
42
- }
@@ -1,14 +0,0 @@
1
- import { TemplateRef } 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 declare class EsTdEditorDirective {
5
- Template: TemplateRef<any>;
6
- /** Id dell'Editor */
7
- editor: string;
8
- /** In questa proprietà è scritto il nome della proprietà dell'oggetto bindato per cui fare apparire il **Template** */
9
- editorForProperty: string;
10
- /** @ignore */
11
- constructor(Template: TemplateRef<any>);
12
- static ɵfac: i0.ɵɵFactoryDeclaration<EsTdEditorDirective, [{ optional: true; self: true; }]>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<EsTdEditorDirective, "[editor]", never, { "editor": { "alias": "editor"; "required": false; }; "editorForProperty": { "alias": "editorForProperty"; "required": false; }; }, {}, never, never, false, never>;
14
- }
@@ -1,106 +0,0 @@
1
- import { TemplateRef } from "@angular/core";
2
- import { ThAggregation } from "../domain/internals/ThAggregation";
3
- import { InputType } from "../domain/types";
4
- import * as i0 from "@angular/core";
5
- /** Direttiva per la dichiarazione snella di un EsTh da emettere come header */
6
- export declare class EsThDirective {
7
- Template: TemplateRef<any>;
8
- /** Variabile interna all'interno della quale viene raccolta la cache delle aggregazioni specificate in thAggregation */
9
- _thAggregations: ThAggregation[];
10
- /** Variabile interna contenente in maniera ordinata i template dei padri */
11
- _thParents: {
12
- id: string;
13
- tmpl?: TemplateRef<any>;
14
- content?: string;
15
- }[];
16
- /** Variabile interna che indica il fatto che questo componente è una direttiva. Serve per disambigualrlo dell'EsThComponent */
17
- _directive: boolean;
18
- /** Variabile interna impostata dall'**EsTable**, per controllare che ci sia almeno un TD che utilizzi quest'header */
19
- _referenced: boolean;
20
- /** Variabile interna che indica il fatto che questo template si riferisce a una proprietà multipla */
21
- _multi: boolean;
22
- /** Variabile interna che indica il contenuto dell'header in caso di multi */
23
- _multi_content: string;
24
- /** Id della colonna, dev'essere lo stesso per tutti i **td** relativi */
25
- th: string;
26
- /** Indica se la colonna è pinnata o no */
27
- thPinned: boolean;
28
- /** Indica se la colonna è pinnabile o no */
29
- thPinnable: boolean;
30
- /** Indica le dimensioni che deve avere questa colonna quando viene pinnata, senza questo tutte le colonne mi collasserebbero l'una sull'altra */
31
- thPinnedWidth: number;
32
- /** Indicazione sulla visibilità della colonna */
33
- thVisible: boolean;
34
- /** Indica se la colonna è fixed, cioè se non può né essere nascosta, né riposizionata. Solo le prime colonne possono essere Fixed */
35
- thFixed: boolean;
36
- /** Indica che la colonna è sotto ad un raggruppamento padre, con questo nome nel **th** */
37
- thParent: string;
38
- /** Ordinamento attuale della colonna */
39
- thOrder?: 'DESC' | 'ASC';
40
- /** Indica se questa colonna è ordinabile o meno */
41
- thOrderable: boolean;
42
- /** Indica se il testo presente in questo Header può andare a capo o meno, di default non può */
43
- thWrap: boolean;
44
- /** Indica se le dimnsioni di questa colonna sono modificabili o meno */
45
- thResizable: boolean;
46
- /** Classi da applicare all'Header della colonna */
47
- thClass: string;
48
- /** Classi da applicare all'Header della colonna */
49
- thShrink: boolean;
50
- /** Classi da applicare alle righe quando rappresentano un Gruppo */
51
- thGroupClass: string;
52
- /** Equivalente dell'NgIf sul th */
53
- thIf: boolean;
54
- /** Campo particolare che indica che questo header è vuoto. Viene utilizzato solo a livello grafico per ignorare o meno l'emit del template */
55
- thEmpty: boolean;
56
- /** Indica che bisogna fare un raggruppamento su questa colonna */
57
- thGroup: boolean;
58
- /** Indica che bisogna fare una aggregazione su questa colonna, a fronte di almeno un altra con un raggruppamento */
59
- thAggregation: string;
60
- /** Proprietà JS a cui si riferisce questa cella */
61
- thProperty: string;
62
- /** Tipo della proprietà JS a cui si riferisce questa cella. Se valorizzato l'utente la potrà modificare facendo doppio click */
63
- thType: InputType | string;
64
- /** Sorgente dei valori disponibili per questa cella se il **Type** è di tipo 'enum' */
65
- thSource: {
66
- id: string;
67
- description: string;
68
- }[];
69
- /** Indica che questo header deve essere emesso una volta per ogni valore presente nella lista di **EsTableMultiValue** alla proprietà **th** dell'oggetto corrente */
70
- thMulti: boolean;
71
- /** Indica un contenuto statico da mostrare piuttosto che utilizzare il **Template**. Serve in caso questo oggetto venga generato programmaticamente */
72
- thStaticContent: string;
73
- /** Colore del background della cella */
74
- thBackgroundColor: string;
75
- /** Allineamento dei valori della tabella */
76
- thAlignment: "Center" | "Left" | "Right";
77
- /** Formato da applicare al valore se applicabile */
78
- thFormat: string;
79
- /** Nome dell'editor da utilizzare per la modifica di questo campo, ordine di priorità:
80
- *
81
- * 1. Editor con nome **thEditorName**
82
- *
83
- * 2. Editor riferito alla proprietà **thProperty**
84
- *
85
- * 3. Editor di default per **thType**
86
- */
87
- thEditorName: string;
88
- /** Opzioni da applicare all'editor di questa colonna */
89
- thEditorOptions: {
90
- [id: string]: any;
91
- };
92
- /** Nome del renderer da utilizzare per visualizzare questo campo. Utilizzato solo per le tabelle dinamiche */
93
- thRendererName: string;
94
- /** Route di navigazione. Es. "['/pages/mod/mod_detail', { 'idItem': '{0}', 'idItem2' : '{1}' }]" */
95
- thRoutePath: string;
96
- /**
97
- * Proprietà da bindare a **routePath** per generare la route completa.
98
- *
99
- * L'indice scritto in **routePath** è l'indice di accesso a questo array. Es. ["idItem", "idItem2"]
100
- */
101
- thRouteParameterProperties: string[];
102
- /** @ignore */
103
- constructor(Template: TemplateRef<any>);
104
- static ɵfac: i0.ɵɵFactoryDeclaration<EsThDirective, [{ self: true; }]>;
105
- static ɵdir: i0.ɵɵDirectiveDeclaration<EsThDirective, "[th]", never, { "th": { "alias": "th"; "required": false; }; "thPinned": { "alias": "thPinned"; "required": false; }; "thPinnable": { "alias": "thPinnable"; "required": false; }; "thPinnedWidth": { "alias": "thPinnedWidth"; "required": false; }; "thVisible": { "alias": "thVisible"; "required": false; }; "thFixed": { "alias": "thFixed"; "required": false; }; "thParent": { "alias": "thParent"; "required": false; }; "thOrder": { "alias": "thOrder"; "required": false; }; "thOrderable": { "alias": "thOrderable"; "required": false; }; "thWrap": { "alias": "thWrap"; "required": false; }; "thResizable": { "alias": "thResizable"; "required": false; }; "thClass": { "alias": "thClass"; "required": false; }; "thShrink": { "alias": "thShrink"; "required": false; }; "thGroupClass": { "alias": "thGroupClass"; "required": false; }; "thIf": { "alias": "thIf"; "required": false; }; "thEmpty": { "alias": "thEmpty"; "required": false; }; "thGroup": { "alias": "thGroup"; "required": false; }; "thAggregation": { "alias": "thAggregation"; "required": false; }; "thProperty": { "alias": "thProperty"; "required": false; }; "thType": { "alias": "thType"; "required": false; }; "thSource": { "alias": "thSource"; "required": false; }; "thMulti": { "alias": "thMulti"; "required": false; }; "thStaticContent": { "alias": "thStaticContent"; "required": false; }; "thBackgroundColor": { "alias": "thBackgroundColor"; "required": false; }; "thAlignment": { "alias": "thAlignment"; "required": false; }; "thFormat": { "alias": "thFormat"; "required": false; }; "thEditorName": { "alias": "thEditorName"; "required": false; }; "thEditorOptions": { "alias": "thEditorOptions"; "required": false; }; "thRendererName": { "alias": "thRendererName"; "required": false; }; "thRoutePath": { "alias": "thRoutePath"; "required": false; }; "thRouteParameterProperties": { "alias": "thRouteParameterProperties"; "required": false; }; }, {}, never, never, false, never>;
106
- }
@@ -1,15 +0,0 @@
1
- import { QueryList } from '@angular/core';
2
- import { EsTdDirective } from './es_td.directive';
3
- import { EsThDirective } from './es_th.directive';
4
- import { ReplaySubject } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- export declare class ThTdProvider {
7
- EsTdsDirective: QueryList<EsTdDirective>;
8
- EsThsDirective: QueryList<EsThDirective>;
9
- LoadedSignal: ReplaySubject<void>;
10
- setLoaded(): void;
11
- asyncLoad(): Promise<void>;
12
- ngOnInit(): Promise<void>;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<ThTdProvider, never>;
14
- static ɵdir: i0.ɵɵDirectiveDeclaration<ThTdProvider, "[td_th_provider]", ["tdThProvider"], {}, {}, ["EsTdsDirective", "EsThsDirective"], never, false, never>;
15
- }
@@ -1,21 +0,0 @@
1
- /** Raccolta di tutti gli Input dell'EsTable a cui può essere logicamente sensato assegnare default per progetto */
2
- export declare class EsTableDefaultable {
3
- /** @ignore Vedi **EsTableComponent** */ ColumnsResizable?: boolean;
4
- /** @ignore Vedi **EsTableComponent** */ AutoUpdate?: boolean;
5
- /** @ignore Vedi **EsTableComponent** */ AllSearch?: boolean;
6
- /** @ignore Vedi **EsTableComponent** */ Export?: boolean;
7
- /** @ignore Vedi **EsTableComponent** */ HidePaging?: boolean;
8
- /** @ignore Vedi **EsTableComponent** */ HidePagingCount?: boolean;
9
- /** @ignore Vedi **EsTableComponent** */ HidePagingButtons?: boolean;
10
- /** @ignore Vedi **EsTableComponent** */ ContainerClass?: string;
11
- /** @ignore Vedi **EsTableComponent** */ TableClass?: string;
12
- /** @ignore Vedi **EsTableComponent** */ Selection?: boolean;
13
- /** @ignore Vedi **EsTableComponent** */ SavePreferences?: boolean;
14
- /** @ignore Vedi **EsTableComponent** */ PagingStyle?: 'both' | 'top' | 'bottom';
15
- /** @ignore Vedi **EsTableComponent** */ RowGroupingPagingStyle?: 'left' | 'right';
16
- /** @ignore Vedi **EsTableComponent** */ UseSelectionCache?: boolean;
17
- /** @ignore Vedi **EsTableComponent** */ ShowItemGroupsColumns?: boolean;
18
- /** @ignore Vedi **EsTableComponent** */ ArraymodeItemsPerPage?: number;
19
- /** @ignore Vedi **EsTableComponent** */ ColumnsPinnable?: boolean;
20
- /** @ignore Vedi **EsTableComponent** */ DefaultAlignment?: 'Left' | 'Center' | 'Right';
21
- }