@esfaenza/es-table 12.2.21 → 12.2.26

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.
@@ -440,7 +440,7 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
440
440
  /** @ignore */
441
441
  propagateChange: (_: any) => void;
442
442
  /** @ignore */
443
- writeValue(obj: any): void;
443
+ writeValue(obj: any): Promise<void>;
444
444
  /** Funzione di trackby per il body che dovrebbe evitare il 90% delle change detection */
445
445
  bodyTrackBy: (index: number, item: any) => any;
446
446
  /**
@@ -7,6 +7,7 @@ import { EsTdDirective } from "../../../directives/es_td.directive";
7
7
  import { EsThDirective } from "../../../directives/es_th.directive";
8
8
  import { UtilitiesHandler, RowGroupingHandler } from "..";
9
9
  import { AppSearch, EsTableColumn } from "../../../domain";
10
+ import { CdkDrag, CdkDragDrop } from "@angular/cdk/drag-drop";
10
11
  /** Classe che gestisce tutte le informaizoni relative alle colonne: visibilità, posizione, stato di pin/unpin, ecc ecc... */
11
12
  export declare class ColumnMetadataHandler {
12
13
  private est;
@@ -140,6 +141,21 @@ export declare class ColumnMetadataHandler {
140
141
  private refreshColumnOrdering;
141
142
  /** Effettua la selezione o meno del check globale (**globalColVisCheck**) di visibilità in base a se tutte le **TMPColumnsList** sono visibili o no */
142
143
  updateGlobalColVisCheck(): void;
144
+ /**
145
+ * Chiamato quando una colonna viene riordinata all'interno della lista delle visibilità/posizioni colonne
146
+ *
147
+ * @param {CdkDragDrop<EsTableColumn[]>} event Evento di drop della lista
148
+ */
149
+ columnReordered(event: CdkDragDrop<EsTableColumn[]>): void;
150
+ /**
151
+ * Chiamato quando una colonna viene riordinata all'interno della lista delle visibilità/posizioni colonne
152
+ *
153
+ * @param {number} index Indice in cui voglio droppare l'elemento draggato
154
+ * @param {CdkDrag<EsTableColumn>} item Oggetto che sto draggando
155
+ *
156
+ * @returns {boolean} **true** se la colonna può essere spostata sull'indice **index**, **false** altrimenti
157
+ */
158
+ sortPredicate(index: number, item: CdkDrag<EsTableColumn>): boolean;
143
159
  /**
144
160
  * Funzione che effettua la conferma della visibilità e dell'ordine delle colonne.
145
161
  *
@@ -5,6 +5,8 @@ export declare class EsThDirective {
5
5
  Template: TemplateRef<any>;
6
6
  /** Variabile interna all'interno della quale viene raccolta la cache delle aggregazioni specificate in thAggregation */
7
7
  _thAggregations: ThAggregation[];
8
+ /** Variabile interna contenente in maniera ordinata i template dei padri */
9
+ _thParents: TemplateRef<any>[];
8
10
  /** Variabile interna che indica il fatto che questo componente è una direttiva. Serve per disambigualrlo dell'EsThComponent */
9
11
  _directive: boolean;
10
12
  /** Variabile interna impostata dall'**EsTable**, per controllare che ci sia almeno un TD che utilizzi quest'header */
@@ -35,6 +37,8 @@ export declare class EsThDirective {
35
37
  thGroupClass: string;
36
38
  /** Equivalente dell'NgIf sul th */
37
39
  thIf: boolean;
40
+ /** Campo particolare che indica che questo header è vuoto. Viene utilizzato solo a livello grafico per ignorare o meno l'emit del template */
41
+ thEmpty: boolean;
38
42
  /** Indica che bisogna fare un raggruppamento su questa colonna */
39
43
  thGroup: boolean;
40
44
  /** Indica che bisogna fare una aggregazione su questa colonna, a fronte di almeno un altra con un raggruppamento */
@@ -3,11 +3,12 @@ import { TemplateRef } from "@angular/core";
3
3
  export declare class EsTableColumn {
4
4
  id: string;
5
5
  description: string;
6
- visible: boolean;
7
- fixed: boolean;
8
- pinned: boolean;
9
- pinnedWidth: number;
10
- template: TemplateRef<any>;
6
+ visible?: boolean;
7
+ fixed?: boolean;
8
+ pinned?: boolean;
9
+ pinnedWidth?: number;
10
+ template?: TemplateRef<any>;
11
+ parentTemplates?: TemplateRef<any>[];
11
12
  /**
12
13
  * Costruttore
13
14
  *
@@ -18,8 +19,9 @@ export declare class EsTableColumn {
18
19
  * @param {boolean} pinned Indica se è una colonna pinnata
19
20
  * @param {number} pinnedWidth Indica la dimensione da assegnare a questa colonna quando è pinnata
20
21
  * @param {TemplateRef<any>} template Indica il template da usare per mostrare il testo dell'Header
22
+ * @param {TemplateRef<any>[]} parentTemplates Indica la lista di template padri collegata a questo header
21
23
  */
22
- constructor(id: string, description: string, visible: boolean, fixed: boolean, pinned: boolean, pinnedWidth: number, template: TemplateRef<any>);
24
+ constructor(id: string, description: string, visible?: boolean, fixed?: boolean, pinned?: boolean, pinnedWidth?: number, template?: TemplateRef<any>, parentTemplates?: TemplateRef<any>[]);
23
25
  /** Indice precedente in cui si trovava questa colonna in modo da poterla spinnare in maniera super sexy */
24
26
  prev_index: number;
25
27
  }
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@esfaenza/es-table",
3
- "version": "12.2.21",
3
+ "version": "12.2.26",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },
7
7
  "peerDependencies": {
8
- "@angular/common": "~12.2.12",
9
- "@angular/core": "~12.2.12",
8
+ "@angular/common": "~12.2.15",
9
+ "@angular/core": "~12.2.15",
10
10
  "@angular/material": "~12.2.13",
11
- "@esfaenza/extensions": "^12.2.11",
12
- "@esfaenza/localizations": "^12.2.9",
11
+ "@esfaenza/extensions": "^12.2.13",
12
+ "@esfaenza/localizations": "^12.2.10",
13
13
  "@ctrl/ngx-csv": "4.0.0",
14
- "@esfaenza/ngx-contextmenu": "^12.2.7",
15
- "@esfaenza/preferences": "^12.2.7",
16
- "ngx-toastr": "14.1.4",
14
+ "@esfaenza/ngx-contextmenu": "^12.2.8",
15
+ "@esfaenza/preferences": "^12.2.9",
16
+ "ngx-toastr": "14.2.1",
17
17
  "ngx-bootstrap": "7.0.0"
18
18
  },
19
19
  "main": "bundles/esfaenza-es-table.umd.js",