@esfaenza/es-table 11.2.77 → 11.2.80

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 (32) hide show
  1. package/bundles/esfaenza-es-table.umd.js +82 -15
  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.metadata.json +1 -1
  6. package/esm2015/lib/components/es-table/es_table.component.js +33 -7
  7. package/esm2015/lib/core/CopyPasteDetector.js +5 -1
  8. package/esm2015/lib/core/handlers/ColumnMetadataHandler.js +2 -1
  9. package/esm2015/lib/core/handlers/ReportModeHandler.js +10 -1
  10. package/esm2015/lib/core/handlers/SelectionHandler.js +12 -8
  11. package/esm2015/lib/directives/es_td_editor.directive.js +2 -1
  12. package/esm2015/lib/domain/externals/EsTableColumnsDefinition.js +4 -1
  13. package/esm2015/lib/domain/externals/appsearch/AppSearch.js +18 -1
  14. package/esm2015/lib/domain/internals/EsTableColumn.js +2 -1
  15. package/esm2015/lib/domain/internals/GroupPager.js +4 -3
  16. package/esm2015/lib/domain/internals/TdElement.js +1 -1
  17. package/esm2015/lib/domain/internals/ThElement.js +1 -1
  18. package/fesm2015/esfaenza-es-table.js +82 -15
  19. package/fesm2015/esfaenza-es-table.js.map +1 -1
  20. package/lib/components/es-table/es_table.component.d.ts +20 -11
  21. package/lib/core/CopyPasteDetector.d.ts +4 -0
  22. package/lib/core/handlers/ColumnMetadataHandler.d.ts +1 -0
  23. package/lib/core/handlers/ReportModeHandler.d.ts +9 -0
  24. package/lib/core/handlers/SelectionHandler.d.ts +6 -1
  25. package/lib/directives/es_td_editor.directive.d.ts +1 -0
  26. package/lib/domain/externals/EsTableColumnsDefinition.d.ts +1 -0
  27. package/lib/domain/externals/appsearch/AppSearch.d.ts +10 -0
  28. package/lib/domain/internals/EsTableColumn.d.ts +1 -0
  29. package/lib/domain/internals/GroupPager.d.ts +3 -2
  30. package/lib/domain/internals/TdElement.d.ts +1 -0
  31. package/lib/domain/internals/ThElement.d.ts +5 -0
  32. package/package.json +1 -1
@@ -48,16 +48,16 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
48
48
  private msgExts;
49
49
  private copyPasteDetector;
50
50
  private clipboardService;
51
- export_H: ExportHandler;
52
- columnMetadata_H: ColumnMetadataHandler;
53
- dynamicMode_H: DynamicModeHandler;
54
- hierarchyMode_H: HierarchyModeHandler;
55
- items_H: ItemsHandler;
56
- reportMode_H: ReportModeHandler;
57
- rowGrouping_H: RowGroupingHandler;
58
- selection_H: SelectionHandler;
59
- private copySubscription;
60
- private pasteSubscription;
51
+ /** @ignore */ export_H: ExportHandler;
52
+ /** @ignore */ columnMetadata_H: ColumnMetadataHandler;
53
+ /** @ignore */ dynamicMode_H: DynamicModeHandler;
54
+ /** @ignore */ hierarchyMode_H: HierarchyModeHandler;
55
+ /** @ignore */ items_H: ItemsHandler;
56
+ /** @ignore */ reportMode_H: ReportModeHandler;
57
+ /** @ignore */ rowGrouping_H: RowGroupingHandler;
58
+ /** @ignore */ selection_H: SelectionHandler;
59
+ /** @ignore */ private copySubscription;
60
+ /** @ignore */ private pasteSubscription;
61
61
  /** @ignore */
62
62
  constructor(ngControl: NgControl, prefService: PreferencesService, deafults: EsTableDefaultable, locale: string, lc: LocalizationService, cdr: ChangeDetectorRef, utilities_H: UtilitiesHandler, utiExts: UtilityService, expExts: ExportService, dateExts: DateService, msgExts: MessageService, copyPasteDetector: CopyPasteDetector, clipboardService: ClipboardService);
63
63
  /** Subject utilizzato internamente lato EsTable per causare il Focus lato componente di Input */
@@ -179,7 +179,11 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
179
179
  ColumnsPinnable: boolean;
180
180
  /** Indica se dev'essere disponibile il sistema di aggiornamento automatico */
181
181
  AutoUpdate: boolean;
