@esfaenza/es-table 12.2.17 → 12.2.21

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 (143) hide show
  1. package/bundles/esfaenza-es-table.umd.js +3625 -1520
  2. package/bundles/esfaenza-es-table.umd.js.map +1 -1
  3. package/esfaenza-es-table.d.ts +7 -5
  4. package/esfaenza-es-table.metadata.json +1 -1
  5. package/esm2015/esfaenza-es-table.js +8 -6
  6. package/esm2015/lib/components/es-table/es_table.component.js +1316 -0
  7. package/esm2015/lib/components/es-table/es_table.component.loc.js +36 -0
  8. package/esm2015/lib/components/es-td/es_td.component.js +106 -0
  9. package/esm2015/lib/components/es-th/es_th.component.js +160 -0
  10. package/esm2015/lib/components/pager/table_pager.component.js +106 -0
  11. package/esm2015/lib/components/pager/table_pager.component.loc.js +22 -0
  12. package/esm2015/lib/core/handlers/classes/ColumnMetadataHandler.js +679 -0
  13. package/esm2015/lib/core/handlers/classes/DynamicModeHandler.js +64 -0
  14. package/esm2015/lib/core/handlers/classes/ExportHandler.js +43 -0
  15. package/esm2015/lib/core/handlers/classes/HierarchyModeHandler.js +136 -0
  16. package/esm2015/lib/core/handlers/classes/ItemsHandler.js +130 -0
  17. package/esm2015/lib/core/handlers/classes/ReportModeHandler.js +70 -0
  18. package/esm2015/lib/core/handlers/classes/RowGroupingHandler.js +475 -0
  19. package/esm2015/lib/core/handlers/classes/SelectionHandler.js +527 -0
  20. package/esm2015/lib/core/handlers/classes/UtilitiesHandler.js +169 -0
  21. package/esm2015/lib/core/handlers/index.js +10 -0
  22. package/esm2015/lib/directives/es_td.directive.js +18 -5
  23. package/esm2015/lib/directives/es_th.directive.js +64 -0
  24. package/esm2015/lib/domain/configuration/EsTableDefaultable.js +4 -0
  25. package/esm2015/lib/domain/configuration/EsTableModuleConfig.js +4 -0
  26. package/esm2015/lib/domain/externals/classes/CornerMenuOption.js +4 -0
  27. package/esm2015/lib/domain/externals/classes/EsTableColumnsDefinition.js +31 -0
  28. package/esm2015/lib/domain/externals/classes/EsTableOperationDefinition.js +22 -0
  29. package/esm2015/lib/domain/externals/classes/appsearch/AppOrdering.js +16 -0
  30. package/esm2015/lib/domain/externals/classes/appsearch/AppSearch.js +35 -0
  31. package/esm2015/lib/domain/externals/classes/appsearch/GenericItem.js +11 -0
  32. package/esm2015/lib/domain/externals/classes/appsearch/Group.js +17 -0
  33. package/esm2015/lib/domain/externals/classes/appsearch/GroupAggregation.js +16 -0
  34. package/esm2015/lib/domain/externals/classes/appsearch/GroupFilter.js +14 -0
  35. package/esm2015/lib/domain/externals/classes/appsearch/GroupOrAggregation.js +16 -0
  36. package/esm2015/lib/domain/externals/classes/appsearch/ItemsSelection.js +23 -0
  37. package/esm2015/lib/domain/externals/classes/report/ReportColumn.js +4 -0
  38. package/esm2015/lib/domain/externals/classes/report/ReportDefinition.js +4 -0
  39. package/esm2015/lib/domain/externals/classes/report/ReportOrder.js +4 -0
  40. package/esm2015/lib/domain/externals/classes/report/ReportParam.js +4 -0
  41. package/esm2015/lib/domain/externals/classes/report/ReportResult.js +4 -0
  42. package/esm2015/lib/domain/externals/classes/report/ReportRow.js +4 -0
  43. package/esm2015/lib/domain/externals/index.js +18 -0
  44. package/esm2015/lib/domain/index.js +3 -16
  45. package/esm2015/lib/domain/internals/classes/CacheTriptic.js +16 -0
  46. package/esm2015/lib/domain/internals/classes/EsTableColumn.js +24 -0
  47. package/esm2015/lib/domain/internals/classes/GroupPager.js +21 -0
  48. package/esm2015/lib/domain/internals/classes/GroupRouteFragment.js +17 -0
  49. package/esm2015/lib/domain/internals/classes/ThAggregation.js +16 -0
  50. package/esm2015/lib/domain/internals/classes/ThElement.js +2 -0
  51. package/esm2015/lib/domain/internals/index.js +7 -0
  52. package/esm2015/lib/es-table.module.js +16 -10
  53. package/esm2015/lib/tokens.js +6 -4
  54. package/esm2015/public-api.js +7 -6
  55. package/fesm2015/esfaenza-es-table.js +3579 -1597
  56. package/fesm2015/esfaenza-es-table.js.map +1 -1
  57. package/lib/{es_table.component.d.ts → components/es-table/es_table.component.d.ts} +186 -317
  58. package/lib/{es_table.component.loc.d.ts → components/es-table/es_table.component.loc.d.ts} +2 -6
  59. package/lib/{es_td.component.d.ts → components/es-td/es_td.component.d.ts} +14 -36
  60. package/lib/components/es-th/es_th.component.d.ts +89 -0
  61. package/lib/components/pager/table_pager.component.d.ts +54 -0
  62. package/lib/{pager → components/pager}/table_pager.component.loc.d.ts +2 -6
  63. package/lib/core/handlers/classes/ColumnMetadataHandler.d.ts +159 -0
  64. package/lib/core/handlers/classes/DynamicModeHandler.d.ts +32 -0
  65. package/lib/core/handlers/classes/ExportHandler.d.ts +22 -0
  66. package/lib/core/handlers/classes/HierarchyModeHandler.d.ts +40 -0
  67. package/lib/core/handlers/classes/ItemsHandler.d.ts +41 -0
  68. package/lib/core/handlers/classes/ReportModeHandler.d.ts +21 -0
  69. package/lib/core/handlers/classes/RowGroupingHandler.d.ts +114 -0
  70. package/lib/core/handlers/classes/SelectionHandler.d.ts +149 -0
  71. package/lib/core/handlers/classes/UtilitiesHandler.d.ts +67 -0
  72. package/lib/core/handlers/index.d.ts +9 -0
  73. package/lib/directives/es_td.directive.d.ts +16 -3
  74. package/lib/directives/es_th.directive.d.ts +46 -0
  75. package/lib/domain/configuration/EsTableDefaultable.d.ts +19 -0
  76. package/lib/domain/configuration/EsTableModuleConfig.d.ts +10 -0
  77. package/lib/domain/externals/classes/CornerMenuOption.d.ts +7 -0
  78. package/lib/domain/{classes → externals/classes}/EsTableColumnsDefinition.d.ts +5 -7
  79. package/lib/domain/{classes → externals/classes}/EsTableOperationDefinition.d.ts +1 -3
  80. package/lib/domain/{classes → externals/classes/appsearch}/AppOrdering.d.ts +0 -0
  81. package/lib/domain/externals/classes/appsearch/AppSearch.d.ts +67 -0
  82. package/lib/domain/externals/classes/appsearch/GenericItem.d.ts +13 -0
  83. package/lib/domain/externals/classes/appsearch/Group.d.ts +17 -0
  84. package/lib/domain/externals/classes/appsearch/GroupAggregation.d.ts +14 -0
  85. package/lib/domain/externals/classes/appsearch/GroupFilter.d.ts +12 -0
  86. package/lib/domain/externals/classes/appsearch/GroupOrAggregation.d.ts +14 -0
  87. package/lib/domain/externals/classes/appsearch/ItemsSelection.d.ts +22 -0
  88. package/lib/domain/externals/classes/report/ReportColumn.d.ts +15 -0
  89. package/lib/domain/externals/classes/report/ReportDefinition.d.ts +24 -0
  90. package/lib/domain/externals/classes/report/ReportOrder.d.ts +7 -0
  91. package/lib/domain/externals/classes/report/ReportParam.d.ts +40 -0
  92. package/lib/domain/externals/classes/report/ReportResult.d.ts +12 -0
  93. package/lib/domain/externals/classes/report/ReportRow.d.ts +5 -0
  94. package/lib/domain/externals/index.d.ts +17 -0
  95. package/lib/domain/index.d.ts +2 -15
  96. package/lib/domain/internals/classes/CacheTriptic.d.ts +14 -0
  97. package/lib/domain/internals/classes/EsTableColumn.d.ts +25 -0
  98. package/lib/domain/internals/classes/GroupPager.d.ts +22 -0
  99. package/lib/domain/internals/classes/GroupRouteFragment.d.ts +15 -0
  100. package/lib/domain/internals/classes/ThAggregation.d.ts +14 -0
  101. package/lib/domain/internals/classes/ThElement.d.ts +13 -0
  102. package/lib/domain/internals/index.d.ts +6 -0
  103. package/lib/es-table.module.d.ts +1 -1
  104. package/lib/tokens.d.ts +6 -3
  105. package/package.json +2 -1
  106. package/public-api.d.ts +6 -5
  107. package/esm2015/lib/domain/classes/AppOrdering.js +0 -16
  108. package/esm2015/lib/domain/classes/AppSearch.js +0 -35
  109. package/esm2015/lib/domain/classes/CornerMenuOption.js +0 -6
  110. package/esm2015/lib/domain/classes/EsTableColumn.js +0 -18
  111. package/esm2015/lib/domain/classes/EsTableColumnsDefinition.js +0 -31
  112. package/esm2015/lib/domain/classes/EsTableOperationDefinition.js +0 -24
  113. package/esm2015/lib/domain/classes/GenericItem.js +0 -15
  114. package/esm2015/lib/domain/classes/IAppSearch.js +0 -2
  115. package/esm2015/lib/domain/classes/ItemsSelection.js +0 -25
  116. package/esm2015/lib/domain/classes/ReportColumn.js +0 -6
  117. package/esm2015/lib/domain/classes/ReportDefinition.js +0 -6
  118. package/esm2015/lib/domain/classes/ReportOrder.js +0 -6
  119. package/esm2015/lib/domain/classes/ReportParam.js +0 -6
  120. package/esm2015/lib/domain/classes/ReportResult.js +0 -6
  121. package/esm2015/lib/domain/classes/ReportRow.js +0 -6
  122. package/esm2015/lib/es_table.component.js +0 -1825
  123. package/esm2015/lib/es_table.component.loc.js +0 -36
  124. package/esm2015/lib/es_td.component.js +0 -121
  125. package/esm2015/lib/es_th.component.js +0 -168
  126. package/esm2015/lib/models/EsTableModuleConfig.js +0 -6
  127. package/esm2015/lib/pager/table_pager.component.js +0 -70
  128. package/esm2015/lib/pager/table_pager.component.loc.js +0 -24
  129. package/lib/domain/classes/AppSearch.d.ts +0 -76
  130. package/lib/domain/classes/CornerMenuOption.d.ts +0 -13
  131. package/lib/domain/classes/EsTableColumn.d.ts +0 -16
  132. package/lib/domain/classes/GenericItem.d.ts +0 -25
  133. package/lib/domain/classes/IAppSearch.d.ts +0 -67
  134. package/lib/domain/classes/ItemsSelection.d.ts +0 -27
  135. package/lib/domain/classes/ReportColumn.d.ts +0 -29
  136. package/lib/domain/classes/ReportDefinition.d.ts +0 -46
  137. package/lib/domain/classes/ReportOrder.d.ts +0 -13
  138. package/lib/domain/classes/ReportParam.d.ts +0 -76
  139. package/lib/domain/classes/ReportResult.d.ts +0 -22
  140. package/lib/domain/classes/ReportRow.d.ts +0 -9
  141. package/lib/es_th.component.d.ts +0 -119
  142. package/lib/models/EsTableModuleConfig.d.ts +0 -9
  143. package/lib/pager/table_pager.component.d.ts +0 -50
