@cauca-911/datagrid 22.1.5 → 22.2.1
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/package.json
CHANGED
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cauca-911/datagrid",
|
|
3
|
-
"version": "22.1
|
|
3
|
+
"version": "22.2.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": ">=22.1.0",
|
|
6
6
|
"@angular/core": ">=22.1.0",
|
|
7
7
|
"@angular/material": ">=22.1.0",
|
|
8
8
|
"@cauca-911/material": ">=22.0.0",
|
|
9
|
-
"odata-data-source": ">=16.4.0"
|
|
9
|
+
"odata-data-source": ">=16.4.0",
|
|
10
|
+
"exceljs": ">=4.4.0",
|
|
11
|
+
"jspdf": ">=4.2.0",
|
|
12
|
+
"jspdf-autotable": ">=5.0.0"
|
|
13
|
+
},
|
|
14
|
+
"peerDependenciesMeta": {
|
|
15
|
+
"exceljs": {
|
|
16
|
+
"optional": true
|
|
17
|
+
},
|
|
18
|
+
"jspdf": {
|
|
19
|
+
"optional": true
|
|
20
|
+
},
|
|
21
|
+
"jspdf-autotable": {
|
|
22
|
+
"optional": true
|
|
23
|
+
}
|
|
10
24
|
},
|
|
11
25
|
"dependencies": {
|
|
12
26
|
"tslib": ">=2.6.2"
|
|
@@ -24,6 +24,7 @@ declare class DataGridRowDropEvent {
|
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
type ExportCell = string | number | boolean | Date | null;
|
|
27
28
|
declare abstract class BaseGridColumnComponent implements OnDestroy, OnInit {
|
|
28
29
|
table: MatTable<unknown>;
|
|
29
30
|
readonly prop: _angular_core.InputSignal<string>;
|
|
@@ -32,6 +33,7 @@ declare abstract class BaseGridColumnComponent implements OnDestroy, OnInit {
|
|
|
32
33
|
readonly isInColumnChooser: _angular_core.InputSignal<boolean>;
|
|
33
34
|
readonly width: _angular_core.InputSignal<string>;
|
|
34
35
|
readonly showToolTip: _angular_core.InputSignal<boolean>;
|
|
36
|
+
readonly exportable: _angular_core.InputSignal<boolean>;
|
|
35
37
|
ariaHidden: true;
|
|
36
38
|
classes: 'column-template cdk-visually-hidden';
|
|
37
39
|
columnDef: MatColumnDef;
|
|
@@ -43,10 +45,14 @@ declare abstract class BaseGridColumnComponent implements OnDestroy, OnInit {
|
|
|
43
45
|
ngOnInit(): void;
|
|
44
46
|
ngOnDestroy(): void;
|
|
45
47
|
capitalize(value: string): string;
|
|
48
|
+
getExportValue(row: Record<string, unknown>): ExportCell;
|
|
49
|
+
getExportHeader(): string;
|
|
46
50
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseGridColumnComponent, [{ optional: true; }]>;
|
|
47
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseGridColumnComponent, "ng-component", never, { "prop": { "alias": "prop"; "required": false; "isSignal": true; }; "showLabel": { "alias": "showLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "isInColumnChooser": { "alias": "isInColumnChooser"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "showToolTip": { "alias": "showToolTip"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
51
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseGridColumnComponent, "ng-component", never, { "prop": { "alias": "prop"; "required": false; "isSignal": true; }; "showLabel": { "alias": "showLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "isInColumnChooser": { "alias": "isInColumnChooser"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "showToolTip": { "alias": "showToolTip"; "required": false; "isSignal": true; }; "exportable": { "alias": "exportable"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
48
52
|
}
|
|
49
53
|
|
|
54
|
+
type GridExportFormat = 'excel' | 'pdf';
|
|
55
|
+
|
|
50
56
|
declare class DataGridHeaderComponent implements OnInit, OnDestroy {
|
|
51
57
|
filterControl: FormControl<string>;
|
|
52
58
|
/** Written from the debounced valueChanges subscription and by OdataGridComponent when it
|
|
@@ -55,12 +61,14 @@ declare class DataGridHeaderComponent implements OnInit, OnDestroy {
|
|
|
55
61
|
readonly showClearButton: _angular_core.WritableSignal<boolean>;
|
|
56
62
|
readonly showAddButton: _angular_core.InputSignal<boolean>;
|
|
57
63
|
readonly showRefreshButton: _angular_core.InputSignal<boolean>;
|
|
64
|
+
readonly showExportButton: _angular_core.InputSignal<boolean>;
|
|
58
65
|
readonly addButtonLabel: _angular_core.InputSignal<string>;
|
|
59
66
|
readonly searchPlaceholder: _angular_core.InputSignal<string>;
|
|
60
67
|
readonly disableAddButton: _angular_core.InputSignal<boolean>;
|
|
61
68
|
readonly filterChange: _angular_core.OutputEmitterRef<string>;
|
|
62
69
|
readonly addButtonClick: _angular_core.OutputEmitterRef<void>;
|
|
63
70
|
readonly refreshRequest: _angular_core.OutputEmitterRef<void>;
|
|
71
|
+
readonly exportRequest: _angular_core.OutputEmitterRef<GridExportFormat>;
|
|
64
72
|
protected _onDestroy: Subject<void>;
|
|
65
73
|
ngOnInit(): void;
|
|
66
74
|
ngOnDestroy(): void;
|
|
@@ -68,7 +76,7 @@ declare class DataGridHeaderComponent implements OnInit, OnDestroy {
|
|
|
68
76
|
clearSearchValue(): void;
|
|
69
77
|
onAddButtonClick(): void;
|
|
70
78
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGridHeaderComponent, never>;
|
|
71
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGridHeaderComponent, "cauca-data-grid-header", never, { "showAddButton": { "alias": "showAddButton"; "required": false; "isSignal": true; }; "showRefreshButton": { "alias": "showRefreshButton"; "required": false; "isSignal": true; }; "addButtonLabel": { "alias": "addButtonLabel"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "disableAddButton": { "alias": "disableAddButton"; "required": false; "isSignal": true; }; }, { "filterChange": "filterChange"; "addButtonClick": "addButtonClick"; "refreshRequest": "refreshRequest"; }, never, ["[filterRow]"], true, never>;
|
|
79
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGridHeaderComponent, "cauca-data-grid-header", never, { "showAddButton": { "alias": "showAddButton"; "required": false; "isSignal": true; }; "showRefreshButton": { "alias": "showRefreshButton"; "required": false; "isSignal": true; }; "showExportButton": { "alias": "showExportButton"; "required": false; "isSignal": true; }; "addButtonLabel": { "alias": "addButtonLabel"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "disableAddButton": { "alias": "disableAddButton"; "required": false; "isSignal": true; }; }, { "filterChange": "filterChange"; "addButtonClick": "addButtonClick"; "refreshRequest": "refreshRequest"; "exportRequest": "exportRequest"; }, never, ["[filterRow]"], true, never>;
|
|
72
80
|
}
|
|
73
81
|
|
|
74
82
|
declare enum Density {
|
|
@@ -109,6 +117,9 @@ declare abstract class BaseDataGridComponent implements AfterContentInit {
|
|
|
109
117
|
readonly showPaginator: _angular_core.InputSignal<boolean>;
|
|
110
118
|
readonly hidePageSize: _angular_core.InputSignal<boolean>;
|
|
111
119
|
readonly showExpandButton: _angular_core.InputSignal<boolean>;
|
|
120
|
+
readonly allowExport: _angular_core.InputSignal<boolean>;
|
|
121
|
+
readonly exportFileName: _angular_core.InputSignal<string>;
|
|
122
|
+
readonly exportRows: _angular_core.InputSignal<() => Promise<unknown[]>>;
|
|
112
123
|
readonly addButtonClick: _angular_core.OutputEmitterRef<void>;
|
|
113
124
|
expandedElement: _angular_core.WritableSignal<any>;
|
|
114
125
|
header: DataGridHeaderComponent;
|
|
@@ -129,6 +140,7 @@ declare abstract class BaseDataGridComponent implements AfterContentInit {
|
|
|
129
140
|
readonly allDisplayedColumns: _angular_core.WritableSignal<string[]>;
|
|
130
141
|
preference: Preference;
|
|
131
142
|
protected sort: MatSort;
|
|
143
|
+
private readonly exportService;
|
|
132
144
|
get density(): typeof Density;
|
|
133
145
|
constructor(translateService: TranslateService, preferenceService: BasePreferenceService);
|
|
134
146
|
ngAfterContentInit(): void;
|
|
@@ -137,9 +149,11 @@ declare abstract class BaseDataGridComponent implements AfterContentInit {
|
|
|
137
149
|
renderRows(): void;
|
|
138
150
|
onDensityChanged(density: Density): void;
|
|
139
151
|
abstract getData(): unknown[];
|
|
152
|
+
protected abstract getExportSourceRows(): unknown[];
|
|
140
153
|
protected abstract setUpFilterPredicate(): void;
|
|
141
154
|
protected abstract setUpSort(sort: MatSort): void;
|
|
142
155
|
protected abstract forceReloadFilter(): void;
|
|
156
|
+
protected onExportRequest(format: GridExportFormat): Promise<void>;
|
|
143
157
|
/** The set of columns to render, before the user's own column selection is applied. */
|
|
144
158
|
protected computeDisplayedColumns(): string[];
|
|
145
159
|
protected setUpPaginator(_paginator: MatPaginator, _showPaginator: boolean): void;
|
|
@@ -147,7 +161,7 @@ declare abstract class BaseDataGridComponent implements AfterContentInit {
|
|
|
147
161
|
protected applyColumns(): void;
|
|
148
162
|
private removeMandatoryColumns;
|
|
149
163
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseDataGridComponent, never>;
|
|
150
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseDataGridComponent, "ng-component", never, { "resourceName": { "alias": "resourceName"; "required": true; "isSignal": true; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; "isSignal": true; }; "showAddButton": { "alias": "showAddButton"; "required": false; "isSignal": true; }; "disableAddButton": { "alias": "disableAddButton"; "required": false; "isSignal": true; }; "addButtonLabel": { "alias": "addButtonLabel"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "searchableColumns": { "alias": "searchableColumns"; "required": false; "isSignal": true; }; "showTableOptions": { "alias": "showTableOptions"; "required": false; "isSignal": true; }; "showColumnViewer": { "alias": "showColumnViewer"; "required": false; "isSignal": true; }; "showPaginator": { "alias": "showPaginator"; "required": false; "isSignal": true; }; "hidePageSize": { "alias": "hidePageSize"; "required": false; "isSignal": true; }; "showExpandButton": { "alias": "showExpandButton"; "required": false; "isSignal": true; }; }, { "addButtonClick": "addButtonClick"; }, ["headerRowDef", "footerRowDef", "noDataRow", "regularColumns", "columnDefs", "rowDefs"], never, true, never>;
|
|
164
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseDataGridComponent, "ng-component", never, { "resourceName": { "alias": "resourceName"; "required": true; "isSignal": true; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; "isSignal": true; }; "showAddButton": { "alias": "showAddButton"; "required": false; "isSignal": true; }; "disableAddButton": { "alias": "disableAddButton"; "required": false; "isSignal": true; }; "addButtonLabel": { "alias": "addButtonLabel"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "searchableColumns": { "alias": "searchableColumns"; "required": false; "isSignal": true; }; "showTableOptions": { "alias": "showTableOptions"; "required": false; "isSignal": true; }; "showColumnViewer": { "alias": "showColumnViewer"; "required": false; "isSignal": true; }; "showPaginator": { "alias": "showPaginator"; "required": false; "isSignal": true; }; "hidePageSize": { "alias": "hidePageSize"; "required": false; "isSignal": true; }; "showExpandButton": { "alias": "showExpandButton"; "required": false; "isSignal": true; }; "allowExport": { "alias": "allowExport"; "required": false; "isSignal": true; }; "exportFileName": { "alias": "exportFileName"; "required": false; "isSignal": true; }; "exportRows": { "alias": "exportRows"; "required": false; "isSignal": true; }; }, { "addButtonClick": "addButtonClick"; }, ["headerRowDef", "footerRowDef", "noDataRow", "regularColumns", "columnDefs", "rowDefs"], never, true, never>;
|
|
151
165
|
}
|
|
152
166
|
|
|
153
167
|
declare class DataGridComponent extends BaseDataGridComponent implements AfterContentInit, AfterViewInit {
|
|
@@ -175,6 +189,7 @@ declare class DataGridComponent extends BaseDataGridComponent implements AfterCo
|
|
|
175
189
|
getFilteredData(): unknown[];
|
|
176
190
|
refreshDisplayedColumns(columns: string[]): void;
|
|
177
191
|
rowDropped(event: CdkDragDrop<unknown>): void;
|
|
192
|
+
protected getExportSourceRows(): unknown[];
|
|
178
193
|
protected setUpPaginator(paginator: MatPaginator, showPaginator: boolean): void;
|
|
179
194
|
protected computeDisplayedColumns(): string[];
|
|
180
195
|
protected onColumnsChanged(columns: string[]): void;
|
|
@@ -267,9 +282,11 @@ declare class OdataGridComponent extends BaseDataGridComponent implements OnDest
|
|
|
267
282
|
refreshFilter(): void;
|
|
268
283
|
setUpFilterPredicate(): void;
|
|
269
284
|
setUpSort(sort: MatSort): void;
|
|
285
|
+
protected getExportSourceRows(): unknown[];
|
|
270
286
|
protected forceReloadFilter(): void;
|
|
271
287
|
protected computeDisplayedColumns(): string[];
|
|
272
288
|
protected onColumnsChanged(columns: string[]): void;
|
|
289
|
+
private applyFilterValue;
|
|
273
290
|
/** `expand` is a grid-owned column, not part of the caller's list. */
|
|
274
291
|
private decorateColumns;
|
|
275
292
|
private canPersistState;
|
|
@@ -329,6 +346,23 @@ declare class GridStateRestorationService {
|
|
|
329
346
|
*/
|
|
330
347
|
declare function provideGridStateRestoration(): EnvironmentProviders;
|
|
331
348
|
|
|
349
|
+
interface ExportMatrix {
|
|
350
|
+
headers: string[];
|
|
351
|
+
rows: ExportCell[][];
|
|
352
|
+
}
|
|
353
|
+
declare const GRID_OWNED_COLUMNS: readonly string[];
|
|
354
|
+
declare function buildExportMatrix(columnOrder: readonly string[], columns: readonly BaseGridColumnComponent[], rows: readonly Record<string, unknown>[]): ExportMatrix;
|
|
355
|
+
|
|
356
|
+
declare class GridExportService {
|
|
357
|
+
private readonly locale;
|
|
358
|
+
toExcel(matrix: ExportMatrix, fileName: string): Promise<void>;
|
|
359
|
+
toPdf(matrix: ExportMatrix, fileName: string): Promise<void>;
|
|
360
|
+
private stringify;
|
|
361
|
+
private download;
|
|
362
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridExportService, never>;
|
|
363
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<GridExportService>;
|
|
364
|
+
}
|
|
365
|
+
|
|
332
366
|
declare class ColorDataGridColumnComponent extends BaseGridColumnComponent implements OnDestroy, OnInit {
|
|
333
367
|
readonly odata: OdataGridComponent;
|
|
334
368
|
readonly grid: DataGridComponent;
|
|
@@ -427,6 +461,7 @@ declare class DateGridColumnComponent extends BaseGridColumnComponent implements
|
|
|
427
461
|
maxDate: _angular_core.InputSignal<Date>;
|
|
428
462
|
minDate: _angular_core.InputSignal<Date>;
|
|
429
463
|
constructor(odata: OdataGridComponent, grid: DataGridComponent);
|
|
464
|
+
getExportValue(row: Record<string, unknown>): ExportCell;
|
|
430
465
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateGridColumnComponent, [{ optional: true; }, { optional: true; }]>;
|
|
431
466
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateGridColumnComponent, "cauca-date-grid-column", never, { "showWithTime": { "alias": "showWithTime"; "required": false; "isSignal": true; }; "showSecond": { "alias": "showSecond"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
432
467
|
}
|
|
@@ -450,6 +485,7 @@ declare class SortableDataGridColumnComponent extends BaseGridColumnComponent im
|
|
|
450
485
|
isInitialized: boolean;
|
|
451
486
|
private readonly grid;
|
|
452
487
|
constructor(odata: OdataGridComponent, grid: DataGridComponent);
|
|
488
|
+
getExportValue(row: Record<string, unknown>): ExportCell;
|
|
453
489
|
calculateSummary(): string;
|
|
454
490
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SortableDataGridColumnComponent, [{ optional: true; }, { optional: true; }]>;
|
|
455
491
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SortableDataGridColumnComponent, "cauca-sortable-data-grid-column", never, { "summaryType": { "alias": "summaryType"; "required": false; "isSignal": true; }; "summaryLabel": { "alias": "summaryLabel"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "sortProp": { "alias": "sortProp"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -459,7 +495,9 @@ declare class TranslationGridColumnComponent extends BaseGridColumnComponent imp
|
|
|
459
495
|
readonly odata: OdataGridComponent;
|
|
460
496
|
readonly grid: DataGridComponent;
|
|
461
497
|
readonly prefix: _angular_core.InputSignal<string>;
|
|
498
|
+
private readonly translateService;
|
|
462
499
|
constructor(odata: OdataGridComponent, grid: DataGridComponent);
|
|
500
|
+
getExportValue(row: Record<string, unknown>): ExportCell;
|
|
463
501
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TranslationGridColumnComponent, [{ optional: true; }, { optional: true; }]>;
|
|
464
502
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TranslationGridColumnComponent, "cauca-translation-grid-column", never, { "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
465
503
|
}
|
|
@@ -468,6 +506,7 @@ declare class TimeSpanDataGridColumnComponent extends BaseGridColumnComponent {
|
|
|
468
506
|
readonly odata: OdataGridComponent;
|
|
469
507
|
readonly grid: DataGridComponent;
|
|
470
508
|
constructor(odata: OdataGridComponent, grid: DataGridComponent);
|
|
509
|
+
getExportValue(row: Record<string, unknown>): ExportCell;
|
|
471
510
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TimeSpanDataGridColumnComponent, [{ optional: true; }, { optional: true; }]>;
|
|
472
511
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TimeSpanDataGridColumnComponent, "cauca-time-span-data-grid-column", never, {}, {}, never, never, true, never>;
|
|
473
512
|
}
|
|
@@ -479,5 +518,5 @@ interface CaucaGridOptions {
|
|
|
479
518
|
declare const PREFERENCE_SERVICE_TOKEN: InjectionToken<BasePreferenceService>;
|
|
480
519
|
declare function provideCaucaGrid(options?: CaucaGridOptions): (Provider | EnvironmentProviders);
|
|
481
520
|
|
|
482
|
-
export { BaseGridColumnComponent, ColorDataGridColumnComponent, DataGridCheckColumnComponent, DataGridColumnComponent, DataGridCommandIconColumnComponent, DataGridCommandsColumnComponent, DataGridComponent, DataGridHeaderComponent, DataGridIconColumnComponent, DataGridMenuColumnComponent, DataGridRowDropEvent, DateGridColumnComponent, Density, GridConfiguration, GridStateRestorationService, OdataGridComponent, OdataListingService, PREFERENCE_SERVICE_TOKEN, Preference, SortableDataGridCheckColumnComponent, SortableDataGridColumnComponent, TimeSpanDataGridColumnComponent, TranslationGridColumnComponent, emptyQueryParams, fromQueryParams, paramsEqual, provideCaucaGrid, provideGridStateRestoration, toQueryParams };
|
|
483
|
-
export type { BasePreferenceService, CaucaGridOptions, GridUrlState, Paginator, Sort };
|
|
521
|
+
export { BaseGridColumnComponent, ColorDataGridColumnComponent, DataGridCheckColumnComponent, DataGridColumnComponent, DataGridCommandIconColumnComponent, DataGridCommandsColumnComponent, DataGridComponent, DataGridHeaderComponent, DataGridIconColumnComponent, DataGridMenuColumnComponent, DataGridRowDropEvent, DateGridColumnComponent, Density, GRID_OWNED_COLUMNS, GridConfiguration, GridExportService, GridStateRestorationService, OdataGridComponent, OdataListingService, PREFERENCE_SERVICE_TOKEN, Preference, SortableDataGridCheckColumnComponent, SortableDataGridColumnComponent, TimeSpanDataGridColumnComponent, TranslationGridColumnComponent, buildExportMatrix, emptyQueryParams, fromQueryParams, paramsEqual, provideCaucaGrid, provideGridStateRestoration, toQueryParams };
|
|
522
|
+
export type { BasePreferenceService, CaucaGridOptions, ExportCell, ExportMatrix, GridUrlState, Paginator, Sort };
|