@keenmate/web-grid 1.0.0-rc08 → 1.0.0-rc10

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.
@@ -1,5 +1,5 @@
1
1
  import { WebGrid } from './grid.js';
2
- import type { Column, CellValidationState, RowToolbarConfig, ContextMenuItem, RowShortcut, RowChangeDetail, ToolbarClickDetail, RowActionClickDetail, ContextMenuContext, 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';
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
3
  import type { GridContext } from './modules/types.js';
4
4
  /**
5
5
  * GridElement - Custom HTML Element for WebGrid
@@ -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;
@@ -57,6 +58,7 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
57
58
  set tooltipHideDelay(value: number);
58
59
  private datepicker;
59
60
  private contextMenuElement;
61
+ private headerContextMenuElement;
60
62
  private virtualScrollStart;
61
63
  private virtualScrollEnd;
62
64
  private scrollListenerAdded;
@@ -68,20 +70,20 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
68
70
  set items(value: T[]);
69
71
  get columns(): Column<T>[];
70
72
  set columns(value: Column<T>[]);
71
- get filterable(): boolean;
72
- set filterable(value: boolean);
73
- get pageable(): boolean;
74
- set pageable(value: boolean);
73
+ get isFilterable(): boolean;
74
+ set isFilterable(value: boolean);
75
+ get isPageable(): boolean;
76
+ set isPageable(value: boolean);
75
77
  get pageSize(): number;
76
78
  set pageSize(value: number);
77
79
  get pageSizes(): number[];
78
80
  set pageSizes(value: number[]);
79
- get striped(): boolean;
80
- set striped(value: boolean);
81
- get hoverable(): boolean;
82
- set hoverable(value: boolean);
83
- get editable(): boolean;
84
- set editable(value: boolean);
81
+ get isStriped(): boolean;
82
+ set isStriped(value: boolean);
83
+ get isHoverable(): boolean;
84
+ set isHoverable(value: boolean);
85
+ get isEditable(): boolean;
86
+ set isEditable(value: boolean);
85
87
  get editTrigger(): EditTrigger;
86
88
  set editTrigger(value: EditTrigger);
87
89
  get editStartSelection(): EditStartSelection;
@@ -90,22 +92,22 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
90
92
  set mode(value: GridMode);
91
93
  get dropdownToggleVisibility(): ToggleVisibility;
92
94
  set dropdownToggleVisibility(value: ToggleVisibility);
93
- get dropdownShowOnFocus(): boolean;
94
- set dropdownShowOnFocus(value: boolean);
95
- get openDropdownOnEnter(): boolean;
96
- set openDropdownOnEnter(value: boolean);
97
- get checkboxAlwaysEditable(): boolean;
98
- set checkboxAlwaysEditable(value: boolean);
99
- get showRowNumbers(): boolean;
100
- set showRowNumbers(value: boolean);
101
- get stickyRowNumbers(): boolean;
102
- set stickyRowNumbers(value: boolean);
95
+ get shouldShowDropdownOnFocus(): boolean;
96
+ set shouldShowDropdownOnFocus(value: boolean);
97
+ get shouldOpenDropdownOnEnter(): boolean;
98
+ set shouldOpenDropdownOnEnter(value: boolean);
99
+ get isCheckboxAlwaysEditable(): boolean;
100
+ set isCheckboxAlwaysEditable(value: boolean);
101
+ get isRowNumbersVisible(): boolean;
102
+ set isRowNumbersVisible(value: boolean);
103
+ get isStickyRowNumbers(): boolean;
104
+ set isStickyRowNumbers(value: boolean);
103
105
  get freezeColumns(): number;
104
106
  set freezeColumns(value: number);
105
107
  get invalidCells(): CellValidationState[];
106
108
  set invalidCells(value: CellValidationState[]);
107
- get showRowToolbar(): boolean;
108
- set showRowToolbar(value: boolean);
109
+ get isRowToolbarVisible(): boolean;
110
+ set isRowToolbarVisible(value: boolean);
109
111
  get rowToolbar(): RowToolbarConfig<T>[];
110
112
  set rowToolbar(value: RowToolbarConfig<T>[]);
111
113
  get toolbarVerticalAlign(): 'top' | 'center' | 'bottom';
@@ -128,6 +130,9 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
128
130
  set contextMenuXOffset(value: number);
129
131
  get contextMenuYOffset(): number;
130
132
  set contextMenuYOffset(value: number);
133
+ get headerContextMenu(): HeaderMenuConfig<T>[] | undefined;
134
+ set headerContextMenu(value: HeaderMenuConfig<T>[] | undefined);
135
+ set onheadercontextmenuopen(value: ((context: HeaderMenuContext<T>) => void) | undefined);
131
136
  get rowShortcuts(): RowShortcut<T>[] | undefined;
132
137
  set rowShortcuts(value: RowShortcut<T>[] | undefined);
133
138
  get rangeShortcuts(): RangeShortcut<T>[];
@@ -138,16 +143,12 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
138
143
  clearSelection(): void;
139
144
  isRowSelected(rowIndex: number): boolean;
140
145
  getSelectedRowsData(): T[];
141
- get showShortcutsHelp(): boolean;
142
- set showShortcutsHelp(value: boolean);
146
+ get isShortcutsHelpVisible(): boolean;
147
+ set isShortcutsHelpVisible(value: boolean);
143
148
  get shortcutsHelpPosition(): 'top-right' | 'top-left';
144
149
  set shortcutsHelpPosition(value: 'top-right' | 'top-left');
145
150
  get shortcutsHelpContentCallback(): (() => string) | undefined;
146
151
  set shortcutsHelpContentCallback(value: (() => string) | undefined);
147
- get showRowActions(): boolean;
148
- set showRowActions(value: boolean);
149
- get rowActions(): RowToolbarConfig<T>[];
150
- set rowActions(value: RowToolbarConfig<T>[]);
151
152
  set onrowchange(value: ((detail: RowChangeDetail<T>) => void) | undefined);
152
153
  set onroweditstart(value: ((detail: {
153
154
  row: T;
@@ -208,8 +209,8 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
208
209
  set labels(value: Partial<GridLabels>);
209
210
  get summaryMetadata(): unknown;
210
211
  set summaryMetadata(value: unknown);
211
- get summaryInline(): boolean;
212
- set summaryInline(value: boolean);
212
+ get isSummaryInline(): boolean;
213
+ set isSummaryInline(value: boolean);
213
214
  get idValueMember(): keyof T | undefined;
214
215
  set idValueMember(value: keyof T | undefined);
215
216
  get idValueCallback(): ((row: T) => unknown) | undefined;
@@ -220,12 +221,12 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
220
221
  set onrowlockchange(value: ((detail: RowLockChangeDetail<T>) => void) | undefined);
221
222
  get gridName(): string | null;
222
223
  set gridName(value: string | null);
223
- get persistColumnWidths(): boolean;
224
- set persistColumnWidths(value: boolean);
225
- get allowColumnReorder(): boolean;
226
- set allowColumnReorder(value: boolean);
227
- get persistColumnOrder(): boolean;
228
- set persistColumnOrder(value: boolean);
224
+ get shouldPersistColumnWidths(): boolean;
225
+ set shouldPersistColumnWidths(value: boolean);
226
+ get isColumnReorderAllowed(): boolean;
227
+ set isColumnReorderAllowed(value: boolean);
228
+ get shouldPersistColumnOrder(): boolean;
229
+ set shouldPersistColumnOrder(value: boolean);
229
230
  /**
230
231
  * Try to load persisted state (widths/order) if conditions are met
231
232
  */
@@ -235,18 +236,18 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
235
236
  set oncolumnresize(value: ((detail: ColumnResizeDetail) => void) | undefined);
236
237
  get oncolumnreorder(): ((detail: ColumnReorderDetail) => void) | undefined;
237
238
  set oncolumnreorder(value: ((detail: ColumnReorderDetail) => void) | undefined);
238
- get onfilldrag(): ((detail: FillDragDetail) => boolean | void) | undefined;
239
- set onfilldrag(value: ((detail: FillDragDetail) => boolean | void) | undefined);
240
- get virtualScroll(): boolean;
241
- set virtualScroll(value: boolean);
239
+ get fillDragCallback(): ((detail: FillDragDetail) => boolean | void) | undefined;
240
+ set fillDragCallback(value: ((detail: FillDragDetail) => boolean | void) | undefined);
241
+ get isVirtualScrollEnabled(): boolean;
242
+ set isVirtualScrollEnabled(value: boolean);
242
243
  get virtualScrollThreshold(): number;
243
244
  set virtualScrollThreshold(value: number);
244
245
  get virtualScrollRowHeight(): number;
245
246
  set virtualScrollRowHeight(value: number);
246
247
  get virtualScrollBuffer(): number;
247
248
  set virtualScrollBuffer(value: number);
248
- get infiniteScroll(): boolean;
249
- set infiniteScroll(value: boolean);
249
+ get isInfiniteScrollEnabled(): boolean;
250
+ set isInfiniteScrollEnabled(value: boolean);
250
251
  get infiniteScrollThreshold(): number;
251
252
  set infiniteScrollThreshold(value: number);
252
253
  get hasMoreItems(): boolean;
@@ -361,9 +362,18 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
361
362
  */
362
363
  private openCustomEditor;
363
364
  /**
364
- * Handle context menu (right-click) on cells
365
+ * Handle context menu (right-click) on cells or headers
365
366
  */
366
367
  private handleContextMenu;
368
+ /**
369
+ * Handle context menu (right-click) on column headers
370
+ */
371
+ private handleHeaderContextMenu;
372
+ /**
373
+ * Handle context menu (right-click) on header filler cell
374
+ * Shows limited options (only column-agnostic items like columnVisibility)
375
+ */
376
+ private handleFillerContextMenu;
367
377
  /**
368
378
  * Setup document-level keyboard shortcut listener for toolbar row
369
379
  * Allows shortcuts to work on hovered row without cell focus