@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,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
+ }