@@ -1,34 +1,47 @@
1
1
  import { QueryList, ChangeDetectorRef, EventEmitter, OnChanges, SimpleChanges, ElementRef, TemplateRef } from '@angular/core';
2
2
  import { ControlValueAccessor, NgControl } from '@angular/forms';
3
- import { HashingService, UtilityService, ExportService } from '@esfaenza/extensions';
3
+ import { UtilityService, ExportService, MessageService, DateService } from '@esfaenza/extensions';
4
4
  import { LocalizationService } from '@esfaenza/localizations';
5
5
  import { PreferencesService } from '@esfaenza/preferences';
6
6
  import { ContextMenuComponent } from '@esfaenza/ngx-contextmenu';
7
- import { IAppSearch, AppOrdering, GenericItem, EsTableColumnsDefinition, CornerMenuOption, ReportResult, ReportColumn, EsTableOperationDefinition, EsTableColumn } from './domain';
8
- import { EsTd } from './es_td.component';
9
- import { EsTdDirective } from './directives/es_td.directive';
10
- import { ItemsSelection } from './domain/classes/ItemsSelection';
7
+ import { AppSearch, AppOrdering, EsTableColumnsDefinition, CornerMenuOption, ReportResult, EsTableOperationDefinition, EsTableColumn, GroupPager, GroupRouteFragment, ThElement } from '../../domain';
8
+ import { EsTd } from '../es-td/es_td.component';
9
+ import { EsTdDirective } from '../../directives/es_td.directive';
10
+ import { EsThDirective } from '../../directives/es_th.directive';
11
+ import { ItemsSelection } from '../../domain/externals/classes/appsearch/ItemsSelection';
12
+ import { Group } from "../../domain/externals/classes/appsearch/Group";
13
+ import { EsTableDefaultable } from '../../domain/configuration/EsTableDefaultable';
14
+ import { ExportHandler, ColumnMetadataHandler, DynamicModeHandler, HierarchyModeHandler, ItemsHandler, ReportModeHandler, RowGroupingHandler, SelectionHandler, UtilitiesHandler } from '../../core/handlers';
11
15
  /** Componente che permette di rappresentare una griglia di valori */
