@esfaenza/es-table 11.2.37 → 11.2.41

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 (127) hide show
  1. package/bundles/esfaenza-es-table.umd.js +884 -1146
  2. package/bundles/esfaenza-es-table.umd.js.map +1 -1
  3. package/bundles/esfaenza-es-table.umd.min.js +1 -1
  4. package/bundles/esfaenza-es-table.umd.min.js.map +1 -1
  5. package/esfaenza-es-table.d.ts +5 -6
  6. package/esfaenza-es-table.metadata.json +1 -1
  7. package/esm2015/esfaenza-es-table.js +6 -7
  8. package/esm2015/lib/components/es-table/es_table.component.js +55 -174
  9. package/esm2015/lib/components/es-td/es_td.component.js +1 -35
  10. package/esm2015/lib/core/handlers/ColumnMetadataHandler.js +669 -0
  11. package/esm2015/lib/core/handlers/DynamicModeHandler.js +63 -0
  12. package/esm2015/lib/core/handlers/ExportHandler.js +106 -0
  13. package/esm2015/lib/core/handlers/HierarchyModeHandler.js +136 -0
  14. package/esm2015/lib/core/handlers/ItemsHandler.js +112 -0
  15. package/esm2015/lib/core/handlers/ReportModeHandler.js +70 -0
  16. package/esm2015/lib/core/handlers/RowGroupingHandler.js +481 -0
  17. package/esm2015/lib/core/handlers/SelectionHandler.js +526 -0
  18. package/esm2015/lib/core/handlers/UtilitiesHandler.js +155 -0
  19. package/esm2015/lib/directives/es_th.directive.js +4 -1
  20. package/esm2015/lib/domain/configuration/EsTableDefaultable.js +1 -1
  21. package/esm2015/lib/domain/externals/CornerMenuOption.js +4 -0
  22. package/esm2015/lib/domain/externals/EsTableColumnsDefinition.js +31 -0
  23. package/esm2015/lib/domain/externals/EsTableOperationDefinition.js +22 -0
  24. package/esm2015/lib/domain/externals/appsearch/AppOrdering.js +16 -0
  25. package/esm2015/lib/domain/externals/appsearch/AppSearch.js +35 -0
  26. package/esm2015/lib/domain/externals/appsearch/GenericItem.js +11 -0
  27. package/esm2015/lib/domain/externals/appsearch/Group.js +17 -0
  28. package/esm2015/lib/domain/externals/appsearch/GroupAggregation.js +16 -0
  29. package/esm2015/lib/domain/externals/appsearch/GroupFilter.js +14 -0
  30. package/esm2015/lib/domain/externals/appsearch/GroupOrAggregation.js +16 -0
  31. package/esm2015/lib/domain/externals/appsearch/ItemsSelection.js +23 -0
  32. package/esm2015/lib/domain/externals/report/ReportColumn.js +4 -0
  33. package/esm2015/lib/domain/externals/report/ReportDefinition.js +4 -0
  34. package/esm2015/lib/domain/externals/report/ReportOrder.js +4 -0
  35. package/esm2015/lib/domain/externals/report/ReportParam.js +4 -0
  36. package/esm2015/lib/domain/externals/report/ReportResult.js +4 -0
  37. package/esm2015/lib/domain/externals/report/ReportRow.js +4 -0
  38. package/esm2015/lib/domain/internals/CacheTriptic.js +16 -0
  39. package/esm2015/lib/domain/internals/EsTableColumn.js +27 -0
  40. package/esm2015/lib/domain/internals/GroupPager.js +22 -0
  41. package/esm2015/lib/domain/internals/GroupRouteFragment.js +17 -0
  42. package/esm2015/lib/domain/internals/TdElement.js +2 -0
  43. package/esm2015/lib/domain/internals/ThAggregation.js +16 -0
  44. package/esm2015/lib/domain/internals/ThElement.js +2 -0
  45. package/esm2015/lib/es-table.module.js +2 -2
  46. package/esm2015/public-api.js +21 -7
  47. package/fesm2015/esfaenza-es-table.js +832 -1093
  48. package/fesm2015/esfaenza-es-table.js.map +1 -1
  49. package/lib/components/es-table/es_table.component.d.ts +32 -68
  50. package/lib/components/es-td/es_td.component.d.ts +0 -2
  51. package/lib/core/handlers/{classes/ColumnMetadataHandler.d.ts → ColumnMetadataHandler.d.ts} +24 -23
  52. package/lib/core/handlers/{classes/DynamicModeHandler.d.ts → DynamicModeHandler.d.ts} +2 -2
  53. package/lib/core/handlers/{classes/ExportHandler.d.ts → ExportHandler.d.ts} +1 -1
  54. package/lib/core/handlers/{classes/HierarchyModeHandler.d.ts → HierarchyModeHandler.d.ts} +1 -1
  55. package/lib/core/handlers/{classes/ItemsHandler.d.ts → ItemsHandler.d.ts} +1 -7
  56. package/lib/core/handlers/{classes/ReportModeHandler.d.ts → ReportModeHandler.d.ts} +2 -2
  57. package/lib/core/handlers/{classes/RowGroupingHandler.d.ts → RowGroupingHandler.d.ts} +10 -6
  58. package/lib/core/handlers/{classes/SelectionHandler.d.ts → SelectionHandler.d.ts} +3 -3
  59. package/lib/core/handlers/{classes/UtilitiesHandler.d.ts → UtilitiesHandler.d.ts} +0 -16
  60. package/lib/directives/es_th.directive.d.ts +3 -1
  61. package/lib/domain/configuration/EsTableDefaultable.d.ts +1 -0
  62. package/lib/domain/externals/{classes/CornerMenuOption.d.ts → CornerMenuOption.d.ts} +0 -0
  63. package/lib/domain/externals/{classes/EsTableColumnsDefinition.d.ts → EsTableColumnsDefinition.d.ts} +0 -0
  64. package/lib/domain/externals/{classes/EsTableOperationDefinition.d.ts → EsTableOperationDefinition.d.ts} +0 -0
  65. package/lib/domain/externals/{classes/appsearch → appsearch}/AppOrdering.d.ts +0 -0
  66. package/lib/domain/externals/{classes/appsearch → appsearch}/AppSearch.d.ts +0 -0
  67. package/lib/domain/externals/{classes/appsearch → appsearch}/GenericItem.d.ts +0 -0
  68. package/lib/domain/externals/{classes/appsearch → appsearch}/Group.d.ts +0 -0
  69. package/lib/domain/externals/{classes/appsearch → appsearch}/GroupAggregation.d.ts +0 -0
  70. package/lib/domain/externals/{classes/appsearch → appsearch}/GroupFilter.d.ts +0 -0
  71. package/lib/domain/externals/{classes/appsearch → appsearch}/GroupOrAggregation.d.ts +0 -0
  72. package/lib/domain/externals/{classes/appsearch → appsearch}/ItemsSelection.d.ts +1 -1
  73. package/lib/domain/externals/{classes/report → report}/ReportColumn.d.ts +0 -0
  74. package/lib/domain/externals/{classes/report → report}/ReportDefinition.d.ts +3 -1
  75. package/lib/domain/externals/{classes/report → report}/ReportOrder.d.ts +0 -0
  76. package/lib/domain/externals/{classes/report → report}/ReportParam.d.ts +0 -0
  77. package/lib/domain/externals/{classes/report → report}/ReportResult.d.ts +2 -1
  78. package/lib/domain/externals/{classes/report → report}/ReportRow.d.ts +0 -0
  79. package/lib/domain/internals/{classes/CacheTriptic.d.ts → CacheTriptic.d.ts} +0 -0
  80. package/lib/domain/internals/{classes/EsTableColumn.d.ts → EsTableColumn.d.ts} +2 -1
  81. package/lib/domain/internals/{classes/GroupPager.d.ts → GroupPager.d.ts} +4 -1
  82. package/lib/domain/internals/{classes/GroupRouteFragment.d.ts → GroupRouteFragment.d.ts} +0 -0
  83. package/lib/domain/internals/TdElement.d.ts +35 -0
  84. package/lib/domain/internals/{classes/ThAggregation.d.ts → ThAggregation.d.ts} +0 -0
  85. package/lib/domain/internals/{classes/ThElement.d.ts → ThElement.d.ts} +0 -0
  86. package/package.json +1 -1
  87. package/public-api.d.ts +20 -3
  88. package/esm2015/lib/core/handlers/classes/ColumnMetadataHandler.js +0 -719
  89. package/esm2015/lib/core/handlers/classes/DynamicModeHandler.js +0 -64
  90. package/esm2015/lib/core/handlers/classes/ExportHandler.js +0 -106
  91. package/esm2015/lib/core/handlers/classes/HierarchyModeHandler.js +0 -136
  92. package/esm2015/lib/core/handlers/classes/ItemsHandler.js +0 -130
  93. package/esm2015/lib/core/handlers/classes/ReportModeHandler.js +0 -70
  94. package/esm2015/lib/core/handlers/classes/RowGroupingHandler.js +0 -475
  95. package/esm2015/lib/core/handlers/classes/SelectionHandler.js +0 -527
  96. package/esm2015/lib/core/handlers/classes/UtilitiesHandler.js +0 -169
  97. package/esm2015/lib/core/handlers/index.js +0 -10
  98. package/esm2015/lib/domain/externals/classes/CornerMenuOption.js +0 -4
  99. package/esm2015/lib/domain/externals/classes/EsTableColumnsDefinition.js +0 -31
  100. package/esm2015/lib/domain/externals/classes/EsTableOperationDefinition.js +0 -22
  101. package/esm2015/lib/domain/externals/classes/appsearch/AppOrdering.js +0 -16
  102. package/esm2015/lib/domain/externals/classes/appsearch/AppSearch.js +0 -35
  103. package/esm2015/lib/domain/externals/classes/appsearch/GenericItem.js +0 -11
  104. package/esm2015/lib/domain/externals/classes/appsearch/Group.js +0 -17
  105. package/esm2015/lib/domain/externals/classes/appsearch/GroupAggregation.js +0 -16
  106. package/esm2015/lib/domain/externals/classes/appsearch/GroupFilter.js +0 -14
  107. package/esm2015/lib/domain/externals/classes/appsearch/GroupOrAggregation.js +0 -16
  108. package/esm2015/lib/domain/externals/classes/appsearch/ItemsSelection.js +0 -23
  109. package/esm2015/lib/domain/externals/classes/report/ReportColumn.js +0 -4
  110. package/esm2015/lib/domain/externals/classes/report/ReportDefinition.js +0 -4
  111. package/esm2015/lib/domain/externals/classes/report/ReportOrder.js +0 -4
  112. package/esm2015/lib/domain/externals/classes/report/ReportParam.js +0 -4
  113. package/esm2015/lib/domain/externals/classes/report/ReportResult.js +0 -4
  114. package/esm2015/lib/domain/externals/classes/report/ReportRow.js +0 -4
  115. package/esm2015/lib/domain/externals/index.js +0 -18
  116. package/esm2015/lib/domain/index.js +0 -3
  117. package/esm2015/lib/domain/internals/classes/CacheTriptic.js +0 -16
  118. package/esm2015/lib/domain/internals/classes/EsTableColumn.js +0 -26
  119. package/esm2015/lib/domain/internals/classes/GroupPager.js +0 -21
  120. package/esm2015/lib/domain/internals/classes/GroupRouteFragment.js +0 -17
  121. package/esm2015/lib/domain/internals/classes/ThAggregation.js +0 -16
  122. package/esm2015/lib/domain/internals/classes/ThElement.js +0 -2
  123. package/esm2015/lib/domain/internals/index.js +0 -7
  124. package/lib/core/handlers/index.d.ts +0 -9
  125. package/lib/domain/externals/index.d.ts +0 -17
  126. package/lib/domain/index.d.ts +0 -2
  127. package/lib/domain/internals/index.d.ts +0 -6