182
- /** Indica se dev'essere l'estable a gestire la ricerca, anche la prima */
182
+ /**
183
+ * @experimental Indica se dev'essere l'estable a gestire la ricerca, anche la prima.
184
+ *
185
+ * **ATTENZIONE: RICHIEDE MODIFICHE NON TRIVIALI ALLA PAGINA DI RICERCA CHE UTILIZZA QUESTO TIPO DI ES-TABLE. NON UTILIZZARE SE NON SI SA CIO' CHE SI STA FACENDO**
186
+ **/
183
187
  EsTableHandledSearch: boolean;
184
188
  /**
185
189
  * Decide se utilizzare o meno le CustomCells. Impostandolo a **true** l'es-table diventa in grado di gestire nativamente:
@@ -674,4 +678,9 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
674
678
  * @param {number} columnIndex Indice della colonna su cui è avvenuta la modifica
675
679
  */
676
680
  finalizeUserEdit(rowItem: TdElement, item: any, columnIndex: number): void;
681
+ private mouseIsDown;
682
+ private firstCoordinates;
683
+ mousedown(event: MouseEvent): void;
684
+ mouseenter(event: MouseEvent): void;
685
+ mouseup(event: any): void;
677
686
  }
@@ -1,6 +1,10 @@
1
1
  import { Subject } from "rxjs";
2
+ /** Classe che fornisce dei metodi di estensione in grado di riconoscere e dispatchare l'evento copia e incolla lanciato su una pagina web */
2
3
  export declare class CopyPasteDetector {
4
+ /** Dispatcher del Copia */
3
5
  OnCopy: Subject<void>;
6
+ /** Dispatcher dell' Incolla */
4
7
  OnPaste: Subject<void>;
8
+ /** @ignore */
5
9
  constructor();
6
10
  }