12
16
  export declare class EsTableComponent implements ControlValueAccessor, OnChanges {
13
17
  ngControl: NgControl;
14
18
  private prefService;
19
+ private deafults;
20
+ locale: string;
15
21
  lc: LocalizationService;
16
- private cdr;
17
- private hashExts;
22
+ cdr: ChangeDetectorRef;
23
+ private utilities_H;
18
24
  private utiExts;
19
25
  private expExts;
26
+ private dateExts;
27
+ private msgExts;
28
+ export_H: ExportHandler;
29
+ columnMetadata_H: ColumnMetadataHandler;
30
+ dynamicMode_H: DynamicModeHandler;
31
+ hierarchyMode_H: HierarchyModeHandler;
32
+ items_H: ItemsHandler;
33
+ reportMode_H: ReportModeHandler;
34
+ rowGrouping_H: RowGroupingHandler;
35
+ selection_H: SelectionHandler;
20
36
  /** @ignore */
21
- constructor(ngControl: NgControl, prefService: PreferencesService, lc: LocalizationService, cdr: ChangeDetectorRef, hashExts: HashingService, utiExts: UtilityService, expExts: ExportService);
37
+ constructor(ngControl: NgControl, prefService: PreferencesService, deafults: EsTableDefaultable, locale: string, lc: LocalizationService, cdr: ChangeDetectorRef, utilities_H: UtilitiesHandler, utiExts: UtilityService, expExts: ExportService, dateExts: DateService, msgExts: MessageService);
22
38
  /** View finale su cui bindarsi lato Frontend, il tipo può essere IAppSearch<any> (per la **viewMode**), any[] (per l'**arrayMode**) e ReportDefinition per la **reportMode** */
23
39
  View: any;
24
40
  /** Modello da cui l'es-table mostra i pulsanti di paginazione in basso a destra */
25
41
  arrayPulsanti: any;
26
42
  /** Indica se l'es-table deve mostrare il check globale nell'header per fare il "seleziona tutto" */
27
43
  globalCheck: boolean;
28
- /**
29
- * Tiene da conto l'ultimo elemento selezionato in modo da fare ragionamenti del tipo
30
- * "Ho selezionato questo, l'ultimo selezionato era **lastSelected**, devo selezionare tutti quelli in mezzo", ad esempio per la selezione multipla
31
- */
44
+ /** Tiene da conto l'ultimo elemento selezionato in modo da poter effettuare il SHIFT+CLICK */
32
45
  private lastSelected;
33
46
  /** Conteggio interno per il numero di elementi selezionati */
34
47
  selectedObjects: number;
@@ -76,23 +89,19 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
76
89
  [context: string]: EsTd[];
77
90
  };
78
91
  /** Modello rappresentante un singolo th della tabella, generato in base alle configurazioni e agli oggetti ricevuti */
79
- RowTHs: {
80
- ID: string;
81
- Visible: boolean;
82
- Class: string;
83
- Content: string;
84
- Order: string;
85
- Orderable: boolean;
86
- }[];
92
+ RowTHs: ThElement[];
87
93
  /** Modello di appoggio temporaneo per i **RowTHs** */
88
- TMPRowTHs: {
89
- ID: string;
90
- Visible: boolean;
91
- Class: string;
92
- Content: string;
93
- Order: string;
94
- Orderable: boolean;
95
- }[];
94
+ TMPRowTHs: ThElement[];
95
+ /** Modello di appoggio temporaneo per i **RowThGroups** */
96
+ TMPRowThGroups: {
97
+ Span: number;
98
+ Template: TemplateRef<any>;
99
+ }[][];
100
+ /** Modello rappresentante un singolo header group della tabella. Questa lista è già ordinata e pronta per essere utilizzata in ngFor */
101
+ RowThGroups: {
102
+ Span: number;
103
+ Template: TemplateRef<any>;
104
+ }[][];
96
105
  /** Cache per i routerLink generati nelle tabelle dinamiche */
97
106
  DynamicTableRouterLinkCache: {};
98
107
  /**
@@ -119,22 +128,22 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
119
128
  TMPColumnsList: EsTableColumn[];
120
129
  /** Valore del check globale di visibilità valido per tutte le colonne in **ColumnsList** */
121
130
  globalColVisCheck: boolean;
122
- /** Contenitore di tutte le sottoscrizioni alle variazioni di ordine dei th che vengono create, registrate e gestite automaticamente dall'es-table */
123
- private EsThsOrderChangeSubscriptions;
131
+ /** Query per recuperare tutte le nuove direttive assegnati a direttiva (Per la modalità dinamica dell'es-table) */
132
+ EsTdsDirective: QueryList<EsTdDirective>;
124
133
  /** Query per recuperare tutti gli es-td assegnati a direttiva (Per la modalità dinamica dell'es-table) */
125
- inputTemplates: QueryList<EsTdDirective>;
126
- /** Query per recuperare tutti gli es-th */
134
+ EsThsDirective: QueryList<EsThDirective>;
135
+ /** @deprecated Query per recuperare tutti gli es-th */
127
136
  private EsThs;
128
- /** Query per recuperare tutti gli es-td */
137
+ /** @deprecated Query per recuperare tutti gli es-td */
129
138
  private EsTds;
130
- /** Query per recuperare le informazioni del body (punto della tabella dove vengono mostrate le righe) */
131
- templateRef: any;
132
- /** Query per recuperare le informazioni dell'header (punto della tabella dove vengono mostrate le intestazioni delle righe) */
133
- templateRefHeader: any;
139
+ /** @deprecated Query per recuperare le informazioni del body (punto della tabella dove vengono mostrate le righe) */
140
+ bodyRef: any;
141
+ /** @deprecated Query per recuperare le informazioni dell'header (punto della tabella dove vengono mostrate le intestazioni delle righe) */
142
+ headerRef: any;
134
143
  /** Query per recuperare le informazioni sul raggruppamento degli header */
135
- templateRefHeaderGroup: any;
144
+ headerGroupRef: any;
136
145
  /** Query per recuperare le informazioni sul raggruppamento di secondo livello degli header */
