@keenmate/web-grid 1.0.0-rc09 → 1.0.0-rc11
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/dist/grid.d.ts +112 -66
- package/dist/index.d.ts +1 -1
- package/dist/modules/cell-selection/index.d.ts +29 -0
- package/dist/modules/focus-events/index.d.ts +42 -0
- package/dist/modules/navigation/index.d.ts +1 -1
- package/dist/modules/scroll-events/index.d.ts +27 -0
- package/dist/modules/types.d.ts +4 -0
- package/dist/types.d.ts +58 -34
- package/dist/web-component.d.ts +73 -45
- package/dist/web-grid.js +6289 -5799
- package/dist/web-grid.umd.js +247 -241
- package/package.json +78 -78
- package/src/css/_cell-selection.css +58 -0
- package/src/css/_cells.css +13 -2
- package/src/css/_dialogs.css +2 -2
- package/src/css/_dropdown.css +33 -3
- package/src/css/_freeze.css +2 -2
- package/src/css/_header.css +46 -8
- package/src/css/_navigation.css +5 -0
- package/src/css/_toolbar.css +7 -7
- package/src/css/_variables.css +45 -9
- package/src/css/main.css +8 -6
package/dist/web-component.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { WebGrid } from './grid.js';
|
|
2
2
|
import type { Column, CellValidationState, RowToolbarConfig, ContextMenuItem, RowShortcut, RowChangeDetail, ToolbarClickDetail, RowActionClickDetail, ContextMenuContext, HeaderMenuConfig, HeaderMenuContext, EditTrigger, EditStartSelection, EditorOption, EditorOptions, GridMode, ToggleVisibility, DataRequestDetail, SortState, SortMode, PaginationLabelsCallback, SummaryContentCallback, ValidationTooltipContext, ToolbarPosition, GridLabels, RowLockInfo, RowLockingOptions, RowLockChangeDetail, ColumnResizeDetail, ColumnWidthState, ColumnReorderDetail, ColumnOrderState, FillDragDetail, RangeShortcut } from './types.js';
|
|
3
|
+
import { type ScrollEventManager } from './modules/scroll-events/index.js';
|
|
4
|
+
import { type FocusEventManager } from './modules/focus-events/index.js';
|
|
3
5
|
import type { GridContext } from './modules/types.js';
|
|
4
6
|
/**
|
|
5
7
|
* GridElement - Custom HTML Element for WebGrid
|
|
@@ -25,9 +27,7 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
|
|
|
25
27
|
private updatePending;
|
|
26
28
|
isCommittingFromKeyboard: boolean;
|
|
27
29
|
private isTransitioningCells;
|
|
28
|
-
private wheelListenerAdded;
|
|
29
30
|
private toolbarOutsideClickAdded;
|
|
30
|
-
private toolbarScrollListenerAdded;
|
|
31
31
|
private toolbarMoveInProgress;
|
|
32
32
|
private toolbarHideTimeout;
|
|
33
33
|
private toolbarHovered;
|
|
@@ -40,6 +40,7 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
|
|
|
40
40
|
isUserFiltering: boolean;
|
|
41
41
|
justSelected: boolean;
|
|
42
42
|
isOpeningDropdown: boolean;
|
|
43
|
+
isClosingViaToggle: boolean;
|
|
43
44
|
private isProgrammaticScroll;
|
|
44
45
|
searchDebounceTimer: ReturnType<typeof setTimeout> | null;
|
|
45
46
|
searchAbortController: AbortController | null;
|
|
@@ -60,8 +61,9 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
|
|
|
60
61
|
private headerContextMenuElement;
|
|
61
62
|
private virtualScrollStart;
|
|
62
63
|
private virtualScrollEnd;
|
|
63
|
-
private scrollListenerAdded;
|
|
64
64
|
private isLoadingMoreItems;
|
|
65
|
+
readonly scrollEvents: ScrollEventManager;
|
|
66
|
+
readonly focusEvents: FocusEventManager;
|
|
65
67
|
constructor();
|
|
66
68
|
connectedCallback(): void;
|
|
67
69
|
disconnectedCallback(): void;
|
|
@@ -69,20 +71,20 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
|
|
|
69
71
|
set items(value: T[]);
|
|
70
72
|
get columns(): Column<T>[];
|
|
71
73
|
set columns(value: Column<T>[]);
|
|
72
|
-
get
|
|
73
|
-
set
|
|
74
|
-
get
|
|
75
|
-
set
|
|
74
|
+
get isFilterable(): boolean;
|
|
75
|
+
set isFilterable(value: boolean);
|
|
76
|
+
get isPageable(): boolean;
|
|
77
|
+
set isPageable(value: boolean);
|
|
76
78
|
get pageSize(): number;
|
|
77
79
|
set pageSize(value: number);
|
|
78
80
|
get pageSizes(): number[];
|
|
79
81
|
set pageSizes(value: number[]);
|
|
80
|
-
get
|
|
81
|
-
set
|
|
82
|
-
get
|
|
83
|
-
set
|
|
84
|
-
get
|
|
85
|
-
set
|
|
82
|
+
get isStriped(): boolean;
|
|
83
|
+
set isStriped(value: boolean);
|
|
84
|
+
get isHoverable(): boolean;
|
|
85
|
+
set isHoverable(value: boolean);
|
|
86
|
+
get isEditable(): boolean;
|
|
87
|
+
set isEditable(value: boolean);
|
|
86
88
|
get editTrigger(): EditTrigger;
|
|
87
89
|
set editTrigger(value: EditTrigger);
|
|
88
90
|
get editStartSelection(): EditStartSelection;
|
|
@@ -91,22 +93,22 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
|
|
|
91
93
|
set mode(value: GridMode);
|
|
92
94
|
get dropdownToggleVisibility(): ToggleVisibility;
|
|
93
95
|
set dropdownToggleVisibility(value: ToggleVisibility);
|
|
94
|
-
get
|
|
95
|
-
set
|
|
96
|
-
get
|
|
97
|
-
set
|
|
98
|
-
get
|
|
99
|
-
set
|
|
100
|
-
get
|
|
101
|
-
set
|
|
102
|
-
get
|
|
103
|
-
set
|
|
96
|
+
get shouldShowDropdownOnFocus(): boolean;
|
|
97
|
+
set shouldShowDropdownOnFocus(value: boolean);
|
|
98
|
+
get shouldOpenDropdownOnEnter(): boolean;
|
|
99
|
+
set shouldOpenDropdownOnEnter(value: boolean);
|
|
100
|
+
get isCheckboxAlwaysEditable(): boolean;
|
|
101
|
+
set isCheckboxAlwaysEditable(value: boolean);
|
|
102
|
+
get isRowNumbersVisible(): boolean;
|
|
103
|
+
set isRowNumbersVisible(value: boolean);
|
|
104
|
+
get isStickyRowNumbers(): boolean;
|
|
105
|
+
set isStickyRowNumbers(value: boolean);
|
|
104
106
|
get freezeColumns(): number;
|
|
105
107
|
set freezeColumns(value: number);
|
|
106
108
|
get invalidCells(): CellValidationState[];
|
|
107
109
|
set invalidCells(value: CellValidationState[]);
|
|
108
|
-
get
|
|
109
|
-
set
|
|
110
|
+
get isRowToolbarVisible(): boolean;
|
|
111
|
+
set isRowToolbarVisible(value: boolean);
|
|
110
112
|
get rowToolbar(): RowToolbarConfig<T>[];
|
|
111
113
|
set rowToolbar(value: RowToolbarConfig<T>[]);
|
|
112
114
|
get toolbarVerticalAlign(): 'top' | 'center' | 'bottom';
|
|
@@ -142,16 +144,30 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
|
|
|
142
144
|
clearSelection(): void;
|
|
143
145
|
isRowSelected(rowIndex: number): boolean;
|
|
144
146
|
getSelectedRowsData(): T[];
|
|
145
|
-
|
|
146
|
-
|
|
147
|
+
copySelectedRowsToClipboard(): Promise<boolean>;
|
|
148
|
+
get cellSelectionMode(): import("./types.js").CellSelectionMode;
|
|
149
|
+
set cellSelectionMode(value: import("./types.js").CellSelectionMode);
|
|
150
|
+
get selectedCellRange(): import("./types.js").CellRange;
|
|
151
|
+
selectCellRange(range: any): void;
|
|
152
|
+
clearCellSelection(): void;
|
|
153
|
+
getSelectedCells(): {
|
|
154
|
+
row: T;
|
|
155
|
+
rowIndex: number;
|
|
156
|
+
colIndex: number;
|
|
157
|
+
field: string;
|
|
158
|
+
value: unknown;
|
|
159
|
+
}[];
|
|
160
|
+
copyCellSelectionToClipboard(): Promise<boolean>;
|
|
161
|
+
get shouldCopyWithHeaders(): boolean;
|
|
162
|
+
set shouldCopyWithHeaders(value: boolean);
|
|
163
|
+
get oncellselectionchange(): (detail: import("./types.js").CellSelectionChangeDetail) => void;
|
|
164
|
+
set oncellselectionchange(value: (detail: import("./types.js").CellSelectionChangeDetail) => void);
|
|
165
|
+
get isShortcutsHelpVisible(): boolean;
|
|
166
|
+
set isShortcutsHelpVisible(value: boolean);
|
|
147
167
|
get shortcutsHelpPosition(): 'top-right' | 'top-left';
|
|
148
168
|
set shortcutsHelpPosition(value: 'top-right' | 'top-left');
|
|
149
169
|
get shortcutsHelpContentCallback(): (() => string) | undefined;
|
|
150
170
|
set shortcutsHelpContentCallback(value: (() => string) | undefined);
|
|
151
|
-
get showRowActions(): boolean;
|
|
152
|
-
set showRowActions(value: boolean);
|
|
153
|
-
get rowActions(): RowToolbarConfig<T>[];
|
|
154
|
-
set rowActions(value: RowToolbarConfig<T>[]);
|
|
155
171
|
set onrowchange(value: ((detail: RowChangeDetail<T>) => void) | undefined);
|
|
156
172
|
set onroweditstart(value: ((detail: {
|
|
157
173
|
row: T;
|
|
@@ -212,8 +228,8 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
|
|
|
212
228
|
set labels(value: Partial<GridLabels>);
|
|
213
229
|
get summaryMetadata(): unknown;
|
|
214
230
|
set summaryMetadata(value: unknown);
|
|
215
|
-
get
|
|
216
|
-
set
|
|
231
|
+
get isSummaryInline(): boolean;
|
|
232
|
+
set isSummaryInline(value: boolean);
|
|
217
233
|
get idValueMember(): keyof T | undefined;
|
|
218
234
|
set idValueMember(value: keyof T | undefined);
|
|
219
235
|
get idValueCallback(): ((row: T) => unknown) | undefined;
|
|
@@ -224,12 +240,12 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
|
|
|
224
240
|
set onrowlockchange(value: ((detail: RowLockChangeDetail<T>) => void) | undefined);
|
|
225
241
|
get gridName(): string | null;
|
|
226
242
|
set gridName(value: string | null);
|
|
227
|
-
get
|
|
228
|
-
set
|
|
229
|
-
get
|
|
230
|
-
set
|
|
231
|
-
get
|
|
232
|
-
set
|
|
243
|
+
get shouldPersistColumnWidths(): boolean;
|
|
244
|
+
set shouldPersistColumnWidths(value: boolean);
|
|
245
|
+
get isColumnReorderAllowed(): boolean;
|
|
246
|
+
set isColumnReorderAllowed(value: boolean);
|
|
247
|
+
get shouldPersistColumnOrder(): boolean;
|
|
248
|
+
set shouldPersistColumnOrder(value: boolean);
|
|
233
249
|
/**
|
|
234
250
|
* Try to load persisted state (widths/order) if conditions are met
|
|
235
251
|
*/
|
|
@@ -239,18 +255,18 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
|
|
|
239
255
|
set oncolumnresize(value: ((detail: ColumnResizeDetail) => void) | undefined);
|
|
240
256
|
get oncolumnreorder(): ((detail: ColumnReorderDetail) => void) | undefined;
|
|
241
257
|
set oncolumnreorder(value: ((detail: ColumnReorderDetail) => void) | undefined);
|
|
242
|
-
get
|
|
243
|
-
set
|
|
244
|
-
get
|
|
245
|
-
set
|
|
258
|
+
get fillDragCallback(): ((detail: FillDragDetail) => boolean | void) | undefined;
|
|
259
|
+
set fillDragCallback(value: ((detail: FillDragDetail) => boolean | void) | undefined);
|
|
260
|
+
get isVirtualScrollEnabled(): boolean;
|
|
261
|
+
set isVirtualScrollEnabled(value: boolean);
|
|
246
262
|
get virtualScrollThreshold(): number;
|
|
247
263
|
set virtualScrollThreshold(value: number);
|
|
248
264
|
get virtualScrollRowHeight(): number;
|
|
249
265
|
set virtualScrollRowHeight(value: number);
|
|
250
266
|
get virtualScrollBuffer(): number;
|
|
251
267
|
set virtualScrollBuffer(value: number);
|
|
252
|
-
get
|
|
253
|
-
set
|
|
268
|
+
get isInfiniteScrollEnabled(): boolean;
|
|
269
|
+
set isInfiniteScrollEnabled(value: boolean);
|
|
254
270
|
get infiniteScrollThreshold(): number;
|
|
255
271
|
set infiniteScrollThreshold(value: number);
|
|
256
272
|
get hasMoreItems(): boolean;
|
|
@@ -404,6 +420,18 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
|
|
|
404
420
|
* Close toolbar and reset move flag
|
|
405
421
|
*/
|
|
406
422
|
private closeToolbarAndReset;
|
|
423
|
+
/**
|
|
424
|
+
* Close dropdown on scroll - shared logic for container and window scroll
|
|
425
|
+
*/
|
|
426
|
+
private handleScrollCloseDropdown;
|
|
427
|
+
/**
|
|
428
|
+
* Handle select trigger blur - cancel edit and restore display mode
|
|
429
|
+
*/
|
|
430
|
+
private handleSelectBlur;
|
|
431
|
+
/**
|
|
432
|
+
* Handle combobox/autocomplete blur - commit matched option or raw text
|
|
433
|
+
*/
|
|
434
|
+
private handleComboboxBlur;
|
|
407
435
|
/**
|
|
408
436
|
* Handle toolbar item click
|
|
409
437
|
*/
|