eru-grid 0.0.26 → 0.0.27
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/fesm2022/eru-grid.mjs +657 -240
- package/fesm2022/eru-grid.mjs.map +1 -1
- package/package.json +7 -2
- package/types/eru-grid.d.ts +142 -40
package/package.json
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eru-grid",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.27",
|
|
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"
|
package/types/eru-grid.d.ts
CHANGED
|
@@ -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
|
|
3
|
+
import { OnInit, AfterViewInit, OnDestroy, QueryList, ElementRef, TemplateRef, ChangeDetectorRef, Provider, EventEmitter } 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,17 @@ 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;
|
|
69
74
|
}
|
|
70
75
|
interface GridStyles {
|
|
71
76
|
subTotalStyle?: 'bold' | 'italic' | 'highlighted';
|
|
@@ -74,12 +79,16 @@ interface GridStyles {
|
|
|
74
79
|
interface GridTokens {
|
|
75
80
|
[key: string]: string;
|
|
76
81
|
}
|
|
82
|
+
type GridPreset = 'default' | 'modern' | 'compact' | 'bold' | 'financial' | 'elevated' | 'custom';
|
|
83
|
+
declare const PRESET_MANAGED_FIELDS: (keyof GridFeatures)[];
|
|
84
|
+
declare const PRESET_CONFIG_DEFAULTS: Record<Exclude<GridPreset, 'custom'>, Partial<GridFeatures>>;
|
|
77
85
|
interface GridConfiguration {
|
|
78
86
|
mode: GridMode;
|
|
79
87
|
config: GridFeatures;
|
|
80
88
|
fields: Field[];
|
|
81
89
|
styles?: GridStyles;
|
|
82
90
|
tokens?: GridTokens;
|
|
91
|
+
preset?: GridPreset;
|
|
83
92
|
pivot?: PivotConfiguration;
|
|
84
93
|
data?: any[];
|
|
85
94
|
columnConstraints?: {
|
|
@@ -119,6 +128,8 @@ interface Field {
|
|
|
119
128
|
showSubtotals?: boolean;
|
|
120
129
|
aggregationFunction?: AggregationFunction;
|
|
121
130
|
enableDrilldown?: boolean;
|
|
131
|
+
open_status?: any[];
|
|
132
|
+
close_status?: any[];
|
|
122
133
|
}
|
|
123
134
|
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
135
|
type AggregationFunction = 'sum' | 'count' | 'avg' | 'min' | 'max';
|
|
@@ -228,6 +239,23 @@ interface CellValueChange {
|
|
|
228
239
|
rowId: string;
|
|
229
240
|
row: any;
|
|
230
241
|
}
|
|
242
|
+
/**
|
|
243
|
+
* Template context injected into a custom boardCardTemplate on EruGridComponent.
|
|
244
|
+
*
|
|
245
|
+
* Usage in a consumer app:
|
|
246
|
+
* <ng-template #myCard let-row let-columns="columns" let-group="group">
|
|
247
|
+
* <mat-card>{{ row?.entity_id }} — {{ group.title }}</mat-card>
|
|
248
|
+
* </ng-template>
|
|
249
|
+
* <eru-grid [boardCardTemplate]="myCard" [gridConfig]="cfg"></eru-grid>
|
|
250
|
+
*/
|
|
251
|
+
interface BoardCardContext {
|
|
252
|
+
/** Row data for this card ($implicit — bind with let-row) */
|
|
253
|
+
$implicit: Row;
|
|
254
|
+
/** Visible columns configured for the board view */
|
|
255
|
+
columns: Field[];
|
|
256
|
+
/** The Kanban column (group) this card belongs to */
|
|
257
|
+
group: RowGroup;
|
|
258
|
+
}
|
|
231
259
|
|
|
232
260
|
declare class PivotTransformService {
|
|
233
261
|
private columnGroupState;
|
|
@@ -522,12 +550,18 @@ declare class EruGridStore {
|
|
|
522
550
|
private readonly _columnResize;
|
|
523
551
|
private readonly _columnReorder;
|
|
524
552
|
private readonly _cellValueChange;
|
|
553
|
+
private readonly _sortColumns;
|
|
525
554
|
private readonly _dataRequest;
|
|
526
555
|
private readonly _requestQueue;
|
|
527
556
|
readonly columns: _angular_core.Signal<Field[]>;
|
|
528
557
|
readonly groups: _angular_core.Signal<RowGroup[]>;
|
|
529
558
|
readonly rows: _angular_core.Signal<Row[]>;
|
|
530
559
|
readonly groupRows: _angular_core.Signal<Map<string, Row[]>>;
|
|
560
|
+
/** Reactive summary: array of { groupId, count } for each group currently in the store. */
|
|
561
|
+
readonly groupRowsSummary: _angular_core.Signal<{
|
|
562
|
+
groupId: string;
|
|
563
|
+
count: number;
|
|
564
|
+
}[]>;
|
|
531
565
|
readonly selectedRowIds: _angular_core.Signal<Set<string>>;
|
|
532
566
|
readonly configuration: _angular_core.Signal<GridConfiguration>;
|
|
533
567
|
readonly isLoading: _angular_core.Signal<boolean>;
|
|
@@ -542,6 +576,7 @@ declare class EruGridStore {
|
|
|
542
576
|
readonly columnResize: _angular_core.Signal<ColumnResize | null>;
|
|
543
577
|
readonly columnReorder: _angular_core.Signal<ColumnReorder | null>;
|
|
544
578
|
readonly cellValueChange: _angular_core.Signal<CellValueChange | null>;
|
|
579
|
+
readonly sortColumns: _angular_core.Signal<string[]>;
|
|
545
580
|
readonly dataRequest: _angular_core.Signal<RowDataRequest | null>;
|
|
546
581
|
readonly dynamicDataRequest: _angular_core.Signal<string[] | null>;
|
|
547
582
|
readonly dynamicData: _angular_core.Signal<Map<string, any> | null>;
|
|
@@ -611,7 +646,7 @@ declare class EruGridStore {
|
|
|
611
646
|
setError(error: string | null): void;
|
|
612
647
|
isRowSelected(rowId: string): boolean;
|
|
613
648
|
isGroupSelected(groupId: string): boolean;
|
|
614
|
-
getRowsForGroup(groupId: string): Row[];
|
|
649
|
+
getRowsForGroup(groupId: string | null | undefined): Row[];
|
|
615
650
|
setGridMode(mode: GridMode): void;
|
|
616
651
|
updateGridConfiguration(updates: Partial<GridConfiguration>): void;
|
|
617
652
|
setPivotConfiguration(pivotConfig: PivotConfiguration): void;
|
|
@@ -706,6 +741,28 @@ declare class EruGridStore {
|
|
|
706
741
|
* Get the row grand total for table mode
|
|
707
742
|
*/
|
|
708
743
|
getRowGrandTotal(): RowGrandTotal | null;
|
|
744
|
+
/**
|
|
745
|
+
* Set sort direction for a column.
|
|
746
|
+
* If the column already has the requested direction, it is removed (toggle off).
|
|
747
|
+
* Otherwise, any existing sort on that column is replaced with the new direction.
|
|
748
|
+
*/
|
|
749
|
+
setSortDirection(fieldName: string, direction: 'asc' | 'desc'): void;
|
|
750
|
+
/**
|
|
751
|
+
* Get the field name used for grouping, or null if no grouping
|
|
752
|
+
*/
|
|
753
|
+
getGroupByField(): string | null;
|
|
754
|
+
/**
|
|
755
|
+
* Clear all sort columns
|
|
756
|
+
*/
|
|
757
|
+
clearSort(): void;
|
|
758
|
+
/**
|
|
759
|
+
* Get the sort direction for a specific field: 'asc' | 'desc' | null
|
|
760
|
+
*/
|
|
761
|
+
getSortDirection(fieldName: string): 'asc' | 'desc' | null;
|
|
762
|
+
/**
|
|
763
|
+
* Get the sort priority (1-based) for a field, or null if not sorted
|
|
764
|
+
*/
|
|
765
|
+
getSortPriority(fieldName: string): number | null;
|
|
709
766
|
/**
|
|
710
767
|
* Set the dynamic data request
|
|
711
768
|
*/
|
|
@@ -779,6 +836,9 @@ declare class EruGridService {
|
|
|
779
836
|
private eruGridStore;
|
|
780
837
|
private themeService;
|
|
781
838
|
private columnConstraintsService;
|
|
839
|
+
private _loadBoardFn;
|
|
840
|
+
/** Called once by EruGridComponent to register its loadBoardAll trigger. */
|
|
841
|
+
registerLoadBoard(fn: () => void): void;
|
|
782
842
|
constructor(eruGridStore: EruGridStore, themeService: ThemeService, columnConstraintsService: ColumnConstraintsService);
|
|
783
843
|
set_table_configuration(data: GridConfiguration): void;
|
|
784
844
|
get columns(): _angular_core.Signal<Field[]>;
|
|
@@ -825,6 +885,7 @@ declare class EruGridService {
|
|
|
825
885
|
get configuration(): _angular_core.Signal<GridConfiguration>;
|
|
826
886
|
get isLoading(): _angular_core.Signal<boolean>;
|
|
827
887
|
get error(): _angular_core.Signal<string | null>;
|
|
888
|
+
get sortColumns(): _angular_core.Signal<string[]>;
|
|
828
889
|
/**
|
|
829
890
|
* Check if a specific feature is enabled
|
|
830
891
|
*/
|
|
@@ -855,6 +916,8 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
855
916
|
gridService: EruGridService;
|
|
856
917
|
gridStore: EruGridStore;
|
|
857
918
|
private elementRef;
|
|
919
|
+
private breakpointObserver;
|
|
920
|
+
readonly isSmViewport: _angular_core.WritableSignal<boolean>;
|
|
858
921
|
private containerHeight;
|
|
859
922
|
private resizeObserver;
|
|
860
923
|
private groupIntersectionObserver;
|
|
@@ -866,6 +929,31 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
866
929
|
headerScrollers?: QueryList<ElementRef<HTMLDivElement>>;
|
|
867
930
|
gtScroller: ElementRef<HTMLDivElement>;
|
|
868
931
|
gridConfig: GridConfiguration | undefined;
|
|
932
|
+
/**
|
|
933
|
+
* Optional custom template for board-mode cards.
|
|
934
|
+
* When provided, EruGridComponent renders this template for each card instead of the built-in card.
|
|
935
|
+
* The shared EruGridStore is used regardless — state (rows, groups, selection) is preserved
|
|
936
|
+
* across table / pivot / board mode switches.
|
|
937
|
+
*
|
|
938
|
+
* Template context: BoardCardContext
|
|
939
|
+
* - $implicit → Row (bind with let-row)
|
|
940
|
+
* - columns → Field[] (bind with let-columns="columns")
|
|
941
|
+
* - group → RowGroup (bind with let-group="group")
|
|
942
|
+
*
|
|
943
|
+
* Example:
|
|
944
|
+
* <ng-template #myCard let-row let-columns="columns" let-group="group">
|
|
945
|
+
* <mat-card>{{ row?.entity_id }} in {{ group.title }}</mat-card>
|
|
946
|
+
* </ng-template>
|
|
947
|
+
* <eru-grid [boardCardTemplate]="myCard" [gridConfig]="cfg"></eru-grid>
|
|
948
|
+
*/
|
|
949
|
+
boardCardTemplate?: TemplateRef<BoardCardContext>;
|
|
950
|
+
/**
|
|
951
|
+
* Height in pixels of each board card slot.
|
|
952
|
+
* Must match the fixed height of the card rendered by boardCardTemplate (or the default card).
|
|
953
|
+
* CDK virtual scroll uses this to position items — mismatches cause overlap or gaps.
|
|
954
|
+
* Default: 208 (matches the built-in default card height).
|
|
955
|
+
*/
|
|
956
|
+
boardCardHeight: number;
|
|
869
957
|
initialMinHeight: number;
|
|
870
958
|
initialTotalWidth: number;
|
|
871
959
|
viewport: CdkVirtualScrollViewport;
|
|
@@ -882,6 +970,7 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
882
970
|
currentPivotScrollIndex: _angular_core.WritableSignal<number>;
|
|
883
971
|
firstDataRowIndex: _angular_core.WritableSignal<number>;
|
|
884
972
|
private ngZone;
|
|
973
|
+
private rowSignalsCache;
|
|
885
974
|
groupContentHeightsMap: _angular_core.Signal<Map<string, number>>;
|
|
886
975
|
private _virtualRowspanCache;
|
|
887
976
|
mode: _angular_core.Signal<eru_grid.GridMode>;
|
|
@@ -893,6 +982,11 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
893
982
|
maxDepth: _angular_core.Signal<number>;
|
|
894
983
|
subTotalStyle: _angular_core.Signal<"bold" | "italic" | "highlighted">;
|
|
895
984
|
grandTotalStyle: _angular_core.Signal<"bold" | "italic" | "highlighted">;
|
|
985
|
+
isSortable: _angular_core.Signal<boolean>;
|
|
986
|
+
showSortBar: _angular_core.Signal<boolean>;
|
|
987
|
+
showGroupBar: _angular_core.Signal<boolean>;
|
|
988
|
+
headerRowHeight: _angular_core.Signal<number>;
|
|
989
|
+
dataRowHeight: _angular_core.Signal<number>;
|
|
896
990
|
freezeHeader: _angular_core.Signal<boolean>;
|
|
897
991
|
freezeGrandTotal: _angular_core.Signal<boolean>;
|
|
898
992
|
grandTotalPosition: _angular_core.Signal<"before" | "after">;
|
|
@@ -1002,7 +1096,7 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
1002
1096
|
trackByRowFn(index: number, row: any): string;
|
|
1003
1097
|
trackByGroupFn(index: number, group: RowGroup): string;
|
|
1004
1098
|
getRowsForGroup(groupId: string): Row[];
|
|
1005
|
-
getRowsForGroupSignal(groupId: string):
|
|
1099
|
+
getRowsForGroupSignal(groupId: string | null | undefined): any;
|
|
1006
1100
|
trackByHeaderFn(index: number, header: any): string;
|
|
1007
1101
|
hasNestedHeaders(): boolean;
|
|
1008
1102
|
getHeaderRows(): any[][];
|
|
@@ -1018,6 +1112,24 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
1018
1112
|
toggleRowSelection(event: Event, row: any): void;
|
|
1019
1113
|
toggleGroupSelection(event: Event, groupId: string): void;
|
|
1020
1114
|
onActionClick(event: Event, row: any): void;
|
|
1115
|
+
onSortColumn(event: Event, column: Field, direction: 'asc' | 'desc'): void;
|
|
1116
|
+
getSortDirection(fieldName: string): 'asc' | 'desc' | null;
|
|
1117
|
+
getSortPriority(fieldName: string): number | null;
|
|
1118
|
+
/** Get column label from a sort entry (field name or -fieldName) */
|
|
1119
|
+
getColumnLabel(entry: string): string;
|
|
1120
|
+
/** Extract field name from sort entry */
|
|
1121
|
+
getFieldName(entry: string): string;
|
|
1122
|
+
/** Toggle direction of an existing sort chip (asc ↔ desc) */
|
|
1123
|
+
onBoardSortChipToggle(event: Event, entry: string): void;
|
|
1124
|
+
/** Remove a sort chip */
|
|
1125
|
+
onBoardSortChipRemove(event: Event, entry: string): void;
|
|
1126
|
+
/** Add a field from dropdown — defaults to asc */
|
|
1127
|
+
onBoardSortFieldSelect(column: Field): void;
|
|
1128
|
+
onBoardSortClear(): void;
|
|
1129
|
+
/** Get the field name used for grouping */
|
|
1130
|
+
groupByField: _angular_core.Signal<string | null>;
|
|
1131
|
+
/** Toggle sort direction on the group field (asc ↔ desc, never remove) */
|
|
1132
|
+
onGroupSortToggle(event: Event, direction: 'asc' | 'desc'): void;
|
|
1021
1133
|
/**
|
|
1022
1134
|
* Check if action column is enabled
|
|
1023
1135
|
* @returns true if actionColumn is enabled, false otherwise (default: false)
|
|
@@ -1144,11 +1256,19 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
1144
1256
|
readonly BOARD_CARD_ITEM_HEIGHT = 208;
|
|
1145
1257
|
readonly isBoardMode: _angular_core.Signal<boolean>;
|
|
1146
1258
|
readonly visibleBoardFields: _angular_core.Signal<Field[]>;
|
|
1259
|
+
readonly visibleColumns: _angular_core.Signal<Field[]>;
|
|
1260
|
+
readonly hiddenColumns: _angular_core.Signal<Field[]>;
|
|
1261
|
+
readonly hasHiddenColumns: _angular_core.Signal<boolean>;
|
|
1262
|
+
readonly expandedRows: _angular_core.WritableSignal<Set<string>>;
|
|
1263
|
+
rowExpandKey(row: any, index: number): string;
|
|
1264
|
+
isRowExpanded(row: any, index: number): boolean;
|
|
1265
|
+
toggleRowExpand(row: any, index: number, event?: Event): void;
|
|
1266
|
+
rowDetailColspan(): number;
|
|
1147
1267
|
onBoardScrolledIndexChange(firstVisibleIndex: number, group: RowGroup): void;
|
|
1148
1268
|
requestBoardRowsForGroup(group: RowGroup): void;
|
|
1149
1269
|
loadBoardAll(): void;
|
|
1150
1270
|
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>;
|
|
1271
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EruGridComponent, "eru-grid", never, { "gridConfig": { "alias": "gridConfig"; "required": false; }; "boardCardTemplate": { "alias": "boardCardTemplate"; "required": false; }; "boardCardHeight": { "alias": "boardCardHeight"; "required": false; }; }, {}, never, never, true, never>;
|
|
1152
1272
|
}
|
|
1153
1273
|
interface GroupItem {
|
|
1154
1274
|
type: 'header' | 'row' | 'table-header' | 'row-place-holder' | 'ghost-loading';
|
|
@@ -1176,6 +1296,8 @@ declare class AttachmentComponent implements OnInit {
|
|
|
1176
1296
|
isActive: _angular_core.InputSignal<boolean>;
|
|
1177
1297
|
isDrillable: _angular_core.InputSignal<boolean>;
|
|
1178
1298
|
columnWidth: _angular_core.InputSignal<number>;
|
|
1299
|
+
eruGridStore: _angular_core.InputSignal<EruGridStore | null>;
|
|
1300
|
+
private pendingViewRequests;
|
|
1179
1301
|
valueChange: EventEmitter<string[] | null>;
|
|
1180
1302
|
blur: EventEmitter<string[] | null>;
|
|
1181
1303
|
focus: EventEmitter<void>;
|
|
@@ -1208,11 +1330,12 @@ declare class AttachmentComponent implements OnInit {
|
|
|
1208
1330
|
processFile(file: File): void;
|
|
1209
1331
|
uploadFile(base64String: string, fileName: string): void;
|
|
1210
1332
|
viewFile(file: string, event?: Event): void;
|
|
1333
|
+
private openBase64InNewTab;
|
|
1211
1334
|
deleteFile(file: string, event?: Event): void;
|
|
1212
1335
|
trackByFile(index: number, file: string): string;
|
|
1213
1336
|
getFileName(file: string): string;
|
|
1214
1337
|
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>;
|
|
1338
|
+
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
1339
|
}
|
|
1217
1340
|
|
|
1218
1341
|
declare class CheckboxComponent {
|
|
@@ -1801,6 +1924,18 @@ declare class StatusComponent implements OnInit {
|
|
|
1801
1924
|
editModeChange: EventEmitter<boolean>;
|
|
1802
1925
|
currentValue: _angular_core.WritableSignal<string | null>;
|
|
1803
1926
|
searchText: _angular_core.WritableSignal<string>;
|
|
1927
|
+
groupedOptions: _angular_core.Signal<{
|
|
1928
|
+
open: {
|
|
1929
|
+
value: any;
|
|
1930
|
+
label: any;
|
|
1931
|
+
color: any;
|
|
1932
|
+
}[];
|
|
1933
|
+
close: {
|
|
1934
|
+
value: any;
|
|
1935
|
+
label: any;
|
|
1936
|
+
color: any;
|
|
1937
|
+
}[];
|
|
1938
|
+
}>;
|
|
1804
1939
|
filteredOptions: _angular_core.Signal<{
|
|
1805
1940
|
value: any;
|
|
1806
1941
|
label: any;
|
|
@@ -2037,39 +2172,6 @@ declare class WebsiteComponent implements OnInit {
|
|
|
2037
2172
|
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
2173
|
}
|
|
2039
2174
|
|
|
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
2175
|
declare class ThemeToggleComponent {
|
|
2074
2176
|
private themeService;
|
|
2075
2177
|
availableThemes: {
|
|
@@ -2085,5 +2187,5 @@ declare class ThemeToggleComponent {
|
|
|
2085
2187
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ThemeToggleComponent, "eru-theme-toggle", never, {}, {}, never, never, true, never>;
|
|
2086
2188
|
}
|
|
2087
2189
|
|
|
2088
|
-
export { AttachmentComponent,
|
|
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 };
|
|
2190
|
+
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 };
|
|
2191
|
+
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 };
|