137
- templateRefSecondaryHeaderGroup: any;
146
+ secondaryHeaderGroupRef: any;
138
147
  /** Opzioni extra che devono apparire nel Menù contestuale in alto a destra, richiamato dai 3 pallini verticali */
139
148
  CornerMenuOptions: CornerMenuOption[];
140
149
  /** Indica se dev'essere possibile effettuare il resize delle colonne */
@@ -155,7 +164,11 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
155
164
  * @deprecated Utilizzare l'Input **Template** delle es-td e assegnare un template con tutti i binding che si vuole ai click
156
165
  */
157
166
  CustomCellActionsOn: string;
158
- /** Serve per decidere di lanciare o meno il **event.stopPropagation()** al termine della gestione dell'evento */
167
+ /**
168
+ * Serve per decidere di lanciare o meno il **event.stopPropagation()** al termine della gestione dell'evento
169
+ *
170
+ * @deprecated Utilizzare l'Input **Template** delle es-td e assegnare un template con tutti i binding che si vuole ai click
171
+ */
159
172
  CellActionPropagates: boolean;
160
173
  /**
161
174
  * Decide se utilizzare o meno le CustomCells. Impostandolo a **true** l'es-table diventa in grado di gestire nativamente:
@@ -171,14 +184,14 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
171
184
  UseCustomCells: boolean;
172
185
  /** Permette di impostare l'altezza massima della tabella. Se null la dimensione si adatta al numero di elementi attualmente in visualizzazione */
173
186
  MaxHeight: number;
174
- /** Classi da applicare alla tabella oltre a quelle gestite autonomamente dalla libreria */
175
- Class: string;
187
+ /** Classi da applicare al contenitore della tabella */
188
+ ContainerClass: any;
176
189
  /** Permette o meno l'export in formato XLSX */
177
190
  XLSXExport: boolean;
178
191
  /** Permette o meno l'export in formato CSV */
179
192
  CSVExport: boolean;
180
193
  /** Permette di visualizzare o meno l'opzione di paginazione "Tutti" */
181
- AllSearch: boolean;
194
+ AllSearch: any;
182
195
  /** Diminuisce gli spazi fra una cella e l'altra, e internamente il padding del font in modo da presentare molti più dati in un'unica pagina */
183
196
  HighCellDensity: boolean;
184
197
  /** Abilita o meno la possibilità di selezionare oggetti */
@@ -197,8 +210,8 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
197
210
  Export: boolean;
198
211
  /** Indica se permettere la selezione multipla Windows-like cliccando un oggetto e facendo poi Shift + click su un oggetto successivo */
199
212
  ShiftClick: boolean;
200
- /** Mostra o nasconde le informazioni di paginazione, sia i pulsanti, sia il selettore degli oggetti per pagina */
201
- ShowPaging: boolean;
213
+ /** Indica il testo che va a sostituire "Oggetti Visualizzati" in caso si stia facendo qualcosa di custom */
214
+ CountLabel: string;
202
215
  /** Indica se nascondere o mostrare il componente di paginazione */
203
216
  HidePaging: boolean;
204
217
  /** Indica se nascondere o mostrare il conteggio degli elementi trovati */
@@ -210,9 +223,7 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
210
223
  /** Nome dell'esportazione generata da questa tabella */
211
224
  ExportFileName: string;
212
225
  /** Classe (HTML) di default della tabella */
213
- TableClass: string;
214
- /** Testo da visualizzare nel conteggio. Di default: "Oggetti selezionati" */
215
- CountLabel: string;
226
+ TableClass: any;
216
227
  /**
217
228
  * Funzione da utilizzare in esportazione. Nel formato "Report" avrà un unico parametro "Formato" e nessun valore di ritorno.
218
229
  *
@@ -253,12 +264,8 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
253
264
  HiddenColumns: boolean;
254
265
  /** Permette di riordinare le colonne in base alle impostazioni effettuate dal Menù contestuale in alto a destra */
255
266
  ColumnsOrdering: boolean;
256
- /**
257
- * Eventuale supporto alle ricerche applicate alla modalità Array
258
- *
259
- * @deprecated Utilizzato solo per un caso particolare del Metering
260
- */
261
- SearchView: IAppSearch<any>;
267
+ /** Eventuale supporto alle ricerche applicate alla modalità Array */
268
+ SearchView: AppSearch<any>;
262
269
  /** Abilita o disabilita il sistema che permette di selezionare tutti gli elementi nella vista */
263
270
  SelectAll: boolean;
264
271
  /** Simula la paginazione anche per le tabelle che funzionano in modalità Array */
@@ -277,6 +284,10 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
277
284
  StartsExpanded: boolean;
278
285
  /** Indica se effettuare il salvataggio delle preferenze di ricerca */
279
286
  SavePreferences: boolean;
287
+ /** Indica dove visualizzare le informazioni di paginazione, se sopra, sotto o in entrambi */
288
+ PagingStyle: 'both' | 'top' | 'bottom';
289
+ /** Indica dove visualizzare le informazioni di paginazione, se sopra, sotto o in entrambi */
290
+ RowGroupingPagingStyle: 'left' | 'right';
280
291
  /**
281
292
  * Sorgente dati secondaria
282
293
  *
@@ -290,14 +301,21 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
290
301
  */
291
302
  TertiarySource: boolean;
292
303
  /** Indica se utilizzare la cache di selezione che permette di mantenere gli stati di selezione dei vari oggetti navigando da una pagina all'altra */
293
- UseSelectionCache: boolean;
304
+ UseSelectionCache: any;
305
+ /** Permette di decidere se, in modalità raggruppamento, mostrare o meno il valore delle colonne di gruppo negli oggetti finali. Di default sono nascosti */
306
+ ShowItemGroupsColumns: any;
294
307
  /** Evento che viene richiamato al cambio di oridnamento di una colonna */
295
308
  onOrderChanged: EventEmitter<AppOrdering>;
296
309
  /**
297
310
  * Evento che viene richiamato quando l'es-table ritiene sia necessario ri-effettuare la ricerca.
298
- * Il booleano dell'evento indica se viene suggerito di resettare la pagina o meno
311
+ * Il booleano dell'evento indica se viene suggerito di resettare la pagina o meno.
312
+ *
313
+ * Solo in caso venga utilizzata la modalità a raggruppamenti di righe può succedere che l'es-table passi un intero AppSearch come parametro di ricerca,
314
+ * in quel caso l'applicazione ricevente dovrà onorare la richiesta spedendo al backand l'oggetto di ricerca AS-IS
315
+ *
316
+ * il tipo dell'Emitter invece di essere [boolean | AppSearch<any>] è stato impostato a "any" per evitare problemi di retrocompatibilità
299
317
  */
