@esfaenza/es-table 16.2.29 → 17.3.16

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 +125 -125
  59. package/esm2022/lib/tokens.mjs +5 -5
  60. package/esm2022/public-api.mjs +27 -27
  61. package/fesm2022/esfaenza-es-table.mjs +5777 -5777
  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,189 +1,189 @@
1
- import { CdkDrag, CdkDragDrop } from "@angular/cdk/drag-drop";
2
- import { UtilityService } from "@esfaenza/extensions";
3
- import { PreferencesService } from "@esfaenza/preferences";
4
- import { EsTableComponent } from "../../components/es-table/es_table.component";
5
- import { EsTdDirective } from "../../directives/es_td.directive";
6
- import { EsThDirective } from "../../directives/es_th.directive";
7
- import { UtilitiesHandler } from "./UtilitiesHandler";
8
- import { RowGroupingHandler } from "./RowGroupingHandler";
9
- import { AppSearch } from "../../domain/externals/appsearch/AppSearch";
10
- import { EsTableColumn } from "../../domain/internals/EsTableColumn";
11
- /** Classe che gestisce tutte le informaizoni relative alle colonne: visibilità, posizione, stato di pin/unpin, ecc ecc... */
12
- export declare class ColumnMetadataHandler {
13
- private est;
14
- private utilities;
15
- private utiExts;
16
- private prefService;
17
- private rgH;
18
- /** @ignore Costruttore*/
19
- constructor(est: EsTableComponent, utilities: UtilitiesHandler, utiExts: UtilityService, prefService: PreferencesService, rgH: RowGroupingHandler);
20
- /**
21
- * Metodo che gestisce il cambio di Ordinamento di una colonna
22
- *
23
- * @param {string} id ID della colonna il cui oridnamento è cambiato
24
- * @param {'DESC' | 'ASC'} order Nuovo ordine selezionato per la colonna
25
- */
26
- handleTHOrderChange(id: string, order: 'DESC' | 'ASC'): void;
27
- /**
28
- * Registra le preference relative alla view passata come parametro
29
- *
30
- * @param {any} castedView View di cui salvare colonne e ordinamento colonne
31
- */
32
- registerViewPreferences(castedView: AppSearch<any>): boolean;
33
- /**
34
- * Partendo dagli **EsThs** estrappolo la lista di **EsTableColumn** che questa tabella dovrà eventualmente gestire per Visibilità e Ordine
35
- *
36
- * Costo: 1 scan EsThs
37
- *
38
- * @param {EsThDirective[]} ths Colonne della tabella
39
- */
40
- reviewColumnsList(ths: EsThDirective[]): void;
41
- /** In caso siano configurati dei th "Multi" (vedere la descrizione del campo **thMulti** di **EsThDirective**) questo metodo li "srotola" in tutti i th/td che devono effettivamente diventare */
42
- expandMultiThsAndTds(ths: EsThDirective[], tds: EsTdDirective[], items: any[]): {
43
- expThs: EsThDirective[];
44
- expTds: EsTdDirective[];
45
- };
46
- /**
47
- * Prende i th e i td in modalità diretive e li ordina in base a se ci sono colonne fixed o meno
48
- */
49
- moveFixedColumnsAtTheBeginning(ths: EsThDirective[], tds: EsTdDirective[]): void;
50
- /** In base alla configurazione delle colonne calcola le dimenioni delle colonne pinnate */
51
- evaluatePinnedColumnsWidth(): void;
52
- /**
53
- * Terminato il binding delle colonne da **reviewColumnsList** e della **View** dal **writeValue** questo metodo si occupa
54
- * dell'allineamento delle informazioni fra le colonne calcolate internamente e le informazioni sulle colonne che arrivano dall'AppSearch
55
- *
56
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
57
- * @param {boolean} useLocalVisibility Indica di utilizzare le impostazioni di visibilità locali senza allinearle alla view
58
- */
59
- alignColumnsIfLoadedView(view: AppSearch<any>): void;
60
- /**
61
- * In base alla visibilità registrata nelle **ColumnsList** questo metodo si occupa di prendere tutti i **EsThDirective** ed **EsTdDirective** relativi e nasonderli/mostrarli
62
- *
63
- * Costo: 1 scan ColumnsList, 1 scan EsThDirectives, 1 scan EsTdDirectives
64
- *
65
- * @param {EsThDirective[]} ths Header della tabella
66
- * @param {EsTdDirective[]} tds Celle della tabella
67
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
68
- */
69
- refreshColumnsVisibility(ths: EsThDirective[], tds: EsTdDirective[], view: AppSearch<any>): void;
70
- /**
71
- * Allinea gli ordinamenti dati fra le **EsThs** e le informazioni all'interno della View bindata
72
- *
73
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
74
- * @param {EsThDirective[]} ths Colonne della tabella
75
- */
76
- alignHeadersOrdering(ths: EsThDirective[], view: AppSearch<any>): void;
77
- /**
78
- * Genera tutte le informazioni che servono per gestire il raggruppamento degli header
79
- *
80
- * @param {EsThDirective[]} ths Colonne della tabella
81
- *
82
- * @returns {{ leafs: EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} Oggetto contenente la lista delle foglie (header base), il livello
83
- * massimo di raggruppamento raggiunto, una cache in cui vengono indicati tutti i gruppi che sono "parent" (quindi che raggruppano almeno 1 header) e la cache degli header
84
- */
85
- evaluateHeadersGroupingInfos(ths: EsThDirective[]): {
86
- leafs: EsThDirective[];
87
- groupingLevel: number;
88
- parentsCache: any;
89
- thsCache: any;
90
- };
91
- /**
92
- * Genera gli header groups da una lista di info sui th all'interno della variabile **TMPRowThGroups**
93
- *
94
- * @param {{ leafs: EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} infos Informazioni di raggruppamento valutate precedentemente
95
- */
96
- evaluateHeaderGroups(infos: {
97
- leafs: EsThDirective[];
98
- groupingLevel: number;
99
- parentsCache: any;
100
- thsCache: {
101
- [index: string]: EsThDirective;
102
- };
103
- }): void;
104
- /**
105
- * Calcola il numero di salti da un header foglia all'ultimo parent della catena
106
- *
107
- * @param {EsThDirective} th Header da cui scorrere i padri per capire quanti livelli ci sono sopra
108
- * @param {{ [index: string]: EsThDirective }} thsCache Cache degli header
109
- */
110
- private jumpsToFinalParent;
111
- /**
112
- * Metodo che genera l'ordine di default delle colonne
113
- *
114
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
115
- */
116
- generateDefaultOrder(ths: EsThDirective[], view: AppSearch<any>): void;
117
- /**
118
- * Applica l'ordine specificato alle varie colonne
119
- *
120
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
121
- * @param {boolean} finalize Se **true** significa che non mi aspetto di dover effettuare altre operazioni e posso renderizzare la situazione in base ai RowContext
122
- * Senza finalize significa che mi aspetto altre operazioni che prima o poi richiameranno questa funzione col finalize.
123
- *
124
- * Ad esempio, una volta selezionato ordinamento fisico/logico delle colonne so che parte un altra ricerca che mi rivalorizzerà da "writeValue", che già chiama questa funzione.
125
- * Mettendo solo la chiamata da "writeValue" come "finalizzante" mi assicuro che smanattamenti a frontend non causino flickering fino a quando non servono
126
- */
127
- applyOrdering(view: AppSearch<any>, finalize: boolean): void;
128
- /**
129
- * All'interno della dialog "Ordinamento e Visibilità Colonne" mette la colonna specificata prima della colonna precedente
130
- *
131
- * @param {EsTableColumn} columnItem Colonna da spostare
132
- */
133
- sendUp(columnItem: EsTableColumn): void;
134
- /**
135
- * All'interno della dialog "Ordinamento e Visibilità Colonne" mette la colonna specificata dopo la colonna successiva
136
- *
137
- * @param {EsTableColumn} columnItem Colonna da spostare
138
- */
139
- sendDown(columnItem: EsTableColumn): void;
140
- /**
141
- * All'interno della dialog "Ordinamento e Visibilità Colonne" pinna la colonna specificata
142
- *
143
- * @param {EsTableColumn} columnItem Colonna da spostare
144
- */
145
- pinOrUnpinColumn(columnItem: EsTableColumn): void;
146
- /**
147
- * All'interno della dialog "Ordinamento e Visibilità Colonne" inverte le impostazioni di visibilità della colonna
148
- *
149
- * @param {EsTableColumn} columnItem Colonna da spostare
150
- */
151
- columnClicked(item: EsTableColumn): void;
152
- /** All'apertura della dialog "Ordinamento e Visibilità Colonne" ricarica le informazioni attuali per permettere la modifica */
153
- resetColumnVisSelection(): void;
154
- /** Riaggiorna le **OrderDirectives** con le informazioni in **ColumnsList** */
155
- private refreshColumnOrdering;
156
- /** Effettua la selezione o meno del check globale (**globalColVisCheck**) di visibilità in base a se tutte le **TMPColumnsList** sono visibili o no */
157
- updateGlobalColVisCheck(): void;
158
- /**
159
- * Chiamato quando una colonna viene riordinata all'interno della lista delle visibilità/posizioni colonne
160
- *
161
- * @param {CdkDragDrop<EsTableColumn[]>} event Evento di drop della lista
162
- */
163
- columnReordered(event: CdkDragDrop<EsTableColumn[]>): void;
164
- /**
165
- * Chiamato quando una colonna viene riordinata all'interno della lista delle visibilità/posizioni colonne
166
- *
167
- * @param {number} index Indice in cui voglio droppare l'elemento draggato
168
- * @param {CdkDrag<EsTableColumn>} item Oggetto che sto draggando
169
- *
170
- * @returns {boolean} **true** se la colonna può essere spostata sull'indice **index**, **false** altrimenti
171
- */
172
- sortPredicate(index: number, item: CdkDrag<EsTableColumn>): boolean;
173
- /**
174
- * Funzione che effettua la conferma della visibilità e dell'ordine delle colonne.
175
- *
176
- * Questa selezione viene inoltre salvata nelle preferenze (**@esfaenza/preferences**), qualora l'Input **SavePreferences** fosse valorizzato
177
- *
178
- * @returns {boolean} **true** se non ci sono problemi, **false** altrimenti
179
- */
180
- confirmColumnVisibilitySelection(): boolean;
181
- /**
182
- * Effettuo l'unpinning di una colonna in maniera programmatica semplicemente eseguendo una per una le operazioni che verrebbero eseguite altrimenti
183
- *
184
- * @param {string} id Codice della colonna da spinnare
185
- */
186
- unpinColumn(id: string): void;
187
- /** Sul click nella checkbox di selezione globale si scorrono tutte le colonne e si impostano al valore della check globale */
188
- globalColVisCheckChanged(): void;
189
- }
1
+ import { CdkDrag, CdkDragDrop } from "@angular/cdk/drag-drop";
2
+ import { UtilityService } from "@esfaenza/extensions";
3
+ import { PreferencesService } from "@esfaenza/preferences";
4
+ import { EsTableComponent } from "../../components/es-table/es_table.component";
5
+ import { EsTdDirective } from "../../directives/es_td.directive";
6
+ import { EsThDirective } from "../../directives/es_th.directive";
7
+ import { UtilitiesHandler } from "./UtilitiesHandler";
8
+ import { RowGroupingHandler } from "./RowGroupingHandler";
9
+ import { AppSearch } from "../../domain/externals/appsearch/AppSearch";
10
+ import { EsTableColumn } from "../../domain/internals/EsTableColumn";
11
+ /** Classe che gestisce tutte le informaizoni relative alle colonne: visibilità, posizione, stato di pin/unpin, ecc ecc... */
12
+ export declare class ColumnMetadataHandler {
13
+ private est;
14
+ private utilities;
15
+ private utiExts;
16
+ private prefService;
17
+ private rgH;
18
+ /** @ignore Costruttore*/
19
+ constructor(est: EsTableComponent, utilities: UtilitiesHandler, utiExts: UtilityService, prefService: PreferencesService, rgH: RowGroupingHandler);
20
+ /**
21
+ * Metodo che gestisce il cambio di Ordinamento di una colonna
22
+ *
23
+ * @param {string} id ID della colonna il cui oridnamento è cambiato
24
+ * @param {'DESC' | 'ASC'} order Nuovo ordine selezionato per la colonna
25
+ */
26
+ handleTHOrderChange(id: string, order: 'DESC' | 'ASC'): void;
27
+ /**
28
+ * Registra le preference relative alla view passata come parametro
29
+ *
30
+ * @param {any} castedView View di cui salvare colonne e ordinamento colonne
31
+ */
32
+ registerViewPreferences(castedView: AppSearch<any>): boolean;
33
+ /**
34
+ * Partendo dagli **EsThs** estrappolo la lista di **EsTableColumn** che questa tabella dovrà eventualmente gestire per Visibilità e Ordine
35
+ *
36
+ * Costo: 1 scan EsThs
37
+ *
38
+ * @param {EsThDirective[]} ths Colonne della tabella
39
+ */
40
+ reviewColumnsList(ths: EsThDirective[]): void;
41
+ /** In caso siano configurati dei th "Multi" (vedere la descrizione del campo **thMulti** di **EsThDirective**) questo metodo li "srotola" in tutti i th/td che devono effettivamente diventare */
42
+ expandMultiThsAndTds(ths: EsThDirective[], tds: EsTdDirective[], items: any[]): {
43
+ expThs: EsThDirective[];
44
+ expTds: EsTdDirective[];
45
+ };
46
+ /**
47
+ * Prende i th e i td in modalità diretive e li ordina in base a se ci sono colonne fixed o meno
48
+ */
49
+ moveFixedColumnsAtTheBeginning(ths: EsThDirective[], tds: EsTdDirective[]): void;
50
+ /** In base alla configurazione delle colonne calcola le dimenioni delle colonne pinnate */
51
+ evaluatePinnedColumnsWidth(): void;
52
+ /**
53
+ * Terminato il binding delle colonne da **reviewColumnsList** e della **View** dal **writeValue** questo metodo si occupa
54
+ * dell'allineamento delle informazioni fra le colonne calcolate internamente e le informazioni sulle colonne che arrivano dall'AppSearch
55
+ *
56
+ * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
57
+ * @param {boolean} useLocalVisibility Indica di utilizzare le impostazioni di visibilità locali senza allinearle alla view
58
+ */
59
+ alignColumnsIfLoadedView(view: AppSearch<any>): void;
60
+ /**
61
+ * In base alla visibilità registrata nelle **ColumnsList** questo metodo si occupa di prendere tutti i **EsThDirective** ed **EsTdDirective** relativi e nasonderli/mostrarli
62
+ *
63
+ * Costo: 1 scan ColumnsList, 1 scan EsThDirectives, 1 scan EsTdDirectives
64
+ *
65
+ * @param {EsThDirective[]} ths Header della tabella
66
+ * @param {EsTdDirective[]} tds Celle della tabella
67
+ * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
68
+ */
69
+ refreshColumnsVisibility(ths: EsThDirective[], tds: EsTdDirective[], view: AppSearch<any>): void;
70
+ /**
71
+ * Allinea gli ordinamenti dati fra le **EsThs** e le informazioni all'interno della View bindata
72
+ *
73
+ * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
74
+ * @param {EsThDirective[]} ths Colonne della tabella
75
+ */
76
+ alignHeadersOrdering(ths: EsThDirective[], view: AppSearch<any>): void;
77
+ /**
78
+ * Genera tutte le informazioni che servono per gestire il raggruppamento degli header
79
+ *
80
+ * @param {EsThDirective[]} ths Colonne della tabella
81
+ *
82
+ * @returns {{ leafs: EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} Oggetto contenente la lista delle foglie (header base), il livello
83
+ * massimo di raggruppamento raggiunto, una cache in cui vengono indicati tutti i gruppi che sono "parent" (quindi che raggruppano almeno 1 header) e la cache degli header
84
+ */
85
+ evaluateHeadersGroupingInfos(ths: EsThDirective[]): {
86
+ leafs: EsThDirective[];
87
+ groupingLevel: number;
88
+ parentsCache: any;
89
+ thsCache: any;
90
+ };
91
+ /**
92
+ * Genera gli header groups da una lista di info sui th all'interno della variabile **TMPRowThGroups**
93
+ *
94
+ * @param {{ leafs: EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} infos Informazioni di raggruppamento valutate precedentemente
95
+ */
96
+ evaluateHeaderGroups(infos: {
97
+ leafs: EsThDirective[];
98
+ groupingLevel: number;
99
+ parentsCache: any;
100
+ thsCache: {
101
+ [index: string]: EsThDirective;
102
+ };
103
+ }): void;
104
+ /**
105
+ * Calcola il numero di salti da un header foglia all'ultimo parent della catena
106
+ *
107
+ * @param {EsThDirective} th Header da cui scorrere i padri per capire quanti livelli ci sono sopra
108
+ * @param {{ [index: string]: EsThDirective }} thsCache Cache degli header
109
+ */
110
+ private jumpsToFinalParent;
111
+ /**
112
+ * Metodo che genera l'ordine di default delle colonne
113
+ *
114
+ * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
115
+ */
116
+ generateDefaultOrder(ths: EsThDirective[], view: AppSearch<any>): void;
117
+ /**
118
+ * Applica l'ordine specificato alle varie colonne
119
+ *
120
+ * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
121
+ * @param {boolean} finalize Se **true** significa che non mi aspetto di dover effettuare altre operazioni e posso renderizzare la situazione in base ai RowContext
122
+ * Senza finalize significa che mi aspetto altre operazioni che prima o poi richiameranno questa funzione col finalize.
123
+ *
124
+ * Ad esempio, una volta selezionato ordinamento fisico/logico delle colonne so che parte un altra ricerca che mi rivalorizzerà da "writeValue", che già chiama questa funzione.
125
+ * Mettendo solo la chiamata da "writeValue" come "finalizzante" mi assicuro che smanattamenti a frontend non causino flickering fino a quando non servono
126
+ */
127
+ applyOrdering(view: AppSearch<any>, finalize: boolean): void;
128
+ /**
129
+ * All'interno della dialog "Ordinamento e Visibilità Colonne" mette la colonna specificata prima della colonna precedente
130
+ *
131
+ * @param {EsTableColumn} columnItem Colonna da spostare
132
+ */
133
+ sendUp(columnItem: EsTableColumn): void;
134
+ /**
135
+ * All'interno della dialog "Ordinamento e Visibilità Colonne" mette la colonna specificata dopo la colonna successiva
136
+ *
137
+ * @param {EsTableColumn} columnItem Colonna da spostare
138
+ */
139
+ sendDown(columnItem: EsTableColumn): void;
140
+ /**
141
+ * All'interno della dialog "Ordinamento e Visibilità Colonne" pinna la colonna specificata
142
+ *
143
+ * @param {EsTableColumn} columnItem Colonna da spostare
144
+ */
145
+ pinOrUnpinColumn(columnItem: EsTableColumn): void;
146
+ /**
147
+ * All'interno della dialog "Ordinamento e Visibilità Colonne" inverte le impostazioni di visibilità della colonna
148
+ *
149
+ * @param {EsTableColumn} columnItem Colonna da spostare
150
+ */
151
+ columnClicked(item: EsTableColumn): void;
152
+ /** All'apertura della dialog "Ordinamento e Visibilità Colonne" ricarica le informazioni attuali per permettere la modifica */
153
+ resetColumnVisSelection(): void;
154
+ /** Riaggiorna le **OrderDirectives** con le informazioni in **ColumnsList** */
155
+ private refreshColumnOrdering;
156
+ /** Effettua la selezione o meno del check globale (**globalColVisCheck**) di visibilità in base a se tutte le **TMPColumnsList** sono visibili o no */
157
+ updateGlobalColVisCheck(): void;
158
+ /**
159
+ * Chiamato quando una colonna viene riordinata all'interno della lista delle visibilità/posizioni colonne
160
+ *
161
+ * @param {CdkDragDrop<EsTableColumn[]>} event Evento di drop della lista
162
+ */
163
+ columnReordered(event: CdkDragDrop<EsTableColumn[]>): void;
164
+ /**
165
+ * Chiamato quando una colonna viene riordinata all'interno della lista delle visibilità/posizioni colonne
166
+ *
167
+ * @param {number} index Indice in cui voglio droppare l'elemento draggato
168
+ * @param {CdkDrag<EsTableColumn>} item Oggetto che sto draggando
169
+ *
170
+ * @returns {boolean} **true** se la colonna può essere spostata sull'indice **index**, **false** altrimenti
171
+ */
172
+ sortPredicate(index: number, item: CdkDrag<EsTableColumn>): boolean;
173
+ /**
174
+ * Funzione che effettua la conferma della visibilità e dell'ordine delle colonne.
175
+ *
176
+ * Questa selezione viene inoltre salvata nelle preferenze (**@esfaenza/preferences**), qualora l'Input **SavePreferences** fosse valorizzato
177
+ *
178
+ * @returns {boolean} **true** se non ci sono problemi, **false** altrimenti
179
+ */
180
+ confirmColumnVisibilitySelection(): boolean;
181
+ /**
182
+ * Effettuo l'unpinning di una colonna in maniera programmatica semplicemente eseguendo una per una le operazioni che verrebbero eseguite altrimenti
183
+ *
184
+ * @param {string} id Codice della colonna da spinnare
185
+ */
186
+ unpinColumn(id: string): void;
187
+ /** Sul click nella checkbox di selezione globale si scorrono tutte le colonne e si impostano al valore della check globale */
188
+ globalColVisCheckChanged(): void;
189
+ }
@@ -1,22 +1,22 @@
1
- import { EsTableComponent } from "../../components/es-table/es_table.component";
2
- import { EsTdDirective } from "../../directives/es_td.directive";
3
- import { EsThDirective } from "../../directives/es_th.directive";
4
- /** Classe contenente le gestioni particolari della modalità dinamica dell'es-table */
5
- export declare class DynamicModeHandler {
6
- private est;
7
- /** @ignore Costruttore*/
8
- constructor(est: EsTableComponent);
9
- /** Se non ho l'Input **DynamicRowColumnsDefinition** in modalità dinamica lo riempio con il default nome della colonna = testo della colonna */
10
- eventuallyReviewDynamicColumns(): void;
11
- /** Genera partendo dalle **DynamicRowColumnsDefinition** la lista di **EsThDirective** e **EsTdDirective** che servono per la tabella */
12
- emitThsAndTdsBasedOnDynamicDefinition(): {
13
- ths: EsThDirective[];
14
- tds: EsTdDirective[];
15
- };
16
- /** @ignore Helper */
17
- private getThFromOperation;
18
- private getTdFromOperation;
19
- private getThFromColumnDef;
20
- /** @ignore Helper */
21
- private getTdFromColumnDef;
22
- }
1
+ import { EsTableComponent } from "../../components/es-table/es_table.component";
2
+ import { EsTdDirective } from "../../directives/es_td.directive";
3
+ import { EsThDirective } from "../../directives/es_th.directive";
4
+ /** Classe contenente le gestioni particolari della modalità dinamica dell'es-table */
5
+ export declare class DynamicModeHandler {
6
+ private est;
7
+ /** @ignore Costruttore*/
8
+ constructor(est: EsTableComponent);
9
+ /** Se non ho l'Input **DynamicRowColumnsDefinition** in modalità dinamica lo riempio con il default nome della colonna = testo della colonna */
10
+ eventuallyReviewDynamicColumns(): void;
11
+ /** Genera partendo dalle **DynamicRowColumnsDefinition** la lista di **EsThDirective** e **EsTdDirective** che servono per la tabella */
12
+ emitThsAndTdsBasedOnDynamicDefinition(): {
13
+ ths: EsThDirective[];
14
+ tds: EsTdDirective[];
15
+ };
16
+ /** @ignore Helper */
17
+ private getThFromOperation;
18
+ private getTdFromOperation;
19
+ private getThFromColumnDef;
20
+ /** @ignore Helper */
21
+ private getTdFromColumnDef;
22
+ }
@@ -1,18 +1,18 @@
1
- import { DateService, ExportService, MessageService, UtilityService } from "@esfaenza/extensions";
2
- import { EsTableComponent } from "../../components/es-table/es_table.component";
3
- /** Classe contenente la gestione delle importazioni */
4
- export declare class ExportHandler {
5
- private est;
6
- private expExts;
7
- private msgExts;
8
- private utiExts;
9
- private dateExts;
10
- /** @ignore Costruttore*/
11
- constructor(est: EsTableComponent, expExts: ExportService, msgExts: MessageService, utiExts: UtilityService, dateExts: DateService);
12
- /**
13
- * Effettua l'esportazione dei dati
14
- *
15
- * @param {string} format Formato di esportazione. Letto solo in modalità Report della tabella
16
- */
17
- tryExport(format?: 'CSV' | 'XLSX'): void;
18
- }
1
+ import { DateService, ExportService, MessageService, UtilityService } from "@esfaenza/extensions";
2
+ import { EsTableComponent } from "../../components/es-table/es_table.component";
3
+ /** Classe contenente la gestione delle importazioni */
4
+ export declare class ExportHandler {
5
+ private est;
6
+ private expExts;
7
+ private msgExts;
8
+ private utiExts;
9
+ private dateExts;
10
+ /** @ignore Costruttore*/
11
+ constructor(est: EsTableComponent, expExts: ExportService, msgExts: MessageService, utiExts: UtilityService, dateExts: DateService);
12
+ /**
13
+ * Effettua l'esportazione dei dati
14
+ *
15
+ * @param {string} format Formato di esportazione. Letto solo in modalità Report della tabella
16
+ */
17
+ tryExport(format?: 'CSV' | 'XLSX'): void;
18
+ }
@@ -1,40 +1,40 @@
1
- import { EsTableComponent } from "../../components/es-table/es_table.component";
2
- /** Classe contenente la gestione della modalità gerarchica */
3
- export declare class HierarchyModeHandler {
4
- private est;
5
- /** @ignore Costruttore*/
6
- constructor(est: EsTableComponent);
7
- /**
8
- * Data una lista di oggetti assegno il livello gerarchico rispetto alla lista di oggetti passata
9
- *
10
- * @param {any[]} objs Lista di oggetti a cui aggiungere l'informazione del livello gerarchico
11
- */
12
- assignHierarchyLevels(objs: any[]): void;
13
- /**
14
- * Per ognuno degli oggetti passati gli assegna un livello di gerarchia in base a **ParentKey** e **OwnKey**
15
- *
16
- * @param {any[]} objs Oggetti a cui assegnare il livello di gerarchia
17
- * @param {number} levelToAssign Livello che sta assegnando attualmente questa iterazione (dato che è ricorsiva)
18
- *
19
- * @returns {number} Numero di oggetti a cui è stato assegnato un livello gerarchico
20
- */
21
- private assignLevel;
22
- /**
23
- * Funzione che permette di effettuare l'espansione di un parent quando la tabella funziona in modalità gerarchica
24
- *
25
- * @param {string} key Chiave del parent da espandere
26
- */
27
- expandParent(key: string): void;
28
- /**
29
- * Funzione che permette di effettuare il collapse di un parent quando la tabella funziona in modalità gerarchica
30
- *
31
- * @param {string} key Chiave del parent da collassare
32
- */
33
- collapseParent(key: string): void;
34
- /**
35
- * Collassa ricorsivamente tutti i figli di un parent identificato dalla **parentKey**
36
- *
37
- * @param {string} parentKey Chiave del parent di cui collassare i figli
38
- */
39
- private collapseChildOfParent;
40
- }
1
+ import { EsTableComponent } from "../../components/es-table/es_table.component";
2
+ /** Classe contenente la gestione della modalità gerarchica */
3
+ export declare class HierarchyModeHandler {
4
+ private est;
5
+ /** @ignore Costruttore*/
6
+ constructor(est: EsTableComponent);
7
+ /**
8
+ * Data una lista di oggetti assegno il livello gerarchico rispetto alla lista di oggetti passata
9
+ *
10
+ * @param {any[]} objs Lista di oggetti a cui aggiungere l'informazione del livello gerarchico
11
+ */
12
+ assignHierarchyLevels(objs: any[]): void;
13
+ /**
14
+ * Per ognuno degli oggetti passati gli assegna un livello di gerarchia in base a **ParentKey** e **OwnKey**
15
+ *
16
+ * @param {any[]} objs Oggetti a cui assegnare il livello di gerarchia
17
+ * @param {number} levelToAssign Livello che sta assegnando attualmente questa iterazione (dato che è ricorsiva)
18
+ *
19
+ * @returns {number} Numero di oggetti a cui è stato assegnato un livello gerarchico
20
+ */
21
+ private assignLevel;
22
+ /**
23
+ * Funzione che permette di effettuare l'espansione di un parent quando la tabella funziona in modalità gerarchica
24
+ *
25
+ * @param {string} key Chiave del parent da espandere
26
+ */
27
+ expandParent(key: string): void;
28
+ /**
29
+ * Funzione che permette di effettuare il collapse di un parent quando la tabella funziona in modalità gerarchica
30
+ *
31
+ * @param {string} key Chiave del parent da collassare
32
+ */
33
+ collapseParent(key: string): void;
34
+ /**
35
+ * Collassa ricorsivamente tutti i figli di un parent identificato dalla **parentKey**
36
+ *
37
+ * @param {string} parentKey Chiave del parent di cui collassare i figli
38
+ */
39
+ private collapseChildOfParent;
40
+ }
@@ -1,35 +1,35 @@
1
- import { EsTableComponent } from "../../components/es-table/es_table.component";
2
- import { UtilitiesHandler } from "./UtilitiesHandler";
3
- /** Classe che si occupa della gestione del recupero degli oggetti, paginazione e tutto ciò in cui gli elementi caricati vengono manipolati direttamente */
4
- export declare class ItemsHandler {
5
- private est;
6
- private utilities;
7
- /** @ignore Costruttore */
8
- constructor(est: EsTableComponent, utilities: UtilitiesHandler);
9
- /**
10
- * In base alla modalità specificata (ArrayMode, ViewMode, ecc...) questo metodo recupera l'array di oggetti da bindare ad interfaccia
11
- *
12
- * @param {boolean} onlyselected [false] Indica di prendere solo gli oggetti selezionati
13
- * @param {boolean} refreshPaging [false] Indica se aggiornare le informazioni di paginazione o meno
14
- * @param {boolean} allIfPossible [false] Indica se prendere tutti gli oggetti quaora possibile, usato solo in ArrayMode
15
- *
16
- * @returns {any[]} Lista degli oggetti su cui effettuare il bind lato interfaccia
17
- */
18
- getItemsByMode(onlyselected?: boolean, refreshPaging?: boolean, allIfPossible?: boolean): any[];
19
- /**
20
- * Metodo per effettuare il refresh della paginazione sul cambiamento degli oggetti da visualizzare in una singola pagina.
21
- *
22
- * Vale solo per la modalità Array
23
- *
24
- * @param {number} pageSize Dimensione della pagina
25
- */
26
- refreshPaging(pageSize: number): void;
27
- /**
28
- * Ottiene gli oggetti in base alla sorgente
29
- */
30
- private getViewItemsBySource;
31
- /** Genera le informazioni di paginazione e taglia la View in modalità array per mostrare solo gli oggetti della pagina specificata */
32
- private adaptViewToPaging;
33
- /** Se in modalità array applica gli ordinamenti ASC-DESC delle colonne */
34
- arrayModeReviewOrderings(items: any[]): any[];
35
- }
1
+ import { EsTableComponent } from "../../components/es-table/es_table.component";
2
+ import { UtilitiesHandler } from "./UtilitiesHandler";
3
+ /** Classe che si occupa della gestione del recupero degli oggetti, paginazione e tutto ciò in cui gli elementi caricati vengono manipolati direttamente */
4
+ export declare class ItemsHandler {
5
+ private est;
6
+ private utilities;
7
+ /** @ignore Costruttore */
8
+ constructor(est: EsTableComponent, utilities: UtilitiesHandler);
9
+ /**
10
+ * In base alla modalità specificata (ArrayMode, ViewMode, ecc...) questo metodo recupera l'array di oggetti da bindare ad interfaccia
11
+ *
12
+ * @param {boolean} onlyselected [false] Indica di prendere solo gli oggetti selezionati
13
+ * @param {boolean} refreshPaging [false] Indica se aggiornare le informazioni di paginazione o meno
14
+ * @param {boolean} allIfPossible [false] Indica se prendere tutti gli oggetti quaora possibile, usato solo in ArrayMode
15
+ *
16
+ * @returns {any[]} Lista degli oggetti su cui effettuare il bind lato interfaccia
17
+ */
18
+ getItemsByMode(onlyselected?: boolean, refreshPaging?: boolean, allIfPossible?: boolean): any[];
19
+ /**
20
+ * Metodo per effettuare il refresh della paginazione sul cambiamento degli oggetti da visualizzare in una singola pagina.
21
+ *
22
+ * Vale solo per la modalità Array
23
+ *
24
+ * @param {number} pageSize Dimensione della pagina
25
+ */
26
+ refreshPaging(pageSize: number): void;
27
+ /**
28
+ * Ottiene gli oggetti in base alla sorgente
29
+ */
30
+ private getViewItemsBySource;
31
+ /** Genera le informazioni di paginazione e taglia la View in modalità array per mostrare solo gli oggetti della pagina specificata */
32
+ private adaptViewToPaging;
33
+ /** Se in modalità array applica gli ordinamenti ASC-DESC delle colonne */
34
+ arrayModeReviewOrderings(items: any[]): any[];
35
+ }