@cauca-911/datagrid 22.1.6 → 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,6 +282,7 @@ 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;
|
|
@@ -330,6 +346,23 @@ declare class GridStateRestorationService {
|
|
|
330
346
|
*/
|
|
331
347
|
declare function provideGridStateRestoration(): EnvironmentProviders;
|
|
332
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
|
+
|
|
333
366
|
declare class ColorDataGridColumnComponent extends BaseGridColumnComponent implements OnDestroy, OnInit {
|
|
334
367
|
readonly odata: OdataGridComponent;
|
|
335
368
|
readonly grid: DataGridComponent;
|
|
@@ -428,6 +461,7 @@ declare class DateGridColumnComponent extends BaseGridColumnComponent implements
|
|
|
428
461
|
maxDate: _angular_core.InputSignal<Date>;
|
|
429
462
|
minDate: _angular_core.InputSignal<Date>;
|
|
430
463
|
constructor(odata: OdataGridComponent, grid: DataGridComponent);
|
|
464
|
+
getExportValue(row: Record<string, unknown>): ExportCell;
|
|
431
465
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateGridColumnComponent, [{ optional: true; }, { optional: true; }]>;
|
|
432
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>;
|
|
433
467
|
}
|
|
@@ -451,6 +485,7 @@ declare class SortableDataGridColumnComponent extends BaseGridColumnComponent im
|
|
|
451
485
|
isInitialized: boolean;
|
|
452
486
|
private readonly grid;
|
|
453
487
|
constructor(odata: OdataGridComponent, grid: DataGridComponent);
|
|
488
|
+
getExportValue(row: Record<string, unknown>): ExportCell;
|
|
454
489
|
calculateSummary(): string;
|
|
455
490
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SortableDataGridColumnComponent, [{ optional: true; }, { optional: true; }]>;
|
|
456
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>;
|
|
@@ -460,7 +495,9 @@ declare class TranslationGridColumnComponent extends BaseGridColumnComponent imp
|
|
|
460
495
|
readonly odata: OdataGridComponent;
|
|
461
496
|
readonly grid: DataGridComponent;
|
|
462
497
|
readonly prefix: _angular_core.InputSignal<string>;
|
|
498
|
+
private readonly translateService;
|
|
463
499
|
constructor(odata: OdataGridComponent, grid: DataGridComponent);
|
|
500
|
+
getExportValue(row: Record<string, unknown>): ExportCell;
|
|
464
501
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TranslationGridColumnComponent, [{ optional: true; }, { optional: true; }]>;
|
|
465
502
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TranslationGridColumnComponent, "cauca-translation-grid-column", never, { "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
466
503
|
}
|
|
@@ -469,6 +506,7 @@ declare class TimeSpanDataGridColumnComponent extends BaseGridColumnComponent {
|
|
|
469
506
|
readonly odata: OdataGridComponent;
|
|
470
507
|
readonly grid: DataGridComponent;
|
|
471
508
|
constructor(odata: OdataGridComponent, grid: DataGridComponent);
|
|
509
|
+
getExportValue(row: Record<string, unknown>): ExportCell;
|
|
472
510
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TimeSpanDataGridColumnComponent, [{ optional: true; }, { optional: true; }]>;
|
|
473
511
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TimeSpanDataGridColumnComponent, "cauca-time-span-data-grid-column", never, {}, {}, never, never, true, never>;
|
|
474
512
|
}
|
|
@@ -480,5 +518,5 @@ interface CaucaGridOptions {
|
|
|
480
518
|
declare const PREFERENCE_SERVICE_TOKEN: InjectionToken<BasePreferenceService>;
|
|
481
519
|
declare function provideCaucaGrid(options?: CaucaGridOptions): (Provider | EnvironmentProviders);
|
|
482
520
|
|
|
483
|
-
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 };
|
|
484
|
-
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 };
|