300
- onSearchRequest: EventEmitter<boolean>;
318
+ onSearchRequest: EventEmitter<any>;
301
319
  /** Evento che parte ad ogni modifica di "checkaggio" in forma di comodo array. Espone l'oggetto con lo stato di check attuale */
302
320
  onSelectionChanged: EventEmitter<ItemsSelection<any>>;
303
321
  /** Evento richiamato all'eliminazione di un oggetto */
@@ -337,19 +355,79 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
337
355
  /** Numero di pagine (durante la paginazione in modalità Array) */
338
356
  arraymodePages: number;
339
357
  /** Oggetti per ogni pagina (durante la paginazione in modalità Array) */
340
- ArraymodeItemsPerPage: number;
358
+ ArraymodeItemsPerPage: any;
341
359
  /** Oggetto di selezione per la modalità Array, che deve comportarsi come la controparte in modalità View */
342
360
  arraymodeSelection: ItemsSelection<any>;
361
+ /** Colonne da visualizzare in modalità array */
362
+ arrayColumns: string[];
363
+ /** Ordine delle colonne da visualizzare in modalità array */
364
+ arrayColumnOrdering: string[];
365
+ /** Ordinamenti ASC-DESC sulle colonne in modalità array */
366
+ arrayOrders: AppOrdering[];
343
367
  /**
344
368
  * Variabile che serve a gestire il momento in cui l'es-table aggiorna la paginazione (pulsanti ecc).
345
369
  * Essendo operazioni comunque costose le effettuo solo su binding esterni, non su rewrite generati internamente
346
370
  */
347
371
  private internalWriteCall;
348
- /** Cache di selezione Hash - Oggetto */
349
- private selOrDeselCache;
372
+ /**
373
+ * Cache che conterrà tutte le ricerche effettuate su gruppi diversi dal primo e su elementi contenuti nei gruppi.
374
+ * In caso di cambi di ordinamento delle colonne diverse dalla prima tutte le chiamate fatte dal secondo livello in poi devono essere rieseguite secondo la seguente logica:
375
+ *
376
+ *
377
+ * **Cambio ordinamento sul primo gruppo**: reload completo, non mi occupo di ripulire gli elementi bindati in alcun modo
378
+ *
379
+ * **Cambio ordinamento sulla colonna relativa all'N-esimo gruppo**: reload completo del contenuto dei gruppi precedenti, ripulendo precedentemente
380
+ * tutti gli elementi con **_grouplevel** = N
381
+ *
382
+ * **Cambio ordinamento su una colonna non raggruppata**: reload completo per tutti i gruppi finali aperti, devo precedentemente ripulire tutti gli elementi con **_item** = true
383
+ *
384
+ * Altri eventi non dovrebbero rappresentare problemi:
385
+ * - Selezione: non cambia nulla
386
+ * - Paginazione: cambia a livello root quindi viene ricaricato tutto comunque, stesso vale per le paginazioni interne
387
+ */
388
+ groupSearchRequestsCache: {
389
+ path: string;
390
+ route: GroupRouteFragment[];
391
+ view: AppSearch<any>;
392
+ group_column: string;
393
+ }[];
394
+ /** Variabile d'appoggio per capire se c'è bisogno di ri-effettuare una ricerca o meno */
395
+ private ResearchNeeded;
396
+ /** Colonne visibili della vista attuale. Valorizzato di default al numero massimo di colonne supportate dalla tabella per le casistiche in assenza di custom cells */
397
+ Columns: {
398
+ Visibile: number;
399
+ VisibleUnpinned: number;
400
+ Global: number;
401
+ };
402
+ /** In caso di Row Grouping qui viene salvata la vista principale dei gruppi base */
403
+ MainGroupView: AppSearch<any>;
404
+ /** Conteggio base degli oggetti. In modalità normale viene resettato ad ogni nuova View inserita, in modalità RowGrouping viene resettato solo ad una nuova View di livello "0" */
405
+ BaseItemsCount: any;
406
+ /** Indica se ci sono delle colonne pinnate e visibili. Serve per poter settare tutte le colonne prima che arrivino dati a pinned*/
407
+ HasPinnedColumns: boolean;
408
+ /** Larghezza calcolata del container delle colonne pinnate */
409
+ PinnedContainerWidth: number;
410
+ /** Indica se nonostante siamo in modalità array sono stati individuati dei gruppi. In tal caso es-table si comporta da pseudo backend ed effettua le aggregazioni e raggruppamenti completamente lato client */
411
+ ArrayGrouping: boolean;
412
+ /** Indica che l'es-table è basata sulle direttive (nuova modalità) */
413
+ DirectivesBased: boolean;
414
+ /** Opzioni di paginazione */
415
+ PagerOptions: {
416
+ PagerCount: number;
417
+ ShowCount: boolean;
418
+ ShowPaging: boolean;
419
+ UsesView: boolean;
420
+ ShowButtons: boolean;
421
+ ShowPagingOptions: boolean;
422
+ View: any;
423
+ Ready: boolean;
424
+ Searches: 'items' | 'groups';
425
+ };
350
426
  /** @ignore */
351
427
  ngOnInit(): void;
352
428
  /** @ignore */
429
+ ngAfterViewInit(): void;
430
+ /** @ignore */
353
431
  ngOnDestroy(): void;
354
432
  /** @ignore */
355
433
  ngOnChanges(changes: SimpleChanges): Promise<void>;
@@ -363,24 +441,15 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
363
441
  propagateChange: (_: any) => void;
364
442
  /** @ignore */
365
443
  writeValue(obj: any): void;
444
+ /** Funzione di trackby per il body che dovrebbe evitare il 90% delle change detection */
445
+ bodyTrackBy: (index: number, item: any) => any;
366
446
  /**
367
- * In base alla modalità specificata (ArrayMode, ViewMode, ecc...) questo metodo recupera l'array di oggetti da bindare ad interfaccia
368
- *
369
- * @param {boolean} onlyselected [false] Indica di prendere solo gli oggetti selezionati
370
- * @param {boolean} refreshPaging [false] Indica se aggiornare le informazioni di paginazione o meno
371
- * @param {boolean} allIfPossible [false] Indica se prendere tutti gli oggetti quaora possibile, usato solo in ArrayMode
372
- *
373
- * @returns {any[]} Lista degli oggetti su cui effettuare il bind lato interfaccia
374
- */
375
- private getItemsByMode;
376
- /** @ignore */
377
- private getViewItemsBySource;
378
- /**
379
- * Metodo che prende tutti gli oggetti di cui dispone divisi in bucket da 100 elementi
380
- *
381
- * @returns {any[][]} Matrice di array Nx100
447
+ * Successivamente al bind del nuovo input questa funzione si occupa di finalizzare tutti i parametri di funzionamento dell'es-table
448
+ * in base a Input - Modello, e qualsiasi altra cosa possa servire
382
449
  */
