eru-grid 0.0.26 → 0.0.28

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,9 +1,14 @@
1
1
  {
2
2
  "name": "eru-grid",
3
- "version": "0.0.26",
3
+ "version": "0.0.28",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.1.2",
6
- "@angular/core": "^21.1.2"
6
+ "@angular/core": "^21.1.2",
7
+ "@angular/cdk": "^21.1.2",
8
+ "@angular/material": "^21.1.2",
9
+ "@angular/forms": "^21.1.2",
10
+ "@angular/router": "^21.1.2",
11
+ "rxjs": "~7.8.0"
7
12
  },
8
13
  "dependencies": {
9
14
  "tslib": "^2.3.0"
@@ -1,6 +1,6 @@
1
1
  import * as eru_grid from 'eru-grid';
2
2
  import * as _angular_core from '@angular/core';
3
- import { OnInit, AfterViewInit, OnDestroy, QueryList, ElementRef, ChangeDetectorRef, Provider, EventEmitter, Signal } from '@angular/core';
3
+ import { OnInit, AfterViewInit, OnDestroy, QueryList, ElementRef, TemplateRef, EventEmitter, ChangeDetectorRef, Provider } from '@angular/core';
4
4
  import { FixedSizeVirtualScrollStrategy, CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
5
5
  import { MatDatepicker } from '@angular/material/datepicker';
6
6
 
@@ -60,12 +60,18 @@ interface GridFeatures {
60
60
  freezeField?: string;
61
61
  freezeHeader?: boolean;
62
62
  freezeGrandTotal?: boolean;
63
+ sortable?: boolean;
64
+ sortBar?: boolean;
63
65
  replaceZeroValue?: string;
64
66
  gridHeight?: number;
65
67
  allowSelection?: boolean;
66
68
  actionColumn?: boolean;
67
69
  actionColumnPosition?: 'before' | 'after';
68
70
  designMode?: boolean;
71
+ groupBar?: boolean;
72
+ headerRowHeight?: number;
73
+ dataRowHeight?: number;
74
+ cursorOnHover?: string;
69
75
  }
70
76
  interface GridStyles {
71
77
  subTotalStyle?: 'bold' | 'italic' | 'highlighted';
@@ -74,12 +80,16 @@ interface GridStyles {
74
80
  interface GridTokens {
75
81
  [key: string]: string;
76
82
  }
83
+ type GridPreset = 'default' | 'modern' | 'compact' | 'bold' | 'financial' | 'elevated' | 'custom';
84
+ declare const PRESET_MANAGED_FIELDS: (keyof GridFeatures)[];
85
+ declare const PRESET_CONFIG_DEFAULTS: Record<Exclude<GridPreset, 'custom'>, Partial<GridFeatures>>;
77
86
  interface GridConfiguration {
78
87
  mode: GridMode;
79
88
  config: GridFeatures;
80
89
  fields: Field[];
81
90
  styles?: GridStyles;
82
91
  tokens?: GridTokens;
92
+ preset?: GridPreset;
83
93
  pivot?: PivotConfiguration;
84
94
  data?: any[];
85
95
  columnConstraints?: {
@@ -110,6 +120,8 @@ interface Field {
110
120
  num_val?: number;
111
121
  num_val_check?: 'MAX' | 'MIN';
112
122
  seperator?: 'thousands' | 'millions' | 'none';
123
+ dynamic_number?: boolean;
124
+ display_number_as?: 'lacs' | 'mn';
113
125
  isLeaf?: boolean;
114
126
  parentPath?: string[];
115
127
  children?: Field[];
@@ -119,6 +131,8 @@ interface Field {
119
131
  showSubtotals?: boolean;
120
132
  aggregationFunction?: AggregationFunction;
121
133
  enableDrilldown?: boolean;
134
+ open_status?: any[];
135
+ close_status?: any[];
122
136
  }
123
137
  type DataTypes = 'number' | 'textbox' | 'currency' | 'date' | 'datetime' | 'duration' | 'dropdown_single_select' | 'dropdown_multi_select' | 'location' | 'email' | 'people' | 'checkbox' | 'phone' | 'priority' | 'status' | 'progress' | 'attachment' | 'tag' | 'rating' | 'website';
124
138
  type AggregationFunction = 'sum' | 'count' | 'avg' | 'min' | 'max';
@@ -228,6 +242,23 @@ interface CellValueChange {
228
242
  rowId: string;
229
243
  row: any;
230
244
  }
245
+ /**
246
+ * Template context injected into a custom boardCardTemplate on EruGridComponent.
247
+ *
248
+ * Usage in a consumer app:
249
+ * <ng-template #myCard let-row let-columns="columns" let-group="group">
250
+ * <mat-card>{{ row?.entity_id }} — {{ group.title }}</mat-card>
251
+ * </ng-template>
252
+ * <eru-grid [boardCardTemplate]="myCard" [gridConfig]="cfg"></eru-grid>
253
+ */
254
+ interface BoardCardContext {
255
+ /** Row data for this card ($implicit — bind with let-row) */
256
+ $implicit: Row;
257
+ /** Visible columns configured for the board view */
258
+ columns: Field[];
259
+ /** The Kanban column (group) this card belongs to */
260
+ group: RowGroup;
261
+ }
231
262
 
232
263
  declare class PivotTransformService {
233
264
  private columnGroupState;
@@ -522,12 +553,18 @@ declare class EruGridStore {
522
553
  private readonly _columnResize;
523
554
  private readonly _columnReorder;
524
555
  private readonly _cellValueChange;
556
+ private readonly _sortColumns;
525
557
  private readonly _dataRequest;
526
558
  private readonly _requestQueue;
527
559
  readonly columns: _angular_core.Signal<Field[]>;
528
560
  readonly groups: _angular_core.Signal<RowGroup[]>;
529
561
  readonly rows: _angular_core.Signal<Row[]>;
530
562
  readonly groupRows: _angular_core.Signal<Map<string, Row[]>>;
563
+ /** Reactive summary: array of { groupId, count } for each group currently in the store. */
564
+ readonly groupRowsSummary: _angular_core.Signal<{
565
+ groupId: string;
566
+ count: number;
567
+ }[]>;
531
568
  readonly selectedRowIds: _angular_core.Signal<Set<string>>;
532
569
  readonly configuration: _angular_core.Signal<GridConfiguration>;
533
570
  readonly isLoading: _angular_core.Signal<boolean>;
@@ -542,6 +579,7 @@ declare class EruGridStore {
542
579
  readonly columnResize: _angular_core.Signal<ColumnResize | null>;
543
580
  readonly columnReorder: _angular_core.Signal<ColumnReorder | null>;
544
581
  readonly cellValueChange: _angular_core.Signal<CellValueChange | null>;
582
+ readonly sortColumns: _angular_core.Signal<string[]>;
545
583
  readonly dataRequest: _angular_core.Signal<RowDataRequest | null>;
546
584
  readonly dynamicDataRequest: _angular_core.Signal<string[] | null>;
547
585
  readonly dynamicData: _angular_core.Signal<Map<string, any> | null>;
@@ -611,7 +649,7 @@ declare class EruGridStore {
611
649
  setError(error: string | null): void;
612
650
  isRowSelected(rowId: string): boolean;
613
651
  isGroupSelected(groupId: string): boolean;
614
- getRowsForGroup(groupId: string): Row[];
652
+ getRowsForGroup(groupId: string | null | undefined): Row[];
615
653
  setGridMode(mode: GridMode): void;
616
654
  updateGridConfiguration(updates: Partial<GridConfiguration>): void;
617
655
  setPivotConfiguration(pivotConfig: PivotConfiguration): void;
@@ -706,6 +744,28 @@ declare class EruGridStore {
706
744
  * Get the row grand total for table mode
707
745
  */
708
746
  getRowGrandTotal(): RowGrandTotal | null;
747
+ /**
748
+ * Set sort direction for a column.
749
+ * If the column already has the requested direction, it is removed (toggle off).
750
+ * Otherwise, any existing sort on that column is replaced with the new direction.
751
+ */
752
+ setSortDirection(fieldName: string, direction: 'asc' | 'desc'): void;
753
+ /**
754
+ * Get the field name used for grouping, or null if no grouping
755
+ */
756
+ getGroupByField(): string | null;
757
+ /**
758
+ * Clear all sort columns
759
+ */
760
+ clearSort(): void;
761
+ /**
762
+ * Get the sort direction for a specific field: 'asc' | 'desc' | null
763
+ */
764
+ getSortDirection(fieldName: string): 'asc' | 'desc' | null;
765
+ /**
766
+ * Get the sort priority (1-based) for a field, or null if not sorted
767
+ */
768
+ getSortPriority(fieldName: string): number | null;
709
769
  /**
710
770
  * Set the dynamic data request
711
771
  */
@@ -779,6 +839,9 @@ declare class EruGridService {
779
839
  private eruGridStore;
780
840
  private themeService;
781
841
  private columnConstraintsService;
842
+ private _loadBoardFn;
843
+ /** Called once by EruGridComponent to register its loadBoardAll trigger. */
844
+ registerLoadBoard(fn: () => void): void;
782
845
  constructor(eruGridStore: EruGridStore, themeService: ThemeService, columnConstraintsService: ColumnConstraintsService);
783
846
  set_table_configuration(data: GridConfiguration): void;
784
847
  get columns(): _angular_core.Signal<Field[]>;
@@ -825,6 +888,7 @@ declare class EruGridService {
825
888
  get configuration(): _angular_core.Signal<GridConfiguration>;
826
889
  get isLoading(): _angular_core.Signal<boolean>;
827
890
  get error(): _angular_core.Signal<string | null>;
891
+ get sortColumns(): _angular_core.Signal<string[]>;
828
892
  /**
829
893
  * Check if a specific feature is enabled
830
894
  */
@@ -855,6 +919,8 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
855
919
  gridService: EruGridService;
856
920
  gridStore: EruGridStore;
857
921
  private elementRef;
922
+ private breakpointObserver;
923
+ readonly isSmViewport: _angular_core.WritableSignal<boolean>;
858
924
  private containerHeight;
859
925
  private resizeObserver;
860
926
  private groupIntersectionObserver;
@@ -866,6 +932,42 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
866
932
  headerScrollers?: QueryList<ElementRef<HTMLDivElement>>;
867
933
  gtScroller: ElementRef<HTMLDivElement>;
868
934
  gridConfig: GridConfiguration | undefined;
935
+ /**
936
+ * Optional custom template for board-mode cards.
937
+ * When provided, EruGridComponent renders this template for each card instead of the built-in card.
938
+ * The shared EruGridStore is used regardless — state (rows, groups, selection) is preserved
939
+ * across table / pivot / board mode switches.
940
+ *
941
+ * Template context: BoardCardContext
942
+ * - $implicit → Row (bind with let-row)
943
+ * - columns → Field[] (bind with let-columns="columns")
944
+ * - group → RowGroup (bind with let-group="group")
945
+ *
946
+ * Example:
947
+ * <ng-template #myCard let-row let-columns="columns" let-group="group">
948
+ * <mat-card>{{ row?.entity_id }} in {{ group.title }}</mat-card>
949
+ * </ng-template>
950
+ * <eru-grid [boardCardTemplate]="myCard" [gridConfig]="cfg"></eru-grid>
951
+ */
952
+ boardCardTemplate?: TemplateRef<BoardCardContext>;
953
+ /**
954
+ * Height in pixels of each board card slot.
955
+ * Must match the fixed height of the card rendered by boardCardTemplate (or the default card).
956
+ * CDK virtual scroll uses this to position items — mismatches cause overlap or gaps.
957
+ * Default: 208 (matches the built-in default card height).
958
+ */
959
+ boardCardHeight: number;
960
+ /**
961
+ * Fires when a user clicks a row (table mode) or card (board mode).
962
+ * Consumers can subscribe to drive navigation, side-panel detail views,
963
+ * or trigger configured studio actions on row selection.
964
+ */
965
+ rowSelect: EventEmitter<{
966
+ row: Row;
967
+ mode: "table" | "board";
968
+ group?: RowGroup;
969
+ }>;
970
+ emitRowSelect(row: Row, mode: 'table' | 'board', group?: RowGroup): void;
869
971
  initialMinHeight: number;
870
972
  initialTotalWidth: number;
871
973
  viewport: CdkVirtualScrollViewport;
@@ -882,6 +984,7 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
882
984
  currentPivotScrollIndex: _angular_core.WritableSignal<number>;
883
985
  firstDataRowIndex: _angular_core.WritableSignal<number>;
884
986
  private ngZone;
987
+ private rowSignalsCache;
885
988
  groupContentHeightsMap: _angular_core.Signal<Map<string, number>>;
886
989
  private _virtualRowspanCache;
887
990
  mode: _angular_core.Signal<eru_grid.GridMode>;
@@ -893,6 +996,12 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
893
996
  maxDepth: _angular_core.Signal<number>;
894
997
  subTotalStyle: _angular_core.Signal<"bold" | "italic" | "highlighted">;
895
998
  grandTotalStyle: _angular_core.Signal<"bold" | "italic" | "highlighted">;
999
+ isSortable: _angular_core.Signal<boolean>;
1000
+ showSortBar: _angular_core.Signal<boolean>;
1001
+ showGroupBar: _angular_core.Signal<boolean>;
1002
+ headerRowHeight: _angular_core.Signal<number>;
1003
+ dataRowHeight: _angular_core.Signal<number>;
1004
+ cursorOnHover: _angular_core.Signal<string>;
896
1005
  freezeHeader: _angular_core.Signal<boolean>;
897
1006
  freezeGrandTotal: _angular_core.Signal<boolean>;
898
1007
  grandTotalPosition: _angular_core.Signal<"before" | "after">;
@@ -1002,7 +1111,7 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
1002
1111
  trackByRowFn(index: number, row: any): string;
1003
1112
  trackByGroupFn(index: number, group: RowGroup): string;
1004
1113
  getRowsForGroup(groupId: string): Row[];
1005
- getRowsForGroupSignal(groupId: string): _angular_core.Signal<Row[]>;
1114
+ getRowsForGroupSignal(groupId: string | null | undefined): any;
1006
1115
  trackByHeaderFn(index: number, header: any): string;
1007
1116
  hasNestedHeaders(): boolean;
1008
1117
  getHeaderRows(): any[][];
@@ -1018,6 +1127,24 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
1018
1127
  toggleRowSelection(event: Event, row: any): void;
1019
1128
  toggleGroupSelection(event: Event, groupId: string): void;
1020
1129
  onActionClick(event: Event, row: any): void;
1130
+ onSortColumn(event: Event, column: Field, direction: 'asc' | 'desc'): void;
1131
+ getSortDirection(fieldName: string): 'asc' | 'desc' | null;
1132
+ getSortPriority(fieldName: string): number | null;
1133
+ /** Get column label from a sort entry (field name or -fieldName) */
1134
+ getColumnLabel(entry: string): string;
1135
+ /** Extract field name from sort entry */
1136
+ getFieldName(entry: string): string;
1137
+ /** Toggle direction of an existing sort chip (asc ↔ desc) */
1138
+ onBoardSortChipToggle(event: Event, entry: string): void;
1139
+ /** Remove a sort chip */
1140
+ onBoardSortChipRemove(event: Event, entry: string): void;
1141
+ /** Add a field from dropdown — defaults to asc */
1142
+ onBoardSortFieldSelect(column: Field): void;
1143
+ onBoardSortClear(): void;
1144
+ /** Get the field name used for grouping */
1145
+ groupByField: _angular_core.Signal<string | null>;
1146
+ /** Toggle sort direction on the group field (asc ↔ desc, never remove) */
1147
+ onGroupSortToggle(event: Event, direction: 'asc' | 'desc'): void;
1021
1148
  /**
1022
1149
  * Check if action column is enabled
1023
1150
  * @returns true if actionColumn is enabled, false otherwise (default: false)
@@ -1144,11 +1271,19 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
1144
1271
  readonly BOARD_CARD_ITEM_HEIGHT = 208;
1145
1272
  readonly isBoardMode: _angular_core.Signal<boolean>;
1146
1273
  readonly visibleBoardFields: _angular_core.Signal<Field[]>;
1274
+ readonly visibleColumns: _angular_core.Signal<Field[]>;
1275
+ readonly hiddenColumns: _angular_core.Signal<Field[]>;
1276
+ readonly hasHiddenColumns: _angular_core.Signal<boolean>;
1277
+ readonly expandedRows: _angular_core.WritableSignal<Set<string>>;
1278
+ rowExpandKey(row: any, index: number): string;
1279
+ isRowExpanded(row: any, index: number): boolean;
1280
+ toggleRowExpand(row: any, index: number, event?: Event): void;
1281
+ rowDetailColspan(): number;
1147
1282
  onBoardScrolledIndexChange(firstVisibleIndex: number, group: RowGroup): void;
1148
1283
  requestBoardRowsForGroup(group: RowGroup): void;
1149
1284
  loadBoardAll(): void;
1150
1285
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EruGridComponent, never>;
1151
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EruGridComponent, "eru-grid", never, { "gridConfig": { "alias": "gridConfig"; "required": false; }; }, {}, never, never, true, never>;
1286
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EruGridComponent, "eru-grid", never, { "gridConfig": { "alias": "gridConfig"; "required": false; }; "boardCardTemplate": { "alias": "boardCardTemplate"; "required": false; }; "boardCardHeight": { "alias": "boardCardHeight"; "required": false; }; }, { "rowSelect": "rowSelect"; }, never, never, true, never>;
1152
1287
  }
1153
1288
  interface GroupItem {
1154
1289
  type: 'header' | 'row' | 'table-header' | 'row-place-holder' | 'ghost-loading';
@@ -1176,6 +1311,8 @@ declare class AttachmentComponent implements OnInit {
1176
1311
  isActive: _angular_core.InputSignal<boolean>;
1177
1312
  isDrillable: _angular_core.InputSignal<boolean>;
1178
1313
  columnWidth: _angular_core.InputSignal<number>;
1314
+ eruGridStore: _angular_core.InputSignal<EruGridStore | null>;
1315
+ private pendingViewRequests;
1179
1316
  valueChange: EventEmitter<string[] | null>;
1180
1317
  blur: EventEmitter<string[] | null>;
1181
1318
  focus: EventEmitter<void>;
@@ -1208,11 +1345,12 @@ declare class AttachmentComponent implements OnInit {
1208
1345
  processFile(file: File): void;
1209
1346
  uploadFile(base64String: string, fileName: string): void;
1210
1347
  viewFile(file: string, event?: Event): void;
1348
+ private openBase64InNewTab;
1211
1349
  deleteFile(file: string, event?: Event): void;
1212
1350
  trackByFile(index: number, file: string): string;
1213
1351
  getFileName(file: string): string;
1214
1352
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AttachmentComponent, never>;
1215
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AttachmentComponent, "eru-attachment", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "isEditable": { "alias": "isEditable"; "required": false; "isSignal": true; }; "isActive": { "alias": "isActive"; "required": false; "isSignal": true; }; "isDrillable": { "alias": "isDrillable"; "required": false; "isSignal": true; }; "columnWidth": { "alias": "columnWidth"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "blur": "blur"; "focus": "focus"; "drilldownClick": "drilldownClick"; "editModeChange": "editModeChange"; "fileAdded": "fileAdded"; "fileDeleted": "fileDeleted"; "fileViewed": "fileViewed"; }, never, never, true, never>;
1353
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AttachmentComponent, "eru-attachment", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "isEditable": { "alias": "isEditable"; "required": false; "isSignal": true; }; "isActive": { "alias": "isActive"; "required": false; "isSignal": true; }; "isDrillable": { "alias": "isDrillable"; "required": false; "isSignal": true; }; "columnWidth": { "alias": "columnWidth"; "required": false; "isSignal": true; }; "eruGridStore": { "alias": "eruGridStore"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "blur": "blur"; "focus": "focus"; "drilldownClick": "drilldownClick"; "editModeChange": "editModeChange"; "fileAdded": "fileAdded"; "fileDeleted": "fileDeleted"; "fileViewed": "fileViewed"; }, never, never, true, never>;
1216
1354
  }
1217
1355
 
1218
1356
  declare class CheckboxComponent {
@@ -1801,6 +1939,18 @@ declare class StatusComponent implements OnInit {
1801
1939
  editModeChange: EventEmitter<boolean>;
1802
1940
  currentValue: _angular_core.WritableSignal<string | null>;
1803
1941
  searchText: _angular_core.WritableSignal<string>;
1942
+ groupedOptions: _angular_core.Signal<{
1943
+ open: {
1944
+ value: any;
1945
+ label: any;
1946
+ color: any;
1947
+ }[];
1948
+ close: {
1949
+ value: any;
1950
+ label: any;
1951
+ color: any;
1952
+ }[];
1953
+ }>;
1804
1954
  filteredOptions: _angular_core.Signal<{
1805
1955
  value: any;
1806
1956
  label: any;
@@ -2037,39 +2187,6 @@ declare class WebsiteComponent implements OnInit {
2037
2187
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<WebsiteComponent, "eru-website", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "isEditable": { "alias": "isEditable"; "required": false; "isSignal": true; }; "isActive": { "alias": "isActive"; "required": false; "isSignal": true; }; "isDrillable": { "alias": "isDrillable"; "required": false; "isSignal": true; }; "columnWidth": { "alias": "columnWidth"; "required": false; "isSignal": true; }; "fieldSize": { "alias": "fieldSize"; "required": false; "isSignal": true; }; "eruGridStore": { "alias": "eruGridStore"; "required": false; "isSignal": true; }; "externalError": { "alias": "externalError"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "blur": "blur"; "focus": "focus"; "drilldownClick": "drilldownClick"; "validationError": "validationError"; "editModeChange": "editModeChange"; }, never, never, true, never>;
2038
2188
  }
2039
2189
 
2040
- /** Height of each card item (card + bottom padding) — must match CSS .card-container height */
2041
- declare const BOARD_CARD_ITEM_HEIGHT = 208;
2042
- declare class BoardViewComponent implements OnInit, AfterViewInit {
2043
- gridStore: EruGridStore;
2044
- /** Pixel height of each card item, used by cdk-virtual-scroll-viewport [itemSize] */
2045
- readonly cardItemHeight = 208;
2046
- set gridConfig(config: any);
2047
- groups: Signal<RowGroup[]>;
2048
- columns: Signal<Field[]>;
2049
- visibleFields: Signal<Field[]>;
2050
- set_table_group(data: RowGroup[]): void;
2051
- setRowGrandTotal(grandTotal: any): void;
2052
- ngOnInit(): void;
2053
- ngAfterViewInit(): void;
2054
- private groupRowsSignals;
2055
- getRowsForGroupSignal(groupId: string): Signal<Row[]>;
2056
- trackByRowFn(index: number, row: Row): string;
2057
- /**
2058
- * CDK virtual scroll pagination trigger.
2059
- * Fired whenever the first visible item index changes.
2060
- * Loads the next page when the user scrolls within `threshold` items of the end.
2061
- */
2062
- onScrolledIndexChange(firstVisibleIndex: number, group: RowGroup): void;
2063
- onBoardScroll(_event: Event): void;
2064
- loadMoreAll(): void;
2065
- requestRowsForGroup(group: RowGroup): void;
2066
- addRowsForGroup(groupId: string, rows: Row[], hasMore: boolean): void;
2067
- onCardClick(_row: Row): void;
2068
- onActionClick(event: Event, row: Row): void;
2069
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<BoardViewComponent, never>;
2070
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BoardViewComponent, "board-view", never, { "gridConfig": { "alias": "gridConfig"; "required": false; }; }, {}, never, never, true, never>;
2071
- }
2072
-
2073
2190
  declare class ThemeToggleComponent {
2074
2191
  private themeService;
2075
2192
  availableThemes: {
@@ -2085,5 +2202,5 @@ declare class ThemeToggleComponent {
2085
2202
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ThemeToggleComponent, "eru-theme-toggle", never, {}, {}, never, never, true, never>;
2086
2203
  }
2087
2204
 
2088
- export { AttachmentComponent, BOARD_CARD_ITEM_HEIGHT, BoardViewComponent, CheckboxComponent, ColumnConstraintsService, CurrencyComponent, CustomVirtualScrollStrategy, DateComponent, DatetimeComponent, DurationComponent, EmailComponent, EruGridComponent, EruGridService, EruGridStore, LocationComponent, MATERIAL_MODULES, MATERIAL_PROVIDERS, NumberComponent, PeopleComponent, PhoneComponent, PriorityComponent, ProgressComponent, RatingComponent, SelectComponent, StatusComponent, TagComponent, TextareaComponent, TextboxComponent, ThemeService, ThemeToggleComponent, WebsiteComponent };
2089
- export type { ActionClick, AggregationFunction, AttachmentConfig, CellValueChange, ColumnReorder, ColumnResize, ColumnWidthConstraints, CurrencyValidationResult, DataTypes, Drilldown, DurationValue, EmailValidationResult, Field, GridConfiguration, GridFeatures, GridMode, GridStyles, GridTokens, GroupItem$1 as GroupItem, LocationConfig, LocationValidationResult, NumberValidationResult, PeopleOption, PivotColumnGroupState, PivotColumnHeader, PivotConfiguration, PivotHeaderStructure, PivotMetadata, PivotResult, PivotRow, RatingConfig, Row, RowDataRequest, RowDataResponse, RowGrandTotal, RowGroup, TextareaValidationResult, TextboxValidationResult, Theme, WebsiteValidationResult };
2205
+ export { AttachmentComponent, CheckboxComponent, ColumnConstraintsService, CurrencyComponent, CustomVirtualScrollStrategy, DateComponent, DatetimeComponent, DurationComponent, EmailComponent, EruGridComponent, EruGridService, EruGridStore, LocationComponent, MATERIAL_MODULES, MATERIAL_PROVIDERS, NumberComponent, PRESET_CONFIG_DEFAULTS, PRESET_MANAGED_FIELDS, PeopleComponent, PhoneComponent, PriorityComponent, ProgressComponent, RatingComponent, SelectComponent, StatusComponent, TagComponent, TextareaComponent, TextboxComponent, ThemeService, ThemeToggleComponent, WebsiteComponent };
2206
+ export type { ActionClick, AggregationFunction, AttachmentConfig, BoardCardContext, CellValueChange, ColumnReorder, ColumnResize, ColumnWidthConstraints, CurrencyValidationResult, DataTypes, Drilldown, DurationValue, EmailValidationResult, Field, GridConfiguration, GridFeatures, GridMode, GridPreset, GridStyles, GridTokens, GroupItem$1 as GroupItem, LocationConfig, LocationValidationResult, NumberValidationResult, PeopleOption, PivotColumnGroupState, PivotColumnHeader, PivotConfiguration, PivotHeaderStructure, PivotMetadata, PivotResult, PivotRow, RatingConfig, Row, RowDataRequest, RowDataResponse, RowGrandTotal, RowGroup, TextareaValidationResult, TextboxValidationResult, Theme, WebsiteValidationResult };