@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.
- package/esm2022/esfaenza-es-table.mjs +4 -4
- package/esm2022/lib/components/es-table/es_table.component.loc.mjs +38 -38
- package/esm2022/lib/components/es-table/es_table.component.mjs +1891 -1891
- package/esm2022/lib/components/es-td/es_td.component.mjs +40 -40
- package/esm2022/lib/components/es-th/es_th.component.mjs +176 -176
- package/esm2022/lib/components/pager/table_pager.component.loc.mjs +20 -20
- package/esm2022/lib/components/pager/table_pager.component.mjs +111 -111
- package/esm2022/lib/components/pipes/est-format.pipe.mjs +44 -44
- package/esm2022/lib/components/pipes/est-lookup.pipe.mjs +19 -19
- package/esm2022/lib/components/pipes/est-propinsensitive.pipe.mjs +19 -19
- package/esm2022/lib/components/pipes/est-renderer.pipe.mjs +36 -36
- package/esm2022/lib/components/pipes/est-routerlink.pipe.mjs +41 -41
- package/esm2022/lib/components/pipes/est_editor.pipe.mjs +36 -36
- package/esm2022/lib/core/CopyPasteDetector.mjs +27 -27
- package/esm2022/lib/core/Logger.mjs +25 -25
- package/esm2022/lib/core/handlers/ColumnMetadataHandler.mjs +835 -835
- package/esm2022/lib/core/handlers/DynamicModeHandler.mjs +109 -109
- package/esm2022/lib/core/handlers/ExportHandler.mjs +32 -32
- package/esm2022/lib/core/handlers/HierarchyModeHandler.mjs +136 -136
- package/esm2022/lib/core/handlers/ItemsHandler.mjs +119 -119
- package/esm2022/lib/core/handlers/ReportModeHandler.mjs +60 -60
- package/esm2022/lib/core/handlers/RowGroupingHandler.mjs +480 -480
- package/esm2022/lib/core/handlers/SelectionHandler.mjs +778 -778
- package/esm2022/lib/core/handlers/UtilitiesHandler.mjs +151 -151
- package/esm2022/lib/directives/es_td.directive.mjs +54 -54
- package/esm2022/lib/directives/es_td_editor.directive.mjs +24 -24
- package/esm2022/lib/directives/es_th.directive.mjs +130 -130
- package/esm2022/lib/directives/es_th_td_provider.directive.mjs +34 -34
- package/esm2022/lib/domain/configuration/EsTableDefaultable.mjs +3 -3
- package/esm2022/lib/domain/configuration/EsTableModuleConfig.mjs +3 -3
- package/esm2022/lib/domain/externals/CornerMenuOption.mjs +3 -3
- package/esm2022/lib/domain/externals/EsTableColumnsDefinition.mjs +47 -47
- package/esm2022/lib/domain/externals/EsTableModelChange.mjs +18 -18
- package/esm2022/lib/domain/externals/EsTableOperationDefinition.mjs +21 -21
- package/esm2022/lib/domain/externals/ItemPropEditableReference.mjs +3 -3
- package/esm2022/lib/domain/externals/appsearch/AppOrdering.mjs +15 -15
- package/esm2022/lib/domain/externals/appsearch/AppSearch.mjs +65 -65
- package/esm2022/lib/domain/externals/appsearch/EsTableMultiValue.mjs +24 -24
- package/esm2022/lib/domain/externals/appsearch/GenericItem.mjs +10 -10
- package/esm2022/lib/domain/externals/appsearch/Group.mjs +16 -16
- package/esm2022/lib/domain/externals/appsearch/GroupAggregation.mjs +15 -15
- package/esm2022/lib/domain/externals/appsearch/GroupFilter.mjs +13 -13
- package/esm2022/lib/domain/externals/appsearch/GroupOrAggregation.mjs +15 -15
- package/esm2022/lib/domain/externals/appsearch/ItemsSelection.mjs +22 -22
- package/esm2022/lib/domain/externals/report/ReportColumn.mjs +3 -3
- package/esm2022/lib/domain/externals/report/ReportParam.mjs +3 -3
- package/esm2022/lib/domain/externals/report/ReportRow.mjs +3 -3
- package/esm2022/lib/domain/internals/CacheTriptic.mjs +15 -15
- package/esm2022/lib/domain/internals/EsTableColumn.mjs +31 -31
- package/esm2022/lib/domain/internals/GroupPager.mjs +22 -22
- package/esm2022/lib/domain/internals/GroupRouteFragment.mjs +16 -16
- package/esm2022/lib/domain/internals/PagerInfos.mjs +14 -14
- package/esm2022/lib/domain/internals/TdElement.mjs +1 -1
- package/esm2022/lib/domain/internals/ThAggregation.mjs +15 -15
- package/esm2022/lib/domain/internals/ThElement.mjs +1 -1
- package/esm2022/lib/domain/internals/ThGroup.mjs +1 -1
- package/esm2022/lib/domain/types.mjs +1 -1
- package/esm2022/lib/es-table.module.mjs +124 -124
- package/esm2022/lib/tokens.mjs +5 -5
- package/esm2022/public-api.mjs +27 -27
- package/fesm2022/esfaenza-es-table.mjs +5771 -5771
- package/fesm2022/esfaenza-es-table.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/components/es-table/es_table.component.d.ts +738 -738
- package/lib/components/es-table/es_table.component.loc.d.ts +10 -10
- package/lib/components/es-td/es_td.component.d.ts +26 -26
- package/lib/components/es-th/es_th.component.d.ts +92 -92
- package/lib/components/pager/table_pager.component.d.ts +56 -56
- package/lib/components/pager/table_pager.component.loc.d.ts +10 -10
- package/lib/components/pipes/est-format.pipe.d.ts +10 -10
- package/lib/components/pipes/est-lookup.pipe.d.ts +13 -13
- package/lib/components/pipes/est-propinsensitive.pipe.d.ts +7 -7
- package/lib/components/pipes/est-renderer.pipe.d.ts +15 -15
- package/lib/components/pipes/est-routerlink.pipe.d.ts +20 -20
- package/lib/components/pipes/est_editor.pipe.d.ts +15 -15
- package/lib/core/CopyPasteDetector.d.ts +15 -15
- package/lib/core/Logger.d.ts +10 -10
- package/lib/core/handlers/ColumnMetadataHandler.d.ts +189 -189
- package/lib/core/handlers/DynamicModeHandler.d.ts +22 -22
- package/lib/core/handlers/ExportHandler.d.ts +18 -18
- package/lib/core/handlers/HierarchyModeHandler.d.ts +40 -40
- package/lib/core/handlers/ItemsHandler.d.ts +35 -35
- package/lib/core/handlers/ReportModeHandler.d.ts +27 -27
- package/lib/core/handlers/RowGroupingHandler.d.ts +118 -118
- package/lib/core/handlers/SelectionHandler.d.ts +230 -230
- package/lib/core/handlers/UtilitiesHandler.d.ts +57 -57
- package/lib/directives/es_td.directive.d.ts +42 -42
- package/lib/directives/es_td_editor.directive.d.ts +14 -14
- package/lib/directives/es_th.directive.d.ts +107 -107
- package/lib/directives/es_th_td_provider.directive.d.ts +15 -15
- package/lib/domain/configuration/EsTableDefaultable.d.ts +21 -21
- package/lib/domain/configuration/EsTableModuleConfig.d.ts +8 -8
- package/lib/domain/externals/CornerMenuOption.d.ts +7 -7
- package/lib/domain/externals/EsTableColumnsDefinition.d.ts +56 -56
- package/lib/domain/externals/EsTableModelChange.d.ts +17 -17
- package/lib/domain/externals/EsTableOperationDefinition.d.ts +20 -20
- package/lib/domain/externals/ItemPropEditableReference.d.ts +34 -34
- package/lib/domain/externals/appsearch/AppOrdering.d.ts +14 -14
- package/lib/domain/externals/appsearch/AppSearch.d.ts +100 -100
- package/lib/domain/externals/appsearch/EsTableMultiValue.d.ts +22 -22
- package/lib/domain/externals/appsearch/GenericItem.d.ts +13 -13
- package/lib/domain/externals/appsearch/Group.d.ts +17 -17
- package/lib/domain/externals/appsearch/GroupAggregation.d.ts +14 -14
- package/lib/domain/externals/appsearch/GroupFilter.d.ts +12 -12
- package/lib/domain/externals/appsearch/GroupOrAggregation.d.ts +14 -14
- package/lib/domain/externals/appsearch/ItemsSelection.d.ts +22 -22
- package/lib/domain/externals/report/ReportColumn.d.ts +19 -19
- package/lib/domain/externals/report/ReportParam.d.ts +40 -40
- package/lib/domain/externals/report/ReportRow.d.ts +9 -9
- package/lib/domain/internals/CacheTriptic.d.ts +14 -14
- package/lib/domain/internals/EsTableColumn.d.ts +41 -41
- package/lib/domain/internals/GroupPager.d.ts +26 -26
- package/lib/domain/internals/GroupRouteFragment.d.ts +15 -15
- package/lib/domain/internals/PagerInfos.d.ts +13 -13
- package/lib/domain/internals/TdElement.d.ts +57 -57
- package/lib/domain/internals/ThAggregation.d.ts +14 -14
- package/lib/domain/internals/ThElement.d.ts +24 -24
- package/lib/domain/internals/ThGroup.d.ts +10 -10
- package/lib/domain/types.d.ts +2 -2
- package/lib/es-table.module.d.ts +35 -35
- package/lib/tokens.d.ts +6 -6
- package/package.json +14 -14
- package/public-api.d.ts +27 -27
|
@@ -1,27 +1,27 @@
|
|
|
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
|
+
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 +1,118 @@
|
|
|
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
|
+
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
|
+
}
|