383
- private getItemSlices;
450
+ private finalizeContext;
451
+ /** Genera le informzioni di paginazione per la vista globale dell'es-table */
452
+ private setupPagingInformations;
384
453
  /**
385
454
  * Metodo che gestisce l'endless scroll e in base a quanto la tabella è stata scrollata aggiunge degli elementi extra a **TMPBoundSource**
386
455
  *
@@ -392,45 +461,23 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
392
461
  * all'es-table per renderizzare i valori da mostrare
393
462
  */
394
463
  private postBoundSourceCalculation;
464
+ /** Per poter distinguere le chiamate a questo metodo: Dopo il setTimeout se uso gli EsTd/EsTh vecchi, senza il setTimeout se uso le nuove direttive */
465
+ private internalPostBoundSource;
395
466
  /**
396
- * Valuta quali elementi devono essere marcati come selezionati nella vista attuale. Si basa sull'oggetto **selection** interno all'AppSearch
397
- *
398
- * @param {any[]} items Oggetti di cui valutare la selezione
399
- * @param {ItemsSelection<any>} selectionItem Oggetti di selezione derivante dalla view o dall'oggetto per Array
400
- */
401
- private evaluateSelection;
402
- /**
403
- * Valuta quali elementi devono essere marcati come selezionati nella vista attuale. Si basa sull'oggetto **arraymodeSelection** dell'es-table
404
- *
405
- * @param {any[]} array Lista di oggetti di cui valutare la selezione in modalità array
406
- */
407
- private arrayModeEvaluateSelection;
408
- /**
409
- * Implementazione agnostica della valutazione delle selezioni degli oggetti. Richiede gli oggetti della vista attuale e l'itemSelector
410
- *
411
- * @param {any[]} items Oggetti di cui aggiornare lo stato di selezione
412
- * @param {ItemsSelection<any>} selectionItem Oggetto contenente lo stato attuale di selezione
413
- */
414
- private handleSelectionEvaluation;
415
- /**
416
- * Se non ho l'Input **DynamicRowColumnsDefinition** in modalità dinamica lo riempio con il default nome della colonna = testo della colonna
417
- */
418
- private eventuallyReviewDynamicColumns;
419
- /**
420
- * Partendo dagli **EsThs** estrappolo la lista di **EsTableColumn** che questa tabella dovrà eventualmente gestire per Visibilità e Ordine
467
+ * Effettua il binding degli oggetti pervenuti da questa chiamata con gli oggetti effettivamente da graficare
421
468
  *
422
- * Costo: 1 scan EsThs
423
- *
424
- * @param {EsTh[]} ths Colonne della tabella
469
+ * @param {any} view View da cui sono arrivati gli oggetti. Può essere o un array se sono in **arrayMode** o una AppSearch<T> se sono in **viewMode**
425
470
  */
426
- private reviewColumnsList;
471
+ private bindDisplayToLoadedItemsOrGroups;
472
+ /** Metodo richiamato solo quando **TMPRowTDs** e **TMPRowTHs** sono completamente generati ed aggiustati. Serve per collegarli alle variabili usate lato binding HTML */
473
+ private MoveTemporaryVariablesToRealOnes;
427
474
  /**
428
- * Terminato il binding delle colonne da **reviewColumnsList** e della **View** dal **writeValue** questo metodo si occupa
429
- * dell'allineamento delle informazioni fra le colonne calcolate internamente e le informazioni sulle colonne che arrivano dall'AppSearch
475
+ * Permette di selezionare o deselezionare in maniera arbitraria degli oggetti
430
476
  *
431
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
477
+ * @param {any[]} items Oggetti da selezionare o deselezionare
478
+ * @param {boolean} select **true** per selezionarli, **false** per non toccarli
432
479
  */
433
- private alignColumnsIfLoadedView;
480
+ setSelectionStatus(items: any[], select: boolean): void;
434
481
  /**
435
482
  * Metodo che gestisce il cambio di Ordinamento di una colonna
436
483
  *
@@ -440,25 +487,11 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
440
487
  thOrderChanged(id: string, order?: 'DESC' | 'ASC'): void;
441
488
  /**
442
489
  * Metodo da chiamare ogni volta che si vuole dare evidenza all'esterno del bisogno di rieffettuare la ricerca
443
- */
444
- private emitSearchRequest;
445
- /**
446
- * In base alla visibilità registrata nelle **ColumnsList** questo metodo si occupa di prendere tutti i **EsThs** ed **EsTds** relativi e nasonderli/mostrarli
447
- *
448
- * Costo: 1 scan ColumnsList, 1 scan EsThs, 1 scan EsTds
449
- *
450
- * @param {EsTh[]} ths Header della tabella
451
- * @param {EsTd[]} tds Celle della tabella
452
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
453
- */
454
- private refreshColumnsVisibility;
455
- /**
456
- * Allinea gli ordinamenti dati fra le **EsThs** e le informazioni all'interno della View bindata
457
490
  *
458
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
459
- * @param {EsTh[]} ths Colonne della tabella
491
+ * @param {boolean} resetsPage Indica al listener che deve resettare il numero di pagina
492
+ * @param {AppSearch<any>} viewOverride Override della view da emettere per questa ricerca
460
493
  */
461
- private alignHeadersOrdering;
494
+ emitSearchRequest(resetsPage: boolean, viewOverride?: AppSearch<any>): void;
462
495
  /**
463
496
  * Partendo dagli **EsTds** bindati genera, all'interno del dizionario **TMPRowTDs** tutti i contesti dei vari oggetti.
464
497
  *
@@ -466,8 +499,8 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
466
499
  *
467
500
  * Costo: 2 scan EsThs, 1 scan EsTds
468
501
  *
469
- * @param {EsTh[]} ths Colonne della tabella
470
- * @param {EsTd[]} tds Celle della tabella
502
+ * @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
503
+ * @param {EsTd[] | EsTdDirective[]} tds Celle della tabella
471
504
  */
472
505
  private evaluateRowTds;
473
506
  /**
@@ -477,122 +510,38 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
477
510
  *
478
511
  * Costo: 1 scan EsThs
479
512
  *
480
- * @param {EsTh[]} ths Colonne della tabella
513
+ * @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
481
514
  */
482
515
  private evaluateRowThs;
