@esfaenza/es-table 11.2.42 → 11.2.44
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.
- package/bundles/esfaenza-es-table.umd.js +240 -26
- package/bundles/esfaenza-es-table.umd.js.map +1 -1
- package/bundles/esfaenza-es-table.umd.min.js +1 -1
- package/bundles/esfaenza-es-table.umd.min.js.map +1 -1
- package/esfaenza-es-table.metadata.json +1 -1
- package/esm2015/lib/components/es-table/es_table.component.js +71 -6
- package/esm2015/lib/core/handlers/ColumnMetadataHandler.js +116 -8
- package/esm2015/lib/directives/es_td.directive.js +3 -1
- package/esm2015/lib/directives/es_th.directive.js +11 -5
- package/esm2015/lib/domain/externals/appsearch/EsTableMultiValue.js +25 -0
- package/esm2015/lib/domain/internals/EsTableColumn.js +7 -3
- package/esm2015/lib/domain/internals/TdElement.js +1 -1
- package/esm2015/lib/es-table.module.js +4 -2
- package/esm2015/public-api.js +2 -1
- package/fesm2015/esfaenza-es-table.js +230 -20
- package/fesm2015/esfaenza-es-table.js.map +1 -1
- package/lib/components/es-table/es_table.component.d.ts +12 -0
- package/lib/core/handlers/ColumnMetadataHandler.d.ts +10 -5
- package/lib/directives/es_td.directive.d.ts +2 -0
- package/lib/directives/es_th.directive.d.ts +16 -4
- package/lib/domain/externals/appsearch/EsTableMultiValue.d.ts +22 -0
- package/lib/domain/internals/EsTableColumn.d.ts +13 -3
- package/lib/domain/internals/TdElement.d.ts +7 -0
- package/package.json +2 -1
- package/public-api.d.ts +1 -0
|
@@ -291,6 +291,8 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
|
|
|
291
291
|
UseSelectionCache: any;
|
|
292
292
|
/** Permette di decidere se, in modalità raggruppamento, mostrare o meno il valore delle colonne di gruppo negli oggetti finali. Di default sono nascosti */
|
|
293
293
|
ShowItemGroupsColumns: any;
|
|
294
|
+
/** Indica che tutti i campi che definiscono le modalità di modifica campo possono essere modificati in base alle impostazioni */
|
|
295
|
+
UserEdits: boolean;
|
|
294
296
|
/** Evento che viene richiamato al cambio di oridnamento di una colonna */
|
|
295
297
|
onOrderChanged: EventEmitter<AppOrdering>;
|
|
296
298
|
/**
|
|
@@ -593,4 +595,14 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
|
|
|
593
595
|
* Metodo eventualmente richiamabile anche dal componente esterno che permette di forzare un refresh della tabella
|
|
594
596
|
*/
|
|
595
597
|
forceRefresh(): void;
|
|
598
|
+
rowDbClickTimer: any;
|
|
599
|
+
cellDbClickTimer: any;
|
|
600
|
+
doubleClickBufferMs: number;
|
|
601
|
+
ensureNoDbClickAndSelect($event: any, item: any, selection: boolean): void;
|
|
602
|
+
private clearRowClickTimer;
|
|
603
|
+
ensureDbClickAndSetupEdit(rowItem: TdElement): void;
|
|
604
|
+
private clearCellClickTimer;
|
|
605
|
+
private handleRowClick;
|
|
606
|
+
setupUserEdit(rowItem: TdElement): void;
|
|
607
|
+
finalizeUserEdit(rowItem: TdElement, item: any): void;
|
|
596
608
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { CdkDrag, CdkDragDrop } from "@angular/cdk/drag-drop";
|
|
2
2
|
import { UtilityService } from "@esfaenza/extensions";
|
|
3
3
|
import { PreferencesService } from "@esfaenza/preferences";
|
|
4
|
-
import { EsTd } from "../../components/es-td/es_td.component";
|
|
5
4
|
import { EsTableComponent } from "../../components/es-table/es_table.component";
|
|
6
5
|
import { EsTdDirective } from "../../directives/es_td.directive";
|
|
7
6
|
import { EsThDirective } from "../../directives/es_th.directive";
|
|
@@ -33,10 +32,14 @@ export declare class ColumnMetadataHandler {
|
|
|
33
32
|
* @param {EsThDirective[]} ths Colonne della tabella
|
|
34
33
|
*/
|
|
35
34
|
reviewColumnsList(ths: EsThDirective[]): void;
|
|
35
|
+
expandMultiThsAndTds(ths: EsThDirective[], tds: EsTdDirective[], items: any[]): {
|
|
36
|
+
expThs: EsThDirective[];
|
|
37
|
+
expTds: EsTdDirective[];
|
|
38
|
+
};
|
|
36
39
|
/**
|
|
37
40
|
* Prende i th e i td in modalità diretive e li ordina in base a se ci sono colonne fixed o meno
|
|
38
41
|
*/
|
|
39
|
-
moveFixedColumnsAtTheBeginning(ths: EsThDirective[], tds:
|
|
42
|
+
moveFixedColumnsAtTheBeginning(ths: EsThDirective[], tds: EsTdDirective[]): void;
|
|
40
43
|
/** In base alla configurazione delle colonne calcola le dimenioni delle colonne pinnate */
|
|
41
44
|
evaluatePinnedColumnsWidth(): void;
|
|
42
45
|
/**
|
|
@@ -47,9 +50,9 @@ export declare class ColumnMetadataHandler {
|
|
|
47
50
|
*/
|
|
48
51
|
alignColumnsIfLoadedView(view: AppSearch<any>): void;
|
|
49
52
|
/**
|
|
50
|
-
* In base alla visibilità registrata nelle **ColumnsList** questo metodo si occupa di prendere tutti i **
|
|
53
|
+
* In base alla visibilità registrata nelle **ColumnsList** questo metodo si occupa di prendere tutti i **EsThDirective** ed **EsTdDirective** relativi e nasonderli/mostrarli
|
|
51
54
|
*
|
|
52
|
-
* Costo: 1 scan ColumnsList, 1 scan
|
|
55
|
+
* Costo: 1 scan ColumnsList, 1 scan EsThDirectives, 1 scan EsTdDirectives
|
|
53
56
|
*
|
|
54
57
|
* @param {EsThDirective[]} ths Header della tabella
|
|
55
58
|
* @param {EsTdDirective[]} tds Celle della tabella
|
|
@@ -86,7 +89,9 @@ export declare class ColumnMetadataHandler {
|
|
|
86
89
|
leafs: EsThDirective[];
|
|
87
90
|
groupingLevel: number;
|
|
88
91
|
parentsCache: any;
|
|
89
|
-
thsCache:
|
|
92
|
+
thsCache: {
|
|
93
|
+
[index: string]: EsThDirective;
|
|
94
|
+
};
|
|
90
95
|
}): void;
|
|
91
96
|
/**
|
|
92
97
|
* Calcola il numero di salti da un header foglia all'ultimo parent della catena
|
|
@@ -4,6 +4,8 @@ export declare class EsTdDirective {
|
|
|
4
4
|
Template: TemplateRef<any>;
|
|
5
5
|
/** Variabile interna che indica il fatto che questo componente è una direttiva. Serve per disambigualrlo dell'EsTdComponent */
|
|
6
6
|
_directive: boolean;
|
|
7
|
+
/** Variabile interna che indica il fatto che questo template si riferisce a una proprietà multipla */
|
|
8
|
+
_multi: boolean;
|
|
7
9
|
/** Indica se la cella è visibile o meno di default */
|
|
8
10
|
tdVisible: boolean;
|
|
9
11
|
/** Id della colonna, fa riferimento al **th** padre */
|
|
@@ -6,11 +6,18 @@ export declare class EsThDirective {
|
|
|
6
6
|
/** Variabile interna all'interno della quale viene raccolta la cache delle aggregazioni specificate in thAggregation */
|
|
7
7
|
_thAggregations: ThAggregation[];
|
|
8
8
|
/** Variabile interna contenente in maniera ordinata i template dei padri */
|
|
9
|
-
_thParents:
|
|
9
|
+
_thParents: {
|
|
10
|
+
tmpl?: TemplateRef<any>;
|
|
11
|
+
content?: string;
|
|
12
|
+
}[];
|
|
10
13
|
/** Variabile interna che indica il fatto che questo componente è una direttiva. Serve per disambigualrlo dell'EsThComponent */
|
|
11
14
|
_directive: boolean;
|
|
12
15
|
/** Variabile interna impostata dall'**EsTable**, per controllare che ci sia almeno un TD che utilizzi quest'header */
|
|
13
16
|
_referenced: boolean;
|
|
17
|
+
/** Variabile interna che indica il fatto che questo template si riferisce a una proprietà multipla */
|
|
18
|
+
_multi: boolean;
|
|
19
|
+
/** Variabile interna che indica il contenuto dell'header in caso di multi */
|
|
20
|
+
_multi_content: string;
|
|
14
21
|
/** Id della colonna, dev'essere lo stesso per tutti i **td** relativi */
|
|
15
22
|
th: string;
|
|
16
23
|
/** Indica se la colonna è pinnata o no */
|
|
@@ -45,8 +52,13 @@ export declare class EsThDirective {
|
|
|
45
52
|
thGroup: boolean;
|
|
46
53
|
/** Indica che bisogna fare una aggregazione su questa colonna, a fronte di almeno un altra con un raggruppamento */
|
|
47
54
|
thAggregation: string;
|
|
48
|
-
/**
|
|
49
|
-
|
|
50
|
-
|
|
55
|
+
/** Impostazioni per la modifica inline di questo campo: la **Property** di riferimento e il **Type** (a scelta fra quelli supportati dal form-adaptive) */
|
|
56
|
+
thUserEdits: {
|
|
57
|
+
Property: string;
|
|
58
|
+
Type: 'string' | 'float' | 'date' | 'number' | 'int' | 'boolean' | 'enum' | 'autocomplete' | 'datetime' | 'time' | 'file' | 'currency';
|
|
59
|
+
};
|
|
60
|
+
/** Indica che questo header deve essere emesso una volta per ogni valore presente nella lista di **EsTableMultiValue** alla proprietà **th** dell'oggetto corrente */
|
|
61
|
+
thMulti: boolean;
|
|
62
|
+
/** @ignore */
|
|
51
63
|
constructor(Template: TemplateRef<any>);
|
|
52
64
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Classe che definisce un multi-elemento, cioè una proprietà particolare di un oggetto da visualizzare in es-table che genera dinamicamente gruppi di Header e valori sottostanti */
|
|
2
|
+
export declare class EsTableMultiValue {
|
|
3
|
+
value: any;
|
|
4
|
+
header: string;
|
|
5
|
+
header_group: string;
|
|
6
|
+
/**
|
|
7
|
+
* Costruttore
|
|
8
|
+
*
|
|
9
|
+
* @param {string} value Valore di questo elemento
|
|
10
|
+
* @param {string} header Nome di questo header
|
|
11
|
+
* @param {string} header_group Gruppo dell'header, in caso di multipli gruppi innestati usare la sintassi "G1 > G2 > G3" ecc...
|
|
12
|
+
* @param {boolean} exports Indica se questo header con questo valore dev'essere esportato
|
|
13
|
+
* @param {string} export_format Qualora **export** fosse **true** indica il formato per l'esportazione
|
|
14
|
+
*/
|
|
15
|
+
constructor(value: any, header: string, header_group: string, exports?: boolean, export_format?: string);
|
|
16
|
+
/** Indica se questo header con questo valore dev'essere esportato */
|
|
17
|
+
exports?: boolean;
|
|
18
|
+
/** Qualora **export** fosse **true** indica il formato per l'esportazione */
|
|
19
|
+
export_format?: string;
|
|
20
|
+
/** Generato automaticamente da **header_group** se passato da costruttore, altrimenti generato da es-table. Contiene la lista di gerarchie degli header groups (cioè **header_group** splittato su ">" e trimmato) */
|
|
21
|
+
_headersHierarchy?: string[];
|
|
22
|
+
}
|
|
@@ -9,7 +9,12 @@ export declare class EsTableColumn {
|
|
|
9
9
|
pinnable?: boolean;
|
|
10
10
|
pinnedWidth?: number;
|
|
11
11
|
template?: TemplateRef<any>;
|
|
12
|
-
parentTemplates?:
|
|
12
|
+
parentTemplates?: {
|
|
13
|
+
tmpl?: TemplateRef<any>;
|
|
14
|
+
content?: string;
|
|
15
|
+
}[];
|
|
16
|
+
multi?: boolean;
|
|
17
|
+
multiContent?: string;
|
|
13
18
|
/**
|
|
14
19
|
* Costruttore
|
|
15
20
|
*
|
|
@@ -20,9 +25,14 @@ export declare class EsTableColumn {
|
|
|
20
25
|
* @param {boolean} pinned Indica se è una colonna pinnata
|
|
21
26
|
* @param {number} pinnedWidth Indica la dimensione da assegnare a questa colonna quando è pinnata
|
|
22
27
|
* @param {TemplateRef<any>} template Indica il template da usare per mostrare il testo dell'Header
|
|
23
|
-
* @param {TemplateRef<any
|
|
28
|
+
* @param {{ tmpl: TemplateRef<any>, content: string }[]} parentTemplates Indica la lista di template padri collegata a questo header, rappresentati come Template o come stringa qualora fosse generato automaticamente (caso **Multi**)
|
|
29
|
+
* @param {boolean} multi Indica che la colonna deriva da una direttiva **Multi**
|
|
30
|
+
* @param {string} multiContent Indica il contenuto della direttiva **Multi** per questa colonna
|
|
24
31
|
*/
|
|
25
|
-
constructor(id: string, description: string, visible?: boolean, fixed?: boolean, pinned?: boolean, pinnable?: boolean, pinnedWidth?: number, template?: TemplateRef<any>, parentTemplates?:
|
|
32
|
+
constructor(id: string, description: string, visible?: boolean, fixed?: boolean, pinned?: boolean, pinnable?: boolean, pinnedWidth?: number, template?: TemplateRef<any>, parentTemplates?: {
|
|
33
|
+
tmpl?: TemplateRef<any>;
|
|
34
|
+
content?: string;
|
|
35
|
+
}[], multi?: boolean, multiContent?: string);
|
|
26
36
|
/** Indice precedente in cui si trovava questa colonna in modo da poterla spinnare in maniera super sexy */
|
|
27
37
|
prev_index: number;
|
|
28
38
|
}
|
|
@@ -32,4 +32,11 @@ export interface TdElement {
|
|
|
32
32
|
Visible?: boolean;
|
|
33
33
|
/** Indica se la cella deve wrappare o no il contenuto */
|
|
34
34
|
Wraps?: boolean;
|
|
35
|
+
/** Impostazioni per la modifica inline di questo campo: la **Property** di riferimento e il **Type** (a scelta fra quelli supportati dal form-adaptive) */
|
|
36
|
+
UserEdits?: {
|
|
37
|
+
Property: string;
|
|
38
|
+
Type: string;
|
|
39
|
+
};
|
|
40
|
+
/** Indica che l'oggetto di bindare per questo td è l'elemento all'indice Y della proprietà Z dove Y e Z vengono prese dall'**ID** scritto come Z_Y */
|
|
41
|
+
Multi?: true;
|
|
35
42
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@esfaenza/es-table",
|
|
3
|
-
"version": "11.2.
|
|
3
|
+
"version": "11.2.44",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"tslib": "^2.0.0"
|
|
6
6
|
},
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"@angular/material": "~11.2.13",
|
|
11
11
|
"@esfaenza/extensions": "^11.2.19",
|
|
12
12
|
"@esfaenza/localizations": "^11.2.6",
|
|
13
|
+
"@esfaenza/forms-and-validations": "^11.2.47",
|
|
13
14
|
"@ctrl/ngx-csv": "4.0.0",
|
|
14
15
|
"@esfaenza/ngx-contextmenu": "^11.2.5",
|
|
15
16
|
"@esfaenza/preferences": "^11.2.18",
|
package/public-api.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export * from './lib/domain/externals/appsearch/GroupAggregation';
|
|
|
16
16
|
export * from './lib/domain/externals/appsearch/GroupFilter';
|
|
17
17
|
export * from './lib/domain/externals/appsearch/GroupOrAggregation';
|
|
18
18
|
export * from './lib/domain/externals/appsearch/ItemsSelection';
|
|
19
|
+
export * from './lib/domain/externals/appsearch/EsTableMultiValue';
|
|
19
20
|
export * from './lib/domain/externals/report/ReportColumn';
|
|
20
21
|
export * from './lib/domain/externals/report/ReportDefinition';
|
|
21
22
|
export * from './lib/domain/externals/report/ReportOrder';
|