@@ -4,14 +4,31 @@ import { UtilityService, ExportService, MessageService, DateService, CsvHeaders
4
4
  import { LocalizationService } from '@esfaenza/localizations';
5
5
  import { PreferencesService } from '@esfaenza/preferences';
6
6
  import { ContextMenuComponent } from '@esfaenza/ngx-contextmenu';
7
- import { AppSearch, AppOrdering, EsTableColumnsDefinition, CornerMenuOption, ReportResult, EsTableOperationDefinition, EsTableColumn, GroupPager, GroupRouteFragment, ThElement } from '../../domain';
8
- import { EsTd } from '../es-td/es_td.component';
7
+ import { AppSearch } from "../../domain/externals/appsearch/AppSearch";
8
+ import { AppOrdering } from "../../domain/externals/appsearch/AppOrdering";
9
+ import { EsTableColumnsDefinition } from "../../domain/externals/EsTableColumnsDefinition";
10
+ import { CornerMenuOption } from "../../domain/externals/CornerMenuOption";
11
+ import { ReportResult } from "../../domain/externals/report/ReportResult";
12
+ import { EsTableOperationDefinition } from "../../domain/externals/EsTableOperationDefinition";
13
+ import { EsTableColumn } from "../../domain/internals/EsTableColumn";
14
+ import { GroupPager } from "../../domain/internals/GroupPager";
15
+ import { GroupRouteFragment } from "../../domain/internals/GroupRouteFragment";
16
+ import { ThElement } from "../../domain/internals/ThElement";
17
+ import { TdElement } from "../../domain/internals/TdElement";
18
+ import { ItemsSelection } from '../../domain/externals/appsearch/ItemsSelection';
19
+ import { Group } from "../../domain/externals/appsearch/Group";
20
+ import { EsTableDefaultable } from '../../domain/configuration/EsTableDefaultable';
9
21
  import { EsTdDirective } from '../../directives/es_td.directive';
10
22
  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';
23
+ import { ExportHandler } from "../../core/handlers/ExportHandler";
24
+ import { ColumnMetadataHandler } from "../../core/handlers/ColumnMetadataHandler";
25
+ import { DynamicModeHandler } from "../../core/handlers/DynamicModeHandler";
26
+ import { HierarchyModeHandler } from "../../core/handlers/HierarchyModeHandler";
27
+ import { ItemsHandler } from "../../core/handlers/ItemsHandler";
28
+ import { ReportModeHandler } from "../../core/handlers/ReportModeHandler";
29
+ import { RowGroupingHandler } from "../../core/handlers/RowGroupingHandler";
30
+ import { SelectionHandler } from "../../core/handlers/SelectionHandler";
31
+ import { UtilitiesHandler } from "../../core/handlers/UtilitiesHandler";
15
32
  /** Componente che permette di rappresentare una griglia di valori */
16
33
  export declare class EsTableComponent implements ControlValueAccessor, OnChanges {
17
34
  ngControl: NgControl;
@@ -66,8 +83,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
66
83
  addedSlices: number[];
67
84
  /** Variabile che identifica il valore del "seleziona Tutto" nella paginazione */
68
85
  defaultAllPageOverride: number;
69
- /** Indica se utilizzare il sistema di Endless Scroll */
70
- UseEndlessscroll: boolean;
71
86
  /** Valori dell'eventuale report in visualizzazione */
72
87
  ReportValues: ReportResult;
73
88
  /** Serve per tenere in memoria il conteggio precedente e recuperarlo in caso diventi -2 (verificare con Ale perché la logica del -2) */
@@ -82,11 +97,11 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
82
97
  researchInProgress: boolean;
83
98
  /** Modello rappresentante un singolo td della tabella, generato in base alle configurazioni e agli oggetti ricevuti */
84
99
  RowTDs: {
85
- [context: string]: EsTd[];
100
+ [context: string]: TdElement[];
86
101
  };
87
102
  /** Modello di appoggio temporaneo per i **RowTDs** */
88
103
  TMPRowTDs: {
89
- [context: string]: EsTd[];
104
+ [context: string]: TdElement[];
90
105
  };
91
106
  /** Modello rappresentante un singolo th della tabella, generato in base alle configurazioni e agli oggetti ricevuti */
92
107
  RowTHs: ThElement[];
@@ -132,13 +147,9 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
132
147
  EsTdsDirective: QueryList<EsTdDirective>;
133
148
  /** Query per recuperare tutti gli es-td assegnati a direttiva (Per la modalità dinamica dell'es-table) */
134
149
  EsThsDirective: QueryList<EsThDirective>;
135
- /** @deprecated Query per recuperare tutti gli es-th */
136
- private EsThs;
137
- /** @deprecated Query per recuperare tutti gli es-td */
138
- private EsTds;
139
- /** @deprecated Query per recuperare le informazioni del body (punto della tabella dove vengono mostrate le righe) */
150
+ /** Query per recuperare le informazioni del body (punto della tabella dove vengono mostrate le righe) */
140
151
  bodyRef: any;
141
- /** @deprecated Query per recuperare le informazioni dell'header (punto della tabella dove vengono mostrate le intestazioni delle righe) */
152
+ /** Query per recuperare le informazioni dell'header (punto della tabella dove vengono mostrate le intestazioni delle righe) */
142
153
  headerRef: any;
143
154
  /** Query per recuperare le informazioni sul raggruppamento degli header */
144
155
  headerGroupRef: any;
@@ -148,28 +159,10 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
148
159
  CornerMenuOptions: CornerMenuOption[];
149
160
  /** Indica se dev'essere possibile effettuare il resize delle colonne */
150
161
  ColumnsResizable: boolean;
162
+ /** Indica se dev'essere possibile effettuare il pinning delle colonne */
163
+ ColumnsPinnable: boolean;
151
164
  /** Indica se dev'essere disponibile il sistema di aggiornamento automatico */
152
165
  AutoUpdate: boolean;
153
- /** Indica se la tabella (configurata con **UseCustomCells**) deve mettersi in ascolto per i click sulle celle desiderate
154
- *
155
- * @deprecated Utilizzare l'Input **Template** delle es-td e assegnare un template con tutti i binding che si vuole ai click
156
- */
157
- UseCustomCellActions: boolean;
158
- /**
159
- * Indica le celle desiderate su cui intercettare i click. Attiva solo quando **UseCustomCellActions** è true.
160
- * Ogni cella dev'essere separata dalla successiva dal carattere del Simoleon:
161
- *
162
- * Es, "MiaCella1§MiaCella2"
163
- *
164
- * @deprecated Utilizzare l'Input **Template** delle es-td e assegnare un template con tutti i binding che si vuole ai click
165
- */
166
- CustomCellActionsOn: string;
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
- */
172
- CellActionPropagates: boolean;
173
166
  /**
174
167
  * Decide se utilizzare o meno le CustomCells. Impostandolo a **true** l'es-table diventa in grado di gestire nativamente:
175
168
  *
@@ -234,12 +227,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
234
227
  HasHeaderGroup: boolean;
235
228
  /** Indica la presenza di raggruppamenti a livello del raggruppamento precedentemente esistente, chiaramente è insensata senza **HasHeaderGroup** */
236
229
  HasSecondaryHeaderGroup: boolean;
237
- /** Utilizzato per dividere la sorgente in modalità EndlessScroll */
238
- SliceSize: number;
239
- /** Decide se utilizzare la modalità di EndlessScroll */
240
- EndlessScroll: boolean;
241
- /** Qualora **EndlessScroll** fosse true, indica se utilizzare questa modalità solo quando si cerca per "Tutti" o in generale */
242
- EndlessScrollOnlyForAll: boolean;
243
230
  /** Indica se nascondere gli Header della tabella */
244
231
  HeaderHidden: boolean;
245
232
  /** Indica se nascondere il Body della tabella */
@@ -322,14 +309,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
322
309
  onRemoval: EventEmitter<any>;
323
310
  /** Evento richiamato all'annullamento di un'eliminazione */
324
311
  onAbortRemoval: EventEmitter<any>;
325
- /** Evento richiamato al click su una cella quando **UseCustomCellActions** è attivo
326
- *
327
- * @deprecated Utilizzare l'Input **Template** delle es-td e assegnare un template con tutti i binding che si vuole ai click
328
- */
329
- onCellClick: EventEmitter<{
330
- column: string;
331
- model: any;
332
- }>;
333
312
  /** Evento richiamato quando si clicca su un opzione definita nelle **CornerMenuOptions** */
334
313
  onCornerAction: EventEmitter<{
335
314
  id: string;
@@ -450,12 +429,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
450
429
  private finalizeContext;
451
430
  /** Genera le informzioni di paginazione per la vista globale dell'es-table */
452
431
  private setupPagingInformations;
453
- /**
454
- * Metodo che gestisce l'endless scroll e in base a quanto la tabella è stata scrollata aggiunge degli elementi extra a **TMPBoundSource**
455
- *
456
- * @param {any} e Evento di scroll del browser
457
- */
458
- onScroll(e: any): void;
459
432
  /**
460
433
  * Metodo lanciato dopo che la sorgente dati è stata correttamente bindata, si occupa di ricalcolare tutto ciò che serve
461
434
  * all'es-table per renderizzare i valori da mostrare
@@ -499,8 +472,8 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
499
472
  *
500
473
  * Costo: 2 scan EsThs, 1 scan EsTds
501
474
  *
502
- * @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
503
- * @param {EsTd[] | EsTdDirective[]} tds Celle della tabella
475
+ * @param {EsThDirective[]} ths Colonne della tabella
476
+ * @param {EsTdDirective[]} tds Celle della tabella
504
477
  */
505
478
  private evaluateRowTds;
506
479
  /**
@@ -510,7 +483,7 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
510
483
  *
511
484
  * Costo: 1 scan EsThs
512
485
  *
513
- * @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
486
+ * @param {EsThDirective[]} ths Colonne della tabella
514
487
  */
515
488
  private evaluateRowThs;
516
489
  /**
@@ -599,15 +572,6 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
599
572
  * @param {number} page Pagina a cui navigare
600
573
  */
601
574
  arrayGoToPage(page: number): void;
602
- /**
603
- * Gestore dei click sulle celle per le quali era impostata una azione custom da **CustomCellActionsOn**
604
- *
605
- * @param {string} name Nome della cella su cui si è fatto click
606
- * @param {any} model Modello relativo alla cella cliccata
607
- *
608
- * @returns {boolean} **true** se il click è stato fatto su una cella cliccabile, **false** altrimenti
609
- */
610
- cellClicked(name: string, model: any): boolean;
611
575
  /**
612
576
  * Gestione dei click sulle opzioni del menù contestuale in alto a destra generato dall'Input **CornerMenuOptions**
613
577
  *
@@ -40,6 +40,4 @@ export declare class EsTd {
40
40
  get Visible(): boolean;
41
41
  /** @ignore */
42
42
  ngAfterViewInit(): void;
43
- /** Ottiene il contesto della view su cui è istanziato il componente */
44
- private getTemplateContext;
45
43
  }
@@ -1,13 +1,14 @@
1
+ import { CdkDrag, CdkDragDrop } from "@angular/cdk/drag-drop";
1
2
  import { UtilityService } from "@esfaenza/extensions";
2
3
  import { PreferencesService } from "@esfaenza/preferences";
3
- import { EsTd } from "../../../components/es-td/es_td.component";
4
- import { EsTh } from "../../../components/es-th/es_th.component";
5
- import { EsTableComponent } from "../../../components/es-table/es_table.component";
6
- import { EsTdDirective } from "../../../directives/es_td.directive";
7
- import { EsThDirective } from "../../../directives/es_th.directive";
8
- import { UtilitiesHandler, RowGroupingHandler } from "..";
9
- import { AppSearch, EsTableColumn } from "../../../domain";
10
- import { CdkDrag, CdkDragDrop } from "@angular/cdk/drag-drop";
4
+ import { EsTd } from "../../components/es-td/es_td.component";
5
+ import { EsTableComponent } from "../../components/es-table/es_table.component";
6
+ import { EsTdDirective } from "../../directives/es_td.directive";
7
+ import { EsThDirective } from "../../directives/es_th.directive";
8
+ import { UtilitiesHandler } from "./UtilitiesHandler";
9
+ import { RowGroupingHandler } from "./RowGroupingHandler";
10
+ import { AppSearch } from "../../domain/externals/appsearch/AppSearch";
11
+ import { EsTableColumn } from "../../domain/internals/EsTableColumn";
11
12
  /** Classe che gestisce tutte le informaizoni relative alle colonne: visibilità, posizione, stato di pin/unpin, ecc ecc... */
12
13
  export declare class ColumnMetadataHandler {
13
14
  private est;
@@ -29,13 +30,13 @@ export declare class ColumnMetadataHandler {
29
30
  *
30
31
  * Costo: 1 scan EsThs
31
32
  *
32
- * @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
33
+ * @param {EsThDirective[]} ths Colonne della tabella
33
34
  */
34
- reviewColumnsList(ths: EsTh[] | EsThDirective[]): void;
35
+ reviewColumnsList(ths: EsThDirective[]): void;
35
36
  /**
36
37
  * Prende i th e i td in modalità diretive e li ordina in base a se ci sono colonne fixed o meno
37
38
  */
38
- moveFixedColumnsAtTheBeginning(ths: EsTh[] | EsThDirective[], tds: EsTd[] | EsTdDirective[]): void;
39
+ moveFixedColumnsAtTheBeginning(ths: EsThDirective[], tds: EsTd[] | EsTdDirective[]): void;
39
40
  /** In base alla configurazione delle colonne calcola le dimenioni delle colonne pinnate */
40
41
  evaluatePinnedColumnsWidth(): void;
41
42
  /**
@@ -50,28 +51,28 @@ export declare class ColumnMetadataHandler {
50
51
  *
51
52
  * Costo: 1 scan ColumnsList, 1 scan EsThs, 1 scan EsTds
52
53
  *
53
- * @param {EsTh[] | EsThDirective[]} ths Header della tabella
54
- * @param {EsTd[] | EsTdDirective[]} tds Celle della tabella
54
+ * @param {EsThDirective[]} ths Header della tabella
55
+ * @param {EsTdDirective[]} tds Celle della tabella
55
56
  * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
56
57
  */
57
- refreshColumnsVisibility(ths: EsTh[] | EsThDirective[], tds: EsTd[] | EsTdDirective[], view: AppSearch<any>): void;
58
+ refreshColumnsVisibility(ths: EsThDirective[], tds: EsTdDirective[], view: AppSearch<any>): void;
58
59
  /**
59
60
  * Allinea gli ordinamenti dati fra le **EsThs** e le informazioni all'interno della View bindata
60
61
  *
61
62
  * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
62
- * @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
63
+ * @param {EsThDirective[]} ths Colonne della tabella
63
64
  */
64
- alignHeadersOrdering(ths: EsTh[] | EsThDirective[], view: AppSearch<any>): void;
65
+ alignHeadersOrdering(ths: EsThDirective[], view: AppSearch<any>): void;
65
66
  /**
66
67
  * Genera tutte le informazioni che servono per gestire il raggruppamento degli header
67
68
  *
68
- * @param {EsTh[] | EsThDirective[]} ths Colonne della tabella
69
+ * @param {EsThDirective[]} ths Colonne della tabella
69
70
  *
70
- * @returns {{ leafs: EsTh[] | EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} Oggetto contenente la lista delle foglie (header base), il livello
71
+ * @returns {{ leafs: EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} Oggetto contenente la lista delle foglie (header base), il livello
71
72
  * 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
72
73
  */
73
- evaluateHeadersGroupingInfos(ths: EsTh[] | EsThDirective[]): {
74
- leafs: EsTh[] | EsThDirective[];
74
+ evaluateHeadersGroupingInfos(ths: EsThDirective[]): {
75
+ leafs: EsThDirective[];
75
76
  groupingLevel: number;
76
77
  parentsCache: any;
77
78
  thsCache: any;
@@ -79,10 +80,10 @@ export declare class ColumnMetadataHandler {
79
80
  /**
80
81
  * Genera gli header groups da una lista di info sui th all'interno della variabile **TMPRowThGroups**
81
82
  *
82
- * @param {{ leafs: EsTh[] | EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} infos Informazioni di raggruppamento valutate precedentemente
83
+ * @param {{ leafs: EsThDirective[], groupingLevel: number, parentsCache: any, thsCache: any }} infos Informazioni di raggruppamento valutate precedentemente
83
84
  */
84
85
  evaluateHeaderGroups(infos: {
85
- leafs: EsTh[] | EsThDirective[];
86
+ leafs: EsThDirective[];
86
87
  groupingLevel: number;
87
88
  parentsCache: any;
88
89
  thsCache: any;
@@ -99,7 +100,7 @@ export declare class ColumnMetadataHandler {
99
100
  *
100
101
  * @param {AppSearch<any>} view AppSearch da utilizzare per questa operazione
101
102
  */
102
- generateDefaultOrder(ths: EsTh[] | EsThDirective[], view: AppSearch<any>): void;
103
+ generateDefaultOrder(ths: EsThDirective[], view: AppSearch<any>): void;
103
104
  /**
104
105
  * Applica l'ordine specificato alle varie colonne
105
106
  *
@@ -1,5 +1,5 @@
1
- import { EsTableComponent } from "../../../components/es-table/es_table.component";
2
- import { GenericItem } from "../../../domain";
1
+ import { EsTableComponent } from "../../components/es-table/es_table.component";
2
+ import { GenericItem } from "../../domain/externals/appsearch/GenericItem";
3
3
  /** Classe contenente le gestioni particolari della modalità dinamica dell'es-table */
4
4
  export declare class DynamicModeHandler {
5
5
  private est;
@@ -1,5 +1,5 @@
1
1
  import { DateService, ExportService, MessageService, UtilityService } from "@esfaenza/extensions";
2
- import { EsTableComponent } from "../../../components/es-table/es_table.component";
2
+ import { EsTableComponent } from "../../components/es-table/es_table.component";
3
3
  /** Classe contenente la gestione delle importazioni */
4
4
  export declare class ExportHandler {
5
5
  private est;
@@ -1,4 +1,4 @@
1
- import { EsTableComponent } from "../../../components/es-table/es_table.component";
1
+ import { EsTableComponent } from "../../components/es-table/es_table.component";
2
2
  /** Classe contenente la gestione della modalità gerarchica */
3
3
  export declare class HierarchyModeHandler {
4
4
  private est;
@@ -1,4 +1,4 @@
1
- import { EsTableComponent } from "../../../components/es-table/es_table.component";
1
+ import { EsTableComponent } from "../../components/es-table/es_table.component";
2
2
  import { UtilitiesHandler } from "./UtilitiesHandler";
3
3
  /** Classe che si occupa della gestione del recupero degli oggetti, paginazione e tutto ciò in cui gli elementi caricati vengono manipolati direttamente */
4
4
  export declare class ItemsHandler {
@@ -30,12 +30,6 @@ export declare class ItemsHandler {
30
30
  private getViewItemsBySource;
31
31
  /** Genera le informazioni di paginazione e taglia la View in modalità array per mostrare solo gli oggetti della pagina specificata */
32
32
  private adaptViewToPaging;
33
- /**
34
- * Metodo che prende tutti gli oggetti di cui dispone divisi in bucket da 100 elementi
35
- *
36
- * @returns {any[][]} Matrice di array Nx100
37
- */
38
- getItemSlices(): any[][];
39
33
  /** Se in modalità array applica gli ordinamenti ASC-DESC delle colonne */
40
34
  arrayModeReviewOrderings(): void;
41
35
  }
@@ -1,6 +1,6 @@
1
1
  import { UtilitiesHandler } from "./UtilitiesHandler";
2
- import { EsTableComponent } from "../../../components/es-table/es_table.component";
3
- import { ReportColumn } from "../../../domain";
2
+ import { EsTableComponent } from "../../components/es-table/es_table.component";
3
+ import { ReportColumn } from "../../domain/externals/report/ReportColumn";
4
4
  /** Classe che gestisce la modalità Report dell'es-table utilizzata nel Metering */
5
5
  export declare class ReportModeHandler {
6
6
  private est;
@@ -1,8 +1,12 @@
1
1
  import { DateService } from "@esfaenza/extensions";
2
- import { EsTh } from "../../../components/es-th/es_th.component";
3
- import { EsThDirective } from "../../../directives/es_th.directive";
4
- import { EsTableComponent } from "../../../components/es-table/es_table.component";
5
- import { AppOrdering, AppSearch, Group, GroupOrAggregation, GroupPager, GroupRouteFragment } from "../../../domain";
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";
6
10
  import { UtilitiesHandler } from "./UtilitiesHandler";
7
11
  /** Classe che gestisce la modalità Row Grouping dell'es-table */
8
12
  export declare class RowGroupingHandler {
@@ -31,9 +35,9 @@ export declare class RowGroupingHandler {
31
35
  /**
32
36
  * Se in modalità array applica i raggruppamenti definiti lato row-grouping
33
37
  *
34
- * @param {ths: EsTh[] | EsThDirective[]} ths Header
38
+ * @param {ths: EsThDirective[]} ths Header
35
39
  */
36
- arrayModeReviewGroupings(ths: EsTh[] | EsThDirective[]): void;
40
+ arrayModeReviewGroupings(ths: EsThDirective[]): void;
37
41
  /**
38
42
  * Data una direttiva EsTh restituisce la lista delle aggregazioni richiesta per questa colonna o il gruppo che rappresenta
39
43
  *
@@ -1,6 +1,6 @@
1
- import { ItemsSelection } from "../../../domain";
2
- import { EsTableComponent } from "../../../components/es-table/es_table.component";
3
- import { RowGroupingHandler } from "../";
1
+ import { ItemsSelection } from "../../domain/externals/appsearch/ItemsSelection";
2
+ import { EsTableComponent } from "../../components/es-table/es_table.component";
3
+ import { RowGroupingHandler } from "./RowGroupingHandler";
4
4
  /** Classe che gestisce le selezioni degli oggetti */
5
5
  export declare class SelectionHandler {
6
6
  private est;
@@ -1,6 +1,4 @@
1
1
  import { HashingService } from "@esfaenza/extensions";
2
- import { EsTd } from "../../../components/es-td/es_td.component";
3
- import { EsTh } from "../../../components/es-th/es_th.component";
4
2
  /** Classe di utilità per le cose comuni */
5
3
  export declare class UtilitiesHandler {
6
4
  private hashExts;
@@ -26,20 +24,6 @@ export declare class UtilitiesHandler {
26
24
  cacheAggregations(group: any): void;
27
25
  /** Helper per spostare un oggetto di un array da un indice all'altro, in place */
28
26
  arrayMove(array: any[], oldI: number, newI: number): void;
29
- /**
30
- * Helper che identifica se il td attuale è di tipo **EsTd**. In caso contrario è da considerarsi **EsTdDirective**
31
- *
32
- * @param {any} td Cella da valutare
33
- * @returns {boolean} Restituisce **true** se il **td** è di tipo **EsTd**, **false** se è di tipo **EsTdDirective**
34
- */
35
- isEsTd(td: any): td is EsTd;
36
- /**
37
- * Helper che identifica se il th attuale è di tipo **EsTh**. In caso contrario è da considerarsi **EsThDirective**
38
- *
39
- * @param {any} td Header da valutare
40
- * @returns {boolean} Restituisce **true** se il **th** è di tipo **EsTh**, **false** se è di tipo **EsThDirective**
41
- */
42
- isEsTh(th: any): th is EsTh;
43
27
  /**
44
28
  * Date le informazioni di paginazione ottiene l'array dei pulsanti
45
29
  *
@@ -1,5 +1,5 @@
1
1
  import { TemplateRef } from "@angular/core";
2
- import { ThAggregation } from "../domain";
2
+ import { ThAggregation } from "../domain/internals/ThAggregation";
3
3
  /** Direttiva per la dichiarazione snella di un EsTh da emettere come header */
4
4
  export declare class EsThDirective {
5
5
  Template: TemplateRef<any>;
@@ -15,6 +15,8 @@ export declare class EsThDirective {
15
15
  th: string;
16
16
  /** Indica se la colonna è pinnata o no */
17
17
  thPinned: boolean;
18
+ /** Indica se la colonna è pinnabile o no */
19
+ thPinnable: boolean;
18
20
  /** Indica le dimensioni che deve avere questa colonna quando viene pinnata, senza questo tutte le colonne mi collasserebbero l'una sull'altra */
19
21
  thPinnedWidth: number;
20
22
  /** Indicazione sulla visibilità della colonna */
@@ -16,4 +16,5 @@ export declare class EsTableDefaultable {
16
16
  /** @ignore Vedi **EsTableComponent** */ UseSelectionCache?: boolean;
17
17
  /** @ignore Vedi **EsTableComponent** */ ShowItemGroupsColumns?: boolean;
18
18
  /** @ignore Vedi **EsTableComponent** */ ArraymodeItemsPerPage?: number;
19
+ /** @ignore Vedi **EsTableComponent** */ ColumnsPinnable?: boolean;
19
20
  }
@@ -1,4 +1,4 @@
1
- import { Group } from "../..";
1
+ import { Group } from "./Group";
2
2
  /** Identifica una selezione applicabile agli oggetti presentati in una tabella */
3
3
  export declare class ItemsSelection<T> {
4
4
  /**
@@ -1,4 +1,6 @@
1
- import { ReportParam, ReportOrder, ReportResult } from "../..";
1
+ import { ReportParam } from "./ReportParam";
2
+ import { ReportOrder } from "./ReportOrder";
3
+ import { ReportResult } from "./ReportResult";
2
4
  /** Definizione generica di un report che può o no disporre di paginazione/export e la cui richiesta è basata su uno o più parametri */
3
5
  export declare class ReportDefinition {
4
6
  /** Codice report */
@@ -1,4 +1,5 @@
1
- import { ReportColumn, ReportRow } from "../..";
1
+ import { ReportColumn } from "./ReportColumn";
2
+ import { ReportRow } from "./ReportRow";
2
3
  /** Classe che rappresenta una lista di oggetti generati da un report */
3
4
  export declare class ReportResult {
4
5
  /** Numero di oggetti generati */
@@ -6,6 +6,7 @@ export declare class EsTableColumn {
6
6
  visible?: boolean;
7
7
  fixed?: boolean;
8
8
  pinned?: boolean;
9
+ pinnable?: boolean;
9
10
  pinnedWidth?: number;
10
11
  template?: TemplateRef<any>;
11
12
  parentTemplates?: TemplateRef<any>[];
@@ -21,7 +22,7 @@ export declare class EsTableColumn {
21
22
  * @param {TemplateRef<any>} template Indica il template da usare per mostrare il testo dell'Header
22
23
  * @param {TemplateRef<any>[]} parentTemplates Indica la lista di template padri collegata a questo header
23
24
  */
24
- constructor(id: string, description: string, visible?: boolean, fixed?: boolean, pinned?: boolean, pinnedWidth?: number, template?: TemplateRef<any>, parentTemplates?: TemplateRef<any>[]);
25
+ constructor(id: string, description: string, visible?: boolean, fixed?: boolean, pinned?: boolean, pinnable?: boolean, pinnedWidth?: number, template?: TemplateRef<any>, parentTemplates?: TemplateRef<any>[]);
25
26
  /** Indice precedente in cui si trovava questa colonna in modo da poterla spinnare in maniera super sexy */
26
27
  prev_index: number;
27
28
  }
@@ -1,4 +1,5 @@
1
- import { AppSearch, GroupRouteFragment } from "../..";
1
+ import { AppSearch } from "../externals/appsearch/AppSearch";
2
+ import { GroupRouteFragment } from "./GroupRouteFragment";
2
3
  /** Classe che rappresenta un separatore da inserire fra gli oggetti dell'es-table per le operazioni di paginazione dei raggruppamenti per riga */
3
4
  export declare class GroupPager {
4
5
  _grouplevel: number;
@@ -19,4 +20,6 @@ export declare class GroupPager {
19
20
  _sep: boolean;
20
21
  /** Array dei pulsanti da collegare lato interfaccia per le paginazione */
21
22
  buttons: any[];
23
+ /** Chiave del separatore, è sempre **parent** + "_sep" */
24
+ _thisKey: string;
22
25
  }
@@ -0,0 +1,35 @@
1
+ import { SafeHtml } from "@angular/platform-browser";
2
+ export interface TdElement {
3
+ /** Id della cella, dev'essere lo stesso della colonna **EsTh** relativa */
4
+ ID: string;
5
+ /** Indica se è una cella interna (rigenerata programmaticamente) o no */
6
+ Internal?: boolean;
7
+ /** RouterLink qualora il click su questa cella debba navigare da qualche parte */
8
+ RouterLink?: any;
9
+ /** Valore da mostrare all'interno della cella. Se omesso verrà proiettato il contenuto dal template in cui è stata usata */
10
+ Display?: string;
11
+ /** Template Angular da istanziare per questo TD */
12
+ Template?: any;
13
+ /** Classi da applicare alla cella */
14
+ Class?: string;
15
+ /** Contenuto da mostrare proiettato dal componente padre */
16
+ Content?: SafeHtml;
17
+ /** Contesto dell'oggetto a cui si riferisce il dato visualizzato. Contiene l'hash dell'oggetto in questione */
18
+ Context?: string;
19
+ /** Indica se aggiungere un bordino a sinistra della cella */
20
+ LeftBorder?: boolean;
21
+ /** Indica se aggiungere un bordino a destra della cella */
22
+ RightBorder?: boolean;
23
+ /** Indica se è una cella pinnata */
24
+ Pinned?: boolean;
25
+ /** Indica la larghezza della cella qualora fosse pinnata */
26
+ PinnedWidth?: number;
27
+ /** Indica se la cella è l'header di un gruppo */
28
+ GroupHeader?: boolean;
29
+ /** Indica se la cella è un'aggregazione di un gruppo */
30
+ GroupAggregation?: boolean;
31
+ /** Indica se la cella è visibile, ereditata dalla controparte es_th */
32
+ Visible?: boolean;
33
+ /** Indica se la cella deve wrappare o no il contenuto */
34
+ Wraps?: boolean;
35
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/es-table",
3
- "version": "11.2.37",
3
+ "version": "11.2.41",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },
package/public-api.d.ts CHANGED
@@ -1,7 +1,24 @@
1
+ export * from './lib/components/pager/table_pager.component';
1
2
  export * from './lib/components/es-table/es_table.component';
2
- export * from './lib/components/es-th/es_th.component';
3
- export * from './lib/components/es-td/es_td.component';
3
+ export * from './lib/directives/es_td.directive';
4
+ export * from './lib/directives/es_th.directive';
4
5
  export * from './lib/domain/configuration/EsTableModuleConfig';
5
6
  export * from './lib/domain/configuration/EsTableDefaultable';
6
7
  export * from './lib/es-table.module';
7
- export * from './lib/domain/externals';
8
+ export * from './lib/domain/externals/CornerMenuOption';
9
+ export * from './lib/domain/externals/EsTableColumnsDefinition';
10
+ export * from './lib/domain/externals/EsTableOperationDefinition';
11
+ export * from './lib/domain/externals/appsearch/AppOrdering';
12
+ export * from './lib/domain/externals/appsearch/AppSearch';
13
+ export * from './lib/domain/externals/appsearch/GenericItem';
14
+ export * from './lib/domain/externals/appsearch/Group';
15
+ export * from './lib/domain/externals/appsearch/GroupAggregation';
16
+ export * from './lib/domain/externals/appsearch/GroupFilter';
17
+ export * from './lib/domain/externals/appsearch/GroupOrAggregation';
18
+ export * from './lib/domain/externals/appsearch/ItemsSelection';
19
+ export * from './lib/domain/externals/report/ReportColumn';
20
+ export * from './lib/domain/externals/report/ReportDefinition';
21
+ export * from './lib/domain/externals/report/ReportOrder';
22
+ export * from './lib/domain/externals/report/ReportParam';
23
+ export * from './lib/domain/externals/report/ReportResult';
24
+ export * from './lib/domain/externals/report/ReportRow';