483
516
  /**
484
- * Metodo che genera l'ordine di default delle colonne
485
- *
486
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
487
- */
488
- private generateDefaultOrder;
489
- /**
490
- * Applica l'ordine specificato alle varie colonne
491
- *
492
- * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
493
- * @param {boolean} finalize Se **true** significa che non mi aspetto di dover effettuare altre operazioni e posso renderizzare la situazione in base ai RowContext
494
- * Senza finalize significa che mi aspetto altre operazioni che prima o poi richiameranno questa funzione col finalize.
495
- *
496
- * Ad esempio, una volta selezionato ordinamento fisico/logico delle colonne so che parte un altra ricerca che mi rivalorizzera da "writeValue", che già chiama questa funzione.
497
- * Mettendo solo la chiamata da "writeValue" come "finalizzante" mi assicuro che smanattamenti a frontend non causino flickering fino a quando non servono
498
- */
499
- private applyOrdering;
500
- /**
501
- * All'interno della dialog "Ordinamento e Visibilità Colonne" mette la colonna specificata prima della colonna precedente
502
- *
503
- * @param {EsTableColumn} columnItem Colonna da spostare
504
- */
505
- sendUp(columnItem: EsTableColumn): void;
506
- /**
507
- * All'interno della dialog "Ordinamento e Visibilità Colonne" mette la colonna specificata dopo la colonna successiva
508
- *
509
- * @param {EsTableColumn} columnItem Colonna da spostare
510
- */
511
- sendDown(columnItem: EsTableColumn): void;
512
- /**
513
- * All'interno della dialog "Ordinamento e Visibilità Colonne" inverte le impostazioni di visibilità della colonna
514
- *
515
- * @param {EsTableColumn} columnItem Colonna da spostare
516
- */
517
- columnClicked(item: EsTableColumn): void;
518
- /**
519
- * All'apertura della dialog "Ordinamento e Visibilità Colonne" ricarica le informazioni attuali per permettere la modifica
520
- */
521
- resetColumnVisSelection(): void;
522
- /**
523
- * Riaggiorna le **OrderDirectives** con le informazioni in **ColumnsList**
524
- */
525
- private refreshColumnOrdering;
526
- /**
527
- * Effettua la selezione o meno del check globale (**globalColVisCheck**) di visibilità in base a se tutte le **TMPColumnsList** sono visibili o no
528
- */
529
- updateGlobalColVisCheck(): void;
530
- /**
531
- * Funzione che effettua la conferma della visibilità e dell'ordine delle colonne.
532
- *
533
- * Questa selezione viene inoltre salvata nelle preferenze (**@esfaenza/preferences**), qualora l'Input **SavePreferences** fosse valorizzato
534
- *
535
- * @returns {boolean} **true** se non ci sono problemi, **false** altrimenti
536
- */
537
- confirmColumnVisibilitySelection(): boolean;
538
- /**
539
- * Sul click nella checkbox di selezione globale si scorrono tutte le colonne e si impostano al valore della check globale
540
- */
541
- globalColVisCheckChanged(): void;
542
- /**
543
- * Data una lista di oggetti assegno il livello gerarchico rispetto alla lista di oggetti passata
517
+ * Sposta la ricerca di una pagina in avanti (o indietro)
544
518
  *
545
- * @param {any[]} objs Lista di oggetti a cui aggiungere l'informazione del livello gerarchico
519
+ * @param {number} page Numero di pagine da aggiungere (o sottrarre, se negativo) alla pagina attuale
520
+ * @param {any} pager Elemento di separazione su cui è effettuata la ricerca
546
521
  */
547
- private assignHierarchyLevels;
522
+ addToPageGroup(page: number, pager: GroupPager): void;
548
523
  /**
549
- * Per ognuno degli oggetti passati gli assegna un livello di gerarchia in base a **ParentKey** e **OwnKey**
550
- *
551
- * @param {any[]} objs Oggetti a cui assegnare il livello di gerarchia
552
- * @param {number} levelToAssign Livello che sta assegnando attualmente questa iterazione (dato che è ricorsiva)
524
+ * Sposta la ricerca alla pagina specificata
553
525
  *
554
- * @returns {number} Numero di oggetti a cui è stato assegnato un livello gerarchico
526
+ * @param {number} page Pagina a cui navigare
527
+ * @param {any} pager Elemento di separazione su cui è effettuata la ricerca
555
528
  */
556
- private assignLevel;
529
+ goToPageGroup(page: number, pager: GroupPager): void;
557
530
  /**
558
- * Funzione che permette di effettuare l'espansione di un parent quando la tabella funziona in modalità gerarchica
531
+ * Gestisce i click sulla tabella solo per le righe a gruppo.
532
+ * O rimuove gli elementi attualmente presenti o carica il contenuto del gruppo
559
533
  *
560
- * @param {string} key Chiave del parent da espandere
561
- */
562
- expandParent(key: string): void;
563
- /**
564
- * Funzione che permette di effettuare il collapse di un parent quando la tabella funziona in modalità gerarchica
534
+ * @param {any} group Gruppo bindato su cui si è effettuato il click
565
535
  *
566
- * @param {string} key Chiave del parent da collassare
567
- */
568
- collapseParent(key: string): void;
569
- /**
570
- * Collassa ricorsivamente tutti i figli di un parent identificato dalla **parentKey**
571
- *
572
- * @param {string} parentKey Chiave del parent di cui collassare i figli
536
+ * @returns {boolean} **true** se l'operaizone è andata a buon fine, **false** altrimenti
573
537
  */
574
- private collapseChildOfParent;
538
+ handleGroupClick(group: Group): boolean;
575
539
  /**
576
540
  * Gestisce la selezione globale degli oggetti, sia per pagina che a livello di **SelectAll**
577
541
  *
578
542
  * @param {boolean} forcedVal Valore forzato di check da assegnare agli oggetti
579
543
  */
580
544
  globalCheckChanged(forcedVal?: boolean): void;
581
- /**
582
- * Helper per gestire la selezione di N elementi utilizzando la Cache di selezione ed eventualmente aggiornando il concetto di "all selection"
583
- *
584
- * Vunziona sia in modalità Array che in modalità View Semplice o View Avanzata (con le Custom Cells)
585
- *
586
- * @param {any[]} items Oggetti da selezionare o deselezionare
587
- * @param {boolean} forcedVal Valore forzato di check da assegnare agli oggetti
588
- *
589
- * @returns {ItemsSelection<any>} Oggetto di selezione aggiornato con le informazioni sull'ultima operazione effettuata
590
- */
591
- private handleItemsSelection;
592
- /**
593
- * Finalizza le informazioni di selezione del **ItemsSelection** corrente
594
- */
595
- private finalizeSelectionInformations;
596
545
  /**
597
546
  * Gestisce i click sulla tabella, gestendo eventualmente anche gli Shift + Click per selezionare un range di oggetti
598
547
  *
@@ -602,16 +551,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
602
551
  * @returns {boolean} **true** se l'operaizone è andata a buon fine, **false** altrimenti
603
552
  */
604
553
  handleClick(event: any, item: any): boolean;