@@ -38,6 +38,7 @@ export declare class ColumnMetadataHandler {
38
38
  * @param {EsThDirective[]} ths Colonne della tabella
39
39
  */
40
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 */
41
42
  expandMultiThsAndTds(ths: EsThDirective[], tds: EsTdDirective[], items: any[]): {
42
43
  expThs: EsThDirective[];
43
44
  expTds: EsTdDirective[];
@@ -11,6 +11,15 @@ export declare class ReportModeHandler {
11
11
  constructor(est: EsTableComponent, utilities: UtilitiesHandler);
12
12
  /** Metodo che si occupa di gestire la grafica della tabella in base alle informazioni di ordinamento colonne e paginazione contenuti nel modello */
13
13
  reviewReportBindings(): void;
14
+ /**
15
+ * Data una AppSearch questo metodo genera la lista di th e td che si possono collegare al giro standard.
16
+ * Se non ci fosse questo passaggio intermedio la gestione della modalità report sarebbe 100% custom,
17
+ * come poi lo era prima che la facessi passare dal giro che fanno tutte le altre modalità
18
+ *
19
+ * @param {AppSearch<any>} view View in modalità report contenente le informazioni sulle colonne
20
+ *
21
+ * @returns {{ ths: EsThDirective[], tds: EsTdDirective[] }} Lista di direttive per gli header e per il body
22
+ */
14
23
  generateThsAndTdsFromView(view: AppSearch<any>): {
15
24
  ths: EsThDirective[];
16
25
  tds: EsTdDirective[];
@@ -45,6 +45,7 @@ export declare class SelectionHandler {
45
45
  * @param {EsThDirective[]} ths Colonne su cui gli oggetti sono bindati
46
46
  */
47
47
  evaluateSingleCellSelection(items: any[], ths: EsThDirective[], dyn: EsTableColumnsDefinition[]): void;
48
+ /** @ignore */
48
49
  private fillSelectionStatusByDynamicColumns;
49
50
  /** @ignore */
50
51
  private fillSelectionStatusByEsThs;
@@ -172,8 +173,12 @@ export declare class SelectionHandler {
172
173
  * @param {any} event Evento Javascript di Click
173
174
  * @param {number} row Indice della riga. Non è l'indice vero e proprio ma è l'ordinale (.ordinal) dell'oggetto bindato su quella riga
174
175
  * @param {number} column Indice della colonna preso banalmente dall'ngIf sui thElement
176
+ * @param {{ row: number, column: number }} firstSelectionOverride Permette di overridare il primo elemento selezionato
175
177
  */
176
- singleCellSelection(event: any, row: number, column: number): void;
178
+ singleCellSelection(event: any, row: number, column: number, firstSelectionOverride?: {
179
+ row: number;
180
+ column: number;
181
+ }): void;
177
182
  /**
178
183
  * Helper per ripulire lo stato di selezione delle singole celle della tabella, ad esclusione di una singola coordinata
179
184
  *
@@ -1,4 +1,5 @@
1
1
  import { TemplateRef } from '@angular/core';
2
+ /** Direttiva che rappresenta il template dell'editor di una cella all'interno della tabella */
2
3
  export declare class EsTdEditorDirective {
3
4
  Template: TemplateRef<any>;
4
5
  /** Id dell'Editor */
@@ -41,6 +41,7 @@ export declare class EsTableColumnsDefinition {
41
41
  id: string;
42
42
  description: string;
43
43
  }[], EditorName?: string, RendererName?: string);
44
+ static build(parsObj: any): EsTableColumnsDefinition;
44
45
  /** Routerlink che verrà generato a runtime basandosi sulle informazioni di **routePath** e **routeParameterProperties** */
45
46
  routerLink: any;
46
47
  }
@@ -79,6 +79,16 @@ export declare class AppSearch<T> {
79
79
  /**
80
80
  * Permette di resettare un AppSearch ai valori di default.
81
81
  * Reso statico perché fra una deserializzazione e l'altra si potrebbe perdere il prototype del costruttore
82
+ *
83
+ * @param {AppSearch<any>} aps AppSearch da resettare
82
84
  */
83
85
  static reset(aps: AppSearch<any>): void;
86
+ /**
87
+ * Permette di ottenere un nuovo riferimento all'AppSearch passata come parametro.
88
+ * Internamente utilizza il JSON.parse(JSON.stringify(X)) con la differenza che prima stacca il riferimento agli items per evitare di
89
+ * reserializzare potenzialmente centinaia di elementi. Il riferimento viene poi ricollegato alla nuova appsearch generata
90
+ *
91
+ * @param {AppSearch<any>} aps AppSearch di cui estrarre un nuovo riferimento equivalente
92
+ */
93
+ static newref(aps: AppSearch<any>): any;
84
94
  }
@@ -22,6 +22,7 @@ export declare class EsTableColumn {
22
22
  * @param {string} description Descrizione (Header)
23
23
  * @param {boolean} visible Indica se di default mostrarla o meno
24
24
  * @param {boolean} fixed Indica se è una colonna fixed
25
+ * @param {boolean} pinnable Indica se una colonna può essere pinnata
25
26
  * @param {boolean} pinned Indica se è una colonna pinnata
26
27
  * @param {number} pinnedWidth Indica la dimensione da assegnare a questa colonna quando è pinnata
27
28
  * @param {TemplateRef<any>} template Indica il template da usare per mostrare il testo dell'Header
@@ -10,8 +10,9 @@ export declare class GroupPager {
10
10
  /**
11
11
  * Costruttore
12
12
  *
13
- * @param {number} groupLevel Livello del gruppo a cui questo separatore fa riferimento
14
- * @param {string} parentKey Chiave del gruppo parent se esiste
13
+ * @param {number} _grouplevel Livello del gruppo a cui questo separatore fa riferimento
14
+ * @param {string} _thisRoute Route che identifica la gerarchia del gruppo e chi sono i parent
15
+ * @param {string} _parent Chiave del gruppo parent se esiste
15
16
  * @param {AppSearch<any>} view Vista di ricerca collegata a questo elemento
16
17
  * @param {'groups' | 'items'} searches Indica che cosa cerca questo separatore, se sottogruppi o oggetti
17
18
  */
@@ -1,4 +1,5 @@
1
1
  import { SafeHtml } from "@angular/platform-browser";
2
+ /** Interfaccia di passaggio fra i dati che arrivano come direttiva / configurazione alla struttura interna su cui vengono generati i componenti es-td */
2
3
  export interface TdElement {
3
4
  /** Id della cella, dev'essere lo stesso della colonna **EsTh** relativa */
4
5
  ID: string;
@@ -1,4 +1,9 @@
1
1
  import { TemplateRef } from "@angular/core";
2
+ /**
3
+ * @ignore Interfaccia di passaggio fra i dati che arrivano come direttiva / configurazione alla struttura interna su cui vengono generati i componenti es-th
4
+ *
5
+ * Per informazioni sulle singole proprietà fare riferimento alla direttiva **EsThDirective**
6
+ */
2
7
  export interface ThElement {
3
8
  Pinned: boolean;
4
9
  Fixed: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/es-table",
3
- "version": "11.2.77",
3
+ "version": "11.2.80",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },