@cauca-911/datagrid 22.2.1 → 22.2.3

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@cauca-911/datagrid",
3
- "version": "22.2.1",
3
+ "version": "22.2.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=22.1.0",
6
6
  "@angular/core": ">=22.1.0",
@@ -52,6 +52,13 @@ declare abstract class BaseGridColumnComponent implements OnDestroy, OnInit {
52
52
  }
53
53
 
54
54
  type GridExportFormat = 'excel' | 'pdf';
55
+ declare const ALL_EXPORT_FORMATS: readonly GridExportFormat[];
56
+ interface ExportMatrix {
57
+ headers: string[];
58
+ rows: ExportCell[][];
59
+ }
60
+ declare const GRID_OWNED_COLUMNS: readonly string[];
61
+ declare function buildExportMatrix(columnOrder: readonly string[], columns: readonly BaseGridColumnComponent[], rows: readonly Record<string, unknown>[]): ExportMatrix;
55
62
 
56
63
  declare class DataGridHeaderComponent implements OnInit, OnDestroy {
57
64
  filterControl: FormControl<string>;
@@ -62,6 +69,7 @@ declare class DataGridHeaderComponent implements OnInit, OnDestroy {
62
69
  readonly showAddButton: _angular_core.InputSignal<boolean>;
63
70
  readonly showRefreshButton: _angular_core.InputSignal<boolean>;
64
71
  readonly showExportButton: _angular_core.InputSignal<boolean>;
72
+ readonly exportFormats: _angular_core.InputSignal<readonly GridExportFormat[]>;
65
73
  readonly addButtonLabel: _angular_core.InputSignal<string>;
66
74
  readonly searchPlaceholder: _angular_core.InputSignal<string>;
67
75
  readonly disableAddButton: _angular_core.InputSignal<boolean>;
@@ -76,7 +84,7 @@ declare class DataGridHeaderComponent implements OnInit, OnDestroy {
76
84
  clearSearchValue(): void;
77
85
  onAddButtonClick(): void;
78
86
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGridHeaderComponent, 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>;
87
+ 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; }; "exportFormats": { "alias": "exportFormats"; "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>;
80
88
  }
81
89
 
82
90
  declare enum Density {
@@ -120,6 +128,8 @@ declare abstract class BaseDataGridComponent implements AfterContentInit {
120
128
  readonly allowExport: _angular_core.InputSignal<boolean>;
121
129
  readonly exportFileName: _angular_core.InputSignal<string>;
122
130
  readonly exportRows: _angular_core.InputSignal<() => Promise<unknown[]>>;
131
+ readonly exportFormats: _angular_core.InputSignal<readonly GridExportFormat[]>;
132
+ readonly canExport: _angular_core.Signal<boolean>;
123
133
  readonly addButtonClick: _angular_core.OutputEmitterRef<void>;
124
134
  expandedElement: _angular_core.WritableSignal<any>;
125
135
  header: DataGridHeaderComponent;
@@ -149,7 +159,8 @@ declare abstract class BaseDataGridComponent implements AfterContentInit {
149
159
  renderRows(): void;
150
160
  onDensityChanged(density: Density): void;
151
161
  abstract getData(): unknown[];
152
- protected abstract getExportSourceRows(): unknown[];
162
+ /** The rows to export when the caller supplies no `exportRows` provider; may be fetched. */
163
+ protected abstract getExportSourceRows(): unknown[] | Promise<unknown[]>;
153
164
  protected abstract setUpFilterPredicate(): void;
154
165
  protected abstract setUpSort(sort: MatSort): void;
155
166
  protected abstract forceReloadFilter(): void;
@@ -161,7 +172,7 @@ declare abstract class BaseDataGridComponent implements AfterContentInit {
161
172
  protected applyColumns(): void;
162
173
  private removeMandatoryColumns;
163
174
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseDataGridComponent, 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>;
175
+ 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; }; "exportFormats": { "alias": "exportFormats"; "required": false; "isSignal": true; }; }, { "addButtonClick": "addButtonClick"; }, ["headerRowDef", "footerRowDef", "noDataRow", "regularColumns", "columnDefs", "rowDefs"], never, true, never>;
165
176
  }
166
177
 
167
178
  declare class DataGridComponent extends BaseDataGridComponent implements AfterContentInit, AfterViewInit {
@@ -239,11 +250,14 @@ declare class OdataListingService<T = any> {
239
250
  get data(): T[] | null;
240
251
  constructor(httpClient: HttpClient);
241
252
  initialize({ baseUrl, resourceName, paginator, sort, initialSort, filters }: Props): ODataDataSource;
253
+ fetchAllForExport(maxRows: number): Observable<T[]>;
242
254
  updateFilters(filters: ODataFilter[]): void;
243
255
  forceReloadFilter(): void;
244
256
  isInitialized(): boolean;
245
257
  refresh(): void;
246
258
  destroy(): void;
259
+ /** Mirrors how ODataDataSource reads the active sort, single or multi. */
260
+ private sortedBy;
247
261
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<OdataListingService<any>, never>;
248
262
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<OdataListingService<any>>;
249
263
  }
@@ -261,6 +275,7 @@ declare class OdataGridComponent extends BaseDataGridComponent implements OnDest
261
275
  readonly selectedRowId: _angular_core.InputSignal<any>;
262
276
  readonly idField: _angular_core.InputSignal<string>;
263
277
  readonly showRefreshButton: _angular_core.InputSignal<boolean>;
278
+ readonly maxExportRows: _angular_core.InputSignal<number>;
264
279
  readonly itemClick: EventEmitter<any>;
265
280
  readonly refreshRequested: _angular_core.OutputEmitterRef<void>;
266
281
  rowDetailTemplate: TemplateRef<any>;
@@ -282,7 +297,7 @@ declare class OdataGridComponent extends BaseDataGridComponent implements OnDest
282
297
  refreshFilter(): void;
283
298
  setUpFilterPredicate(): void;
284
299
  setUpSort(sort: MatSort): void;
285
- protected getExportSourceRows(): unknown[];
300
+ protected getExportSourceRows(): Promise<unknown[]>;
286
301
  protected forceReloadFilter(): void;
287
302
  protected computeDisplayedColumns(): string[];
288
303
  protected onColumnsChanged(columns: string[]): void;
@@ -299,7 +314,7 @@ declare class OdataGridComponent extends BaseDataGridComponent implements OnDest
299
314
  private applyUrlStateToGrid;
300
315
  private hasRestoredState;
301
316
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<OdataGridComponent, never>;
302
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<OdataGridComponent, "cauca-odata-grid", never, { "showTableHeader": { "alias": "showTableHeader"; "required": false; "isSignal": true; }; "persistState": { "alias": "persistState"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "baseSort": { "alias": "baseSort"; "required": false; "isSignal": true; }; "filterPredicate": { "alias": "filterPredicate"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "selectedRowId": { "alias": "selectedRowId"; "required": false; "isSignal": true; }; "idField": { "alias": "idField"; "required": false; "isSignal": true; }; "showRefreshButton": { "alias": "showRefreshButton"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; "refreshRequested": "refreshRequested"; }, ["rowDetailTemplate"], ["[filterRow]", "[customHeader]", "[customFilter]", "*"], true, never>;
317
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<OdataGridComponent, "cauca-odata-grid", never, { "showTableHeader": { "alias": "showTableHeader"; "required": false; "isSignal": true; }; "persistState": { "alias": "persistState"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "baseSort": { "alias": "baseSort"; "required": false; "isSignal": true; }; "filterPredicate": { "alias": "filterPredicate"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "selectedRowId": { "alias": "selectedRowId"; "required": false; "isSignal": true; }; "idField": { "alias": "idField"; "required": false; "isSignal": true; }; "showRefreshButton": { "alias": "showRefreshButton"; "required": false; "isSignal": true; }; "maxExportRows": { "alias": "maxExportRows"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; "refreshRequested": "refreshRequested"; }, ["rowDetailTemplate"], ["[filterRow]", "[customHeader]", "[customFilter]", "*"], true, never>;
303
318
  }
304
319
 
305
320
  interface GridUrlState {
@@ -346,17 +361,11 @@ declare class GridStateRestorationService {
346
361
  */
347
362
  declare function provideGridStateRestoration(): EnvironmentProviders;
348
363
 
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
364
  declare class GridExportService {
357
365
  private readonly locale;
358
366
  toExcel(matrix: ExportMatrix, fileName: string): Promise<void>;
359
367
  toPdf(matrix: ExportMatrix, fileName: string): Promise<void>;
368
+ private load;
360
369
  private stringify;
361
370
  private download;
362
371
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridExportService, never>;
@@ -518,5 +527,5 @@ interface CaucaGridOptions {
518
527
  declare const PREFERENCE_SERVICE_TOKEN: InjectionToken<BasePreferenceService>;
519
528
  declare function provideCaucaGrid(options?: CaucaGridOptions): (Provider | EnvironmentProviders);
520
529
 
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 };
530
+ export { ALL_EXPORT_FORMATS, 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 };
531
+ export type { BasePreferenceService, CaucaGridOptions, ExportCell, ExportMatrix, GridExportFormat, GridUrlState, Paginator, Sort };