605
- /**
606
- * Valuta la quantità di oggetti che sono stati selezionati al termine di un evento di selezione
607
- *
608
- * @returns {number} Numero di oggetti selezionati
609
- */
610
- private evaluateSelected;
611
- /**
612
- * Gestisce il comando di "Seleziona tutto in tutte le pagine" o il suo contrario, cioè "Reimposta selezione"
613
- */
614
- selectAllOrResetSelection(): void;
615
554
  /**
616
555
  * Sposta la ricerca di una pagina in avanti (o indeitro)
617
556
  *
@@ -628,35 +567,10 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
628
567
  * Evento richiamato sul cambio della paginazione. Verrà richiamato l'evento **emitSearchRequest**
629
568
  * per comunicare al componente che utilizza questa tabella che i dati sono da aggiornare
630
569
  */
631
- onItemsPerPageChanged(): void;
632
- /**
633
- * Effettua l'esportazione dei dati
634
- *
635
- * @param {string} format Formato di esportazione. Letto solo in modalità Report della tabella
636
- */
637
- tryExport(format?: string): void;
638
- /**
639
- * Metodo che effettivamente genera gli header e i dati per l'esportazione con **ngx-csv**
640
- *
641
- * @param {any[]} items Oggetti da esportare
642
- */
643
- private setupExport;
644
- /**
645
- * Sul click dell'Header di una colonna questo metodo si occupa di applicare l'ordinamento successivo e di notificare con **emitSearchRequest**
646
- * il bisogno di aggiornare i dati da parte del componente che utilizza la tabella
647
- *
648
- * Utilizzato solo in modalità REport
649
- *
650
- * @param {ReportColumn} clm Colonna del report per cui ordinare
651
- */
652
- setupNextOrderAndSearch(clm: ReportColumn): void;
653
- /**
654
- * Metodo che si occupa di gestire la grafica della tabella in base alle informazioni di ordinamento colonne e paginazione contenuti nel modello
655
- */
656
- private reviewReportBindings;
657
- /**
658
- * Metodo che gestisce la modifica del tempo specificato per l'aggiornamento automatico
659
- */
570
+ onItemsPerPageChanged(newIpp: any): void;
571
+ /** Evento richiamato sul cambio della paginazione. Verrà richiamato l'evento **emitSearchRequest** con la vista del separatore */
572
+ onGroupItemsPerPageChanged(pager: GroupPager, newIpp: number): void;
573
+ /** Metodo che gestisce la modifica del tempo specificato per l'aggiornamento automatico */
660
574
  autoUpdateChanged(): void;
661
575
  /**
662
576
  * Metodo chiamato dal click su una delle colonne generate dall'Input **DynamicOperations**
@@ -673,28 +587,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
673
587
  * @returns {TemplateRef<any>} Template da usare per la colonna
674
588
  */
675
589
  findEsTd(column: string): TemplateRef<any>;
676
- /**
677
- * Metodo di supporto alla creazione di un router link parametrizzato all'oggetto corrente utilizzato nella modalità dinamica
678
- *
679
- * @param {string} path Path su cui navigare con eventuali parametri riferiti all'oggetto cotnestuale come {0}, {1}, ecc...
680
- * @param {string[]} parameterProps Lista posizionale delle proprietà a cui bindare i riferimenti del parametro **path**
681
- * Es. Il valore dela proprietà all'indice 0 di questo array verrà sostituita al valore {0} del parametro **path**
682
- * @param {GenericItem} item Oggetto generico collegato a questo contesto
683
- *
684
- * @returns {any} Router link generato in base al parametri
685
- */
686
- generateRouterLink(path: string, parameterProps: string[], item: GenericItem): any;
687
- /**
688
- * Crea un router link
689
- *
690
- * @param {string} path Path su cui navigare con eventuali parametri riferiti all'oggetto cotnestuale come {0}, {1}, ecc...
691
- * @param {string[]} pars Lista posizionale delle proprietà a cui bindare i riferimenti del parametro **path**
692
- * Es. Il valore dela proprietà all'indice 0 di questo array verrà sostituita al valore {0} del parametro **path**
693
- * @param {GenericItem} item Oggetto generico collegato a questo contesto
694
- *
695
- * @returns {any} Router link generato in base al parametri
696
- */
697
- private getRouterLink;
698
590
  /**
699
591
  * Equivalente del metodo **addToPage** riadattato per la modalità array
700
592
  *
@@ -707,18 +599,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
707
599
  * @param {number} page Pagina a cui navigare
708
600
  */
709
601
  arrayGoToPage(page: number): void;
710
- /**
711
- * Metodo per effettuare il refresh della paginazione sul cambiamento degli oggetti da visualizzare in una singola pagina.
712
- *
713
- * Vale solo per la modalità Array
714
- *
715
- * @param {number} pageSize Dimensione della pagina
716
- */
717
- refreshPaging(pageSize: number): void;
718
- /**
719
- * Genera le informazioni di paginazione e taglia la View in modalità array per mostrare solo gli oggetti della pagina specificata
720
- */
721
- private adaptViewToPaging;
722
602
  /**
723
603
  * Gestore dei click sulle celle per le quali era impostata una azione custom da **CustomCellActionsOn**
724
604
  *
@@ -734,28 +614,17 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
734
614
  * @param {string} cornerid Codice dell'operazione selezionata
735
615
  */
736
616
  cornerActionClicked(cornerid: string): void;
737
- /** Impostazione modalità dell'EsTable */
738
- private setMode;
739
- /**
740
- * Helper per effettuare chiamate interne di allineamento alla funzione **writeValue**, impostando prima **internalWriteCall** in modo da non effettuare operazioni inutili
741
- */
742
- private internalWriteValue;
743
617
  /**
744
- * Date le informazioni di paginazione ottiene l'array dei pulsanti
618
+ * Impostazione modalità dell'EsTable
745
619
  *
746
- * @param {number} maxBtns Numero massimo di pulsanti da visualizzare
747
- * @param {number} page Pagina corrente
748
- * @param {number} lastPage Ultima pagina disponibile
749
- *
750
- * @returns {any[]} Pseudo-array di pulsanti a cui ci si può bindare lato HTML
751
- */
752
- private getPagesArray;
620
+ * @param {'array' | 'view' | 'report'} mode Modalità da impostare
621
+ **/
622
+ private setMode;
753
623
  /**
754
- * Calcola l'hash di un oggetto qualsiasi
755
- *
756
- * @param {any[]} items Oggetti per cui calcolare l'hash
624
+ * Helper per effettuare chiamate interne di allineamento alla funzione **writeValue**,
625
+ * impostando prima **internalWriteCall** in modo da non effettuare operazioni inutili
757
626
  */
758
- private calculateHash;
627
+ internalWriteValue(): void;
759
628
  /**
760
629
  * Metodo eventualmente richiamabile anche dal componente esterno che permette di forzare un refresh della tabella
761
630
  */