apex-grid 3.5.0 → 4.0.0-beta.1
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/CHANGELOG.md +573 -0
- package/LICENSE.md +125 -0
- package/README.md +143 -23
- package/components/cell.d.ts +43 -5
- package/components/cell.js +225 -64
- package/components/cell.js.map +1 -1
- package/components/filter-row.d.ts +2 -0
- package/components/filter-row.js +82 -28
- package/components/filter-row.js.map +1 -1
- package/components/grid.d.ts +281 -49
- package/components/grid.js +600 -159
- package/components/grid.js.map +1 -1
- package/components/group-header-row.js +28 -25
- package/components/group-header-row.js.map +1 -1
- package/components/header-row.d.ts +6 -10
- package/components/header-row.js +12 -28
- package/components/header-row.js.map +1 -1
- package/components/header.js +71 -22
- package/components/header.js.map +1 -1
- package/components/paginator.d.ts +20 -5
- package/components/paginator.js +54 -17
- package/components/paginator.js.map +1 -1
- package/components/row.d.ts +19 -3
- package/components/row.js +211 -56
- package/components/row.js.map +1 -1
- package/components/toolbar.d.ts +5 -1
- package/components/toolbar.js +6 -2
- package/components/toolbar.js.map +1 -1
- package/components/virtualize-rows.d.ts +38 -0
- package/components/virtualize-rows.js +286 -0
- package/components/virtualize-rows.js.map +1 -0
- package/components/virtualizer.d.ts +111 -1
- package/components/virtualizer.js +192 -5
- package/components/virtualizer.js.map +1 -1
- package/controllers/dom.d.ts +14 -7
- package/controllers/dom.js +45 -27
- package/controllers/dom.js.map +1 -1
- package/controllers/editing.d.ts +104 -37
- package/controllers/editing.js +230 -78
- package/controllers/editing.js.map +1 -1
- package/controllers/expansion.d.ts +14 -5
- package/controllers/expansion.js +24 -1
- package/controllers/expansion.js.map +1 -1
- package/controllers/filter.d.ts +10 -2
- package/controllers/filter.js +62 -17
- package/controllers/filter.js.map +1 -1
- package/controllers/history.d.ts +45 -8
- package/controllers/history.js +58 -20
- package/controllers/history.js.map +1 -1
- package/controllers/navigation.d.ts +130 -13
- package/controllers/navigation.js +474 -60
- package/controllers/navigation.js.map +1 -1
- package/controllers/pagination.d.ts +13 -6
- package/controllers/pagination.js +29 -22
- package/controllers/pagination.js.map +1 -1
- package/controllers/reorder.js +38 -22
- package/controllers/reorder.js.map +1 -1
- package/controllers/resize.d.ts +17 -2
- package/controllers/resize.js +16 -6
- package/controllers/resize.js.map +1 -1
- package/controllers/row-pin.d.ts +26 -2
- package/controllers/row-pin.js +24 -11
- package/controllers/row-pin.js.map +1 -1
- package/controllers/row-reorder.d.ts +40 -12
- package/controllers/row-reorder.js +137 -43
- package/controllers/row-reorder.js.map +1 -1
- package/controllers/selection.d.ts +33 -4
- package/controllers/selection.js +49 -11
- package/controllers/selection.js.map +1 -1
- package/controllers/sort.d.ts +22 -2
- package/controllers/sort.js +30 -25
- package/controllers/sort.js.map +1 -1
- package/controllers/state.d.ts +74 -7
- package/controllers/state.js +117 -36
- package/controllers/state.js.map +1 -1
- package/controllers/tree.d.ts +15 -10
- package/controllers/tree.js +0 -0
- package/controllers/tree.js.map +1 -1
- package/custom-elements.json +5091 -1023
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/highlight.css +15 -8
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/ApexGrid.html +233 -87
- package/docs/classes/ApexGridPaginator.html +39 -8
- package/docs/classes/ApexGridToolbar.html +11 -7
- package/docs/functions/localize.html +2 -2
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +159 -26
- package/docs/interfaces/ApexCellValidationFailedEvent.html +3 -2
- package/docs/interfaces/ApexCellValueChangedEvent.html +4 -2
- package/docs/interfaces/ApexCellValueChangingEvent.html +3 -2
- package/docs/interfaces/ApexGridEventMap.html +5 -2
- package/docs/interfaces/ApexPageChangedEvent.html +3 -1
- package/docs/interfaces/ApexRowEditEndedEvent.html +2 -1
- package/docs/interfaces/ApexRowEditStartedEvent.html +2 -1
- package/docs/interfaces/ApexRowMovingEvent.html +9 -3
- package/docs/interfaces/ApexRowPinningEvent.html +1 -1
- package/docs/interfaces/ApexTreeRowExpandedEvent.html +4 -1
- package/docs/interfaces/ApexTreeRowExpandingEvent.html +4 -1
- package/docs/interfaces/BaseApexCellContext.html +18 -5
- package/docs/interfaces/BaseApexEditorContext.html +20 -5
- package/docs/interfaces/BaseFilterExpression.html +3 -3
- package/docs/interfaces/CSVExportOptions.html +12 -4
- package/docs/interfaces/DataPipelineConfiguration.html +4 -9
- package/docs/interfaces/ExportOptions.html +5 -3
- package/docs/interfaces/GridExpansionConfiguration.html +6 -2
- package/docs/interfaces/GridRowReorderingConfiguration.html +1 -1
- package/docs/interfaces/GridSelectionConfiguration.html +19 -4
- package/docs/interfaces/PaginationConfiguration.html +11 -4
- package/docs/interfaces/PaginationState.html +4 -2
- package/docs/interfaces/SetStateResult.html +3 -2
- package/docs/interfaces/ValidatorContext.html +7 -2
- package/docs/media/_token-values.scss +118 -0
- package/docs/media/package.json +9 -5
- package/docs/modules.html +1 -1
- package/docs/types/DataPipelineParams.html +2 -2
- package/docs/types/ExportSource.html +6 -4
- package/docs/types/OperandKeys.html +9 -0
- package/docs/types/PaginationMode.html +5 -4
- package/docs/variables/EN_LOCALE.html +2 -2
- package/i18n/en.d.ts +7 -0
- package/i18n/en.js +7 -0
- package/i18n/en.js.map +1 -1
- package/i18n/es.js +7 -0
- package/i18n/es.js.map +1 -1
- package/internal/column-types.d.ts +38 -2
- package/internal/column-types.js +83 -55
- package/internal/column-types.js.map +1 -1
- package/internal/constants.d.ts +1 -2
- package/internal/constants.js +0 -4
- package/internal/constants.js.map +1 -1
- package/internal/document-styles.d.ts +30 -0
- package/internal/document-styles.js +48 -0
- package/internal/document-styles.js.map +1 -0
- package/internal/export.d.ts +45 -7
- package/internal/export.js +39 -34
- package/internal/export.js.map +1 -1
- package/internal/feature-module.d.ts +67 -3
- package/internal/feature-module.js +6 -0
- package/internal/feature-module.js.map +1 -1
- package/internal/flip.d.ts +28 -16
- package/internal/flip.js +42 -10
- package/internal/flip.js.map +1 -1
- package/internal/index.d.ts +7 -5
- package/internal/index.js +6 -4
- package/internal/index.js.map +1 -1
- package/internal/normalize-case.d.ts +8 -1
- package/internal/normalize-case.js +3 -2
- package/internal/normalize-case.js.map +1 -1
- package/internal/state-snapshot.d.ts +60 -8
- package/internal/state-snapshot.js +87 -19
- package/internal/state-snapshot.js.map +1 -1
- package/internal/types.d.ts +92 -21
- package/internal/types.js.map +1 -1
- package/internal/utils.d.ts +34 -6
- package/internal/utils.js +30 -21
- package/internal/utils.js.map +1 -1
- package/internal/validators.js +1 -0
- package/internal/validators.js.map +1 -1
- package/operations/filter/operands/number.js +9 -6
- package/operations/filter/operands/number.js.map +1 -1
- package/operations/filter/operands/string.js +2 -3
- package/operations/filter/operands/string.js.map +1 -1
- package/operations/filter/types.d.ts +14 -2
- package/operations/filter/types.js.map +1 -1
- package/operations/filter.d.ts +6 -0
- package/operations/filter.js +23 -7
- package/operations/filter.js.map +1 -1
- package/operations/quick-filter.js +2 -5
- package/operations/quick-filter.js.map +1 -1
- package/operations/sort.d.ts +21 -2
- package/operations/sort.js +41 -14
- package/operations/sort.js.map +1 -1
- package/package.json +9 -4
- package/setup.d.ts +11 -0
- package/setup.js +9 -19
- package/setup.js.map +1 -1
- package/styles/_token-values.css.d.ts +1 -0
- package/styles/_token-values.css.js +3 -0
- package/styles/_token-values.css.js.map +1 -0
- package/styles/_tokens.css.js +1 -1
- package/styles/_tokens.css.js.map +1 -1
- package/styles/body-cell/body-cell.css.js +1 -1
- package/styles/body-cell/body-cell.css.js.map +1 -1
- package/styles/body-cell/cell-renderers.css.js +1 -1
- package/styles/body-cell/cell-renderers.css.js.map +1 -1
- package/styles/body-row/body-row.css.js +1 -1
- package/styles/body-row/body-row.css.js.map +1 -1
- package/styles/document-tokens.css.d.ts +1 -0
- package/styles/document-tokens.css.js +3 -0
- package/styles/document-tokens.css.js.map +1 -0
- package/styles/filter-row/filter-row.css.js +1 -1
- package/styles/filter-row/filter-row.css.js.map +1 -1
- package/styles/grid/_grid.base.css.js +1 -1
- package/styles/grid/_grid.base.css.js.map +1 -1
- package/styles/grid/grid.css.js +1 -1
- package/styles/grid/grid.css.js.map +1 -1
- package/styles/group-header-row/group-header-row.css.js +1 -1
- package/styles/group-header-row/group-header-row.css.js.map +1 -1
- package/styles/header-cell/header-cell.css.js +1 -1
- package/styles/header-cell/header-cell.css.js.map +1 -1
- package/styles/header-row/header-row.base.css.js +1 -1
- package/styles/header-row/header-row.base.css.js.map +1 -1
- package/styles/paginator/paginator.css.js +1 -1
- package/styles/paginator/paginator.css.js.map +1 -1
- package/styles/toolbar/toolbar.css.js +1 -1
- package/styles/toolbar/toolbar.css.js.map +1 -1
- package/tokens.css +78 -0
- package/LICENSE +0 -80
- package/docs/media/LICENSE +0 -80
- package/docs/media/_tokens.scss +0 -214
- package/operations/pagination.d.ts +0 -19
- package/operations/pagination.js +0 -12
- package/operations/pagination.js.map +0 -1
package/components/grid.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ContextProvider } from '@lit/context';
|
|
2
|
-
import { nothing } from 'lit';
|
|
2
|
+
import { nothing, type PropertyDeclaration } from 'lit';
|
|
3
3
|
import { DataOperationsController } from '../controllers/data-operation.js';
|
|
4
4
|
import { GridDOMController } from '../controllers/dom.js';
|
|
5
5
|
import type { RowPinPosition } from '../controllers/row-pin.js';
|
|
@@ -116,7 +116,8 @@ export interface ApexCellValueChangingEvent<T extends object> {
|
|
|
116
116
|
*/
|
|
117
117
|
key: Keys<T>;
|
|
118
118
|
/**
|
|
119
|
-
* The view-relative row index (matches {@link ApexGrid.pageItems})
|
|
119
|
+
* The view-relative row index (matches {@link ApexGrid.pageItems}), or
|
|
120
|
+
* -1 when the record is pinned or on another page.
|
|
120
121
|
*/
|
|
121
122
|
rowIndex: number;
|
|
122
123
|
/**
|
|
@@ -142,7 +143,9 @@ export interface ApexCellValueChangedEvent<T extends object> {
|
|
|
142
143
|
*/
|
|
143
144
|
key: Keys<T>;
|
|
144
145
|
/**
|
|
145
|
-
* The view-relative row index after the change
|
|
146
|
+
* The view-relative row index after the change (matches
|
|
147
|
+
* {@link ApexGrid.pageItems}), or -1 when the record is pinned or on
|
|
148
|
+
* another page. Use `data` to identify the row.
|
|
146
149
|
*/
|
|
147
150
|
rowIndex: number;
|
|
148
151
|
/**
|
|
@@ -164,7 +167,8 @@ export interface ApexCellValidationFailedEvent<T extends object> {
|
|
|
164
167
|
*/
|
|
165
168
|
key: Keys<T>;
|
|
166
169
|
/**
|
|
167
|
-
* The view-relative row index of the rejected cell
|
|
170
|
+
* The view-relative row index of the rejected cell, or -1 when the record
|
|
171
|
+
* is pinned or on another page.
|
|
168
172
|
*/
|
|
169
173
|
rowIndex: number;
|
|
170
174
|
/**
|
|
@@ -203,6 +207,14 @@ export interface ApexRowMovingEvent<T extends object> {
|
|
|
203
207
|
from: number;
|
|
204
208
|
/** The target row's view index. */
|
|
205
209
|
to: number;
|
|
210
|
+
/** Whether the row lands before or after the target row. */
|
|
211
|
+
position: RowDropPosition;
|
|
212
|
+
/**
|
|
213
|
+
* The view index the row lands at, resolved from `to` and `position`
|
|
214
|
+
* (`moveRow(0, 3)` lands the row at 2). Splice the row out of `from` and in
|
|
215
|
+
* at `toIndex` to mirror the move.
|
|
216
|
+
*/
|
|
217
|
+
toIndex: number;
|
|
206
218
|
/** The row being moved (a live reference into {@link ApexGrid.data}). */
|
|
207
219
|
data: T;
|
|
208
220
|
}
|
|
@@ -227,7 +239,8 @@ export interface ApexStateChangedEvent {
|
|
|
227
239
|
*/
|
|
228
240
|
export interface ApexRowEditStartedEvent {
|
|
229
241
|
/**
|
|
230
|
-
* The view-relative row index entering edit mode
|
|
242
|
+
* The view-relative row index entering edit mode, or -1 when the record is
|
|
243
|
+
* pinned or on another page.
|
|
231
244
|
*/
|
|
232
245
|
rowIndex: number;
|
|
233
246
|
}
|
|
@@ -236,7 +249,8 @@ export interface ApexRowEditStartedEvent {
|
|
|
236
249
|
*/
|
|
237
250
|
export interface ApexRowEditEndedEvent {
|
|
238
251
|
/**
|
|
239
|
-
* The view-relative row index that left edit mode
|
|
252
|
+
* The view-relative row index that left edit mode, or -1 when the record is
|
|
253
|
+
* pinned or on another page.
|
|
240
254
|
*/
|
|
241
255
|
rowIndex: number;
|
|
242
256
|
/**
|
|
@@ -324,6 +338,11 @@ export interface ApexRowSelectedEvent<T extends object> {
|
|
|
324
338
|
}
|
|
325
339
|
/**
|
|
326
340
|
* Event payload for the cancellable `treeRowExpanding` event.
|
|
341
|
+
*
|
|
342
|
+
* @remarks
|
|
343
|
+
* A parent that exists only as a path segment (no row of its own in
|
|
344
|
+
* {@link ApexGrid.data}) appears in these arrays as a synthesized placeholder
|
|
345
|
+
* row, not as one of your records.
|
|
327
346
|
*/
|
|
328
347
|
export interface ApexTreeRowExpandingEvent<T extends object> {
|
|
329
348
|
/** Rows that will become expanded by this change. */
|
|
@@ -337,6 +356,11 @@ export interface ApexTreeRowExpandingEvent<T extends object> {
|
|
|
337
356
|
}
|
|
338
357
|
/**
|
|
339
358
|
* Event payload for the `treeRowExpanded` event.
|
|
359
|
+
*
|
|
360
|
+
* @remarks
|
|
361
|
+
* A parent that exists only as a path segment (no row of its own in
|
|
362
|
+
* {@link ApexGrid.data}) appears in these arrays as a synthesized placeholder
|
|
363
|
+
* row, not as one of your records.
|
|
340
364
|
*/
|
|
341
365
|
export interface ApexTreeRowExpandedEvent<T extends object> {
|
|
342
366
|
/** Rows that became expanded in this change. */
|
|
@@ -550,6 +574,9 @@ export interface ApexGridEventMap<T extends object> {
|
|
|
550
574
|
* Fires for programmatic changes (including `setState`) as well as user
|
|
551
575
|
* interaction. To avoid a save loop, compare the snapshot to your last-saved
|
|
552
576
|
* one before persisting (identical snapshots never fire a second time).
|
|
577
|
+
* Attach the listener to the grid element itself: the snapshot is computed
|
|
578
|
+
* only for listeners registered on the grid, so a listener on an ancestor
|
|
579
|
+
* (event delegation) receives nothing while none is attached to the grid.
|
|
553
580
|
*
|
|
554
581
|
* @event
|
|
555
582
|
*/
|
|
@@ -700,11 +727,37 @@ export interface ApexGridEventMap<T extends object> {
|
|
|
700
727
|
* @fires treeRowExpanding - Cancellable. Emitted before a tree-row expansion change (tree mode).
|
|
701
728
|
* @fires treeRowExpanded - Emitted after a tree-row expansion change has been applied.
|
|
702
729
|
*
|
|
730
|
+
* @csspart table - The element with the `grid` (or `treegrid`) role, `aria-rowcount` and `aria-colcount`: holds the header rows, pinned rows and body.
|
|
703
731
|
* @csspart live-region - Visually-hidden ARIA live region used for screen-reader announcements.
|
|
732
|
+
* @csspart paginator-host - The `<apex-grid-paginator>` element; the grid re-exports its parts below.
|
|
733
|
+
* @csspart paginator - The paginator's root container.
|
|
734
|
+
* @csspart paginator-size - The page-size selector wrapper.
|
|
735
|
+
* @csspart paginator-info - The "1-25 of 100" summary.
|
|
736
|
+
* @csspart paginator-controls - The first/prev/next/last button cluster.
|
|
737
|
+
* @csspart paginator-page - The "page / count" label.
|
|
738
|
+
* @csspart paginator-button - Each of the first, previous, next and last buttons.
|
|
739
|
+
* @csspart paginator-first - The first page button.
|
|
740
|
+
* @csspart paginator-prev - The previous page button.
|
|
741
|
+
* @csspart paginator-next - The next page button.
|
|
742
|
+
* @csspart paginator-last - The last page button.
|
|
743
|
+
* @csspart toolbar-host - The `<apex-grid-toolbar>` element; the grid re-exports its parts below.
|
|
744
|
+
* @csspart toolbar - The toolbar's container.
|
|
745
|
+
* @csspart toolbar-search - The quick-filter input wrapper.
|
|
746
|
+
* @csspart search-field - The bordered field holding the search icon and input.
|
|
747
|
+
* @csspart search-icon - The leading search icon.
|
|
748
|
+
* @csspart search-input - The quick-filter input.
|
|
749
|
+
* @csspart toolbar-actions - The trailing actions area.
|
|
750
|
+
* @csspart toolbar-action - A host-contributed action button.
|
|
751
|
+
* @csspart export - The export menu wrapper.
|
|
752
|
+
* @csspart export-trigger - The export menu trigger button.
|
|
753
|
+
* @csspart export-icon - The download icon in the trigger.
|
|
754
|
+
* @csspart export-caret - The caret icon in the trigger.
|
|
755
|
+
* @csspart export-menu - The export dropdown menu.
|
|
756
|
+
* @csspart export-menu-item - An item in the export menu.
|
|
704
757
|
*
|
|
705
758
|
* @cssprop [--ag-brand] - Brand color for selection, focus rings, and accents. Auto-tints from `--ig-primary-500` where an Ignite UI palette is present.
|
|
706
759
|
* @cssprop [--ag-brand-strong] - Brand color for hover / pressed states.
|
|
707
|
-
* @cssprop [--ag-grid-shadow] - Grid edge/shadow override. Default is a flat 1px hairline edge; set to `var(--ag-shadow-card)` for the elevated card look, or `none` to remove it.
|
|
760
|
+
* @cssprop [--ag-grid-shadow] - Grid edge/shadow override. Default is a flat 1px hairline edge; set to `var(--ag-shadow-card)` (`var(--ag-dark-shadow-card)` on a dark grid) for the elevated card look, or `none` to remove it.
|
|
708
761
|
* @cssprop [--ag-grid-bg] - Host card background. Defaults to a subtle light gradient; override with a flat color (or use `theme="dark"`) for dark themes.
|
|
709
762
|
* @cssprop [--ag-surface] - Grid card background (must be opaque).
|
|
710
763
|
* @cssprop [--ag-surface-alt] - Alternating row tint.
|
|
@@ -715,6 +768,17 @@ export interface ApexGridEventMap<T extends object> {
|
|
|
715
768
|
* @cssprop [--ag-text-body] - Row text color.
|
|
716
769
|
* @cssprop [--ag-text-muted] - Muted text (roles, labels).
|
|
717
770
|
* @cssprop [--ag-row-hover] - Row hover wash.
|
|
771
|
+
* @cssprop [--ag-dark-grid-bg] - Host card background on `theme="dark"` grids. Dark grids read the `--ag-dark-*` colours instead of the light ones.
|
|
772
|
+
* @cssprop [--ag-dark-surface] - Grid card background on dark grids (must be opaque).
|
|
773
|
+
* @cssprop [--ag-dark-surface-alt] - Alternating row tint on dark grids.
|
|
774
|
+
* @cssprop [--ag-dark-surface-elevated] - Header background on dark grids.
|
|
775
|
+
* @cssprop [--ag-dark-hairline] - Header / structural gridline color on dark grids.
|
|
776
|
+
* @cssprop [--ag-dark-border] - Row separator color on dark grids.
|
|
777
|
+
* @cssprop [--ag-dark-text] - Primary text color on dark grids.
|
|
778
|
+
* @cssprop [--ag-dark-text-body] - Row text color on dark grids.
|
|
779
|
+
* @cssprop [--ag-dark-text-muted] - Muted text (roles, labels) on dark grids.
|
|
780
|
+
* @cssprop [--ag-dark-row-hover] - Row hover wash on dark grids.
|
|
781
|
+
* @cssprop [--ag-dark-shadow-card] - Elevated card shadow for dark grids (see `--ag-grid-shadow`).
|
|
718
782
|
* @cssprop [--ag-row-h] - Row height.
|
|
719
783
|
* @cssprop [--ag-header-h] - Header height.
|
|
720
784
|
* @cssprop [--ag-radius] - Outer card corner radius.
|
|
@@ -735,6 +799,14 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
735
799
|
#private;
|
|
736
800
|
static get tagName(): string;
|
|
737
801
|
static styles: import("lit").CSSResult;
|
|
802
|
+
/**
|
|
803
|
+
* The `rowRecycling` every grid starts with: `true` unless the page global
|
|
804
|
+
* `__apexRowKeying` is `'item'`, which the test runner sets for its second
|
|
805
|
+
* suite run so every grid in it keeps record-keyed rows.
|
|
806
|
+
*
|
|
807
|
+
* @internal Test-only, for the suite-wide keying switch. Not public API.
|
|
808
|
+
*/
|
|
809
|
+
static defaultRowRecycling: boolean;
|
|
738
810
|
/**
|
|
739
811
|
* Registers `<apex-grid>` and its internal dependencies with the custom-element
|
|
740
812
|
* registry. Idempotent — safe to call more than once.
|
|
@@ -769,8 +841,14 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
769
841
|
protected _rows: NodeListOf<ApexGridRow<T>>;
|
|
770
842
|
/** Column configuration for the grid. */
|
|
771
843
|
columns: Array<ColumnConfiguration<T>>;
|
|
772
|
-
/**
|
|
773
|
-
|
|
844
|
+
/**
|
|
845
|
+
* The data source for the grid. `null` or `undefined` (a framework prop that
|
|
846
|
+
* is still loading) is stored as an empty array.
|
|
847
|
+
*
|
|
848
|
+
* @default []
|
|
849
|
+
*/
|
|
850
|
+
get data(): Array<T>;
|
|
851
|
+
set data(value: Array<T>);
|
|
774
852
|
/**
|
|
775
853
|
* Optional stable row-identity resolver.
|
|
776
854
|
*
|
|
@@ -841,8 +919,10 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
841
919
|
* {@link DataPipelineConfiguration.quickFilter}.
|
|
842
920
|
*
|
|
843
921
|
* @attr quick-filter
|
|
922
|
+
* @default ''
|
|
844
923
|
*/
|
|
845
|
-
quickFilter: string;
|
|
924
|
+
get quickFilter(): string;
|
|
925
|
+
set quickFilter(value: string);
|
|
846
926
|
/**
|
|
847
927
|
* Whether the built-in quick-filter input is rendered in the toolbar.
|
|
848
928
|
*
|
|
@@ -931,6 +1011,33 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
931
1011
|
* @attr column-separator
|
|
932
1012
|
*/
|
|
933
1013
|
columnSeparator: boolean;
|
|
1014
|
+
/**
|
|
1015
|
+
* Reuses body row elements across records. On by default: a scroll, sort or
|
|
1016
|
+
* filter re-binds the rendered rows to the records now in view instead of
|
|
1017
|
+
* building rows for them, which makes jumps and sorts cheaper on large
|
|
1018
|
+
* grids. Set to `false` (or the `row-recycling="false"` attribute) to
|
|
1019
|
+
* restore record-keyed rows, where each row element stays with its record.
|
|
1020
|
+
* `undefined` or `null` (a framework prop that was set and then dropped)
|
|
1021
|
+
* restores the default, so only `false` opts out.
|
|
1022
|
+
*
|
|
1023
|
+
* @remarks
|
|
1024
|
+
* A row element (and its cells) shows another record after a scroll or a
|
|
1025
|
+
* sort, so cell and editor templates must derive everything they render
|
|
1026
|
+
* from their context on each render, and must not keep state in the
|
|
1027
|
+
* elements they create. `ctx.row` and `ctx.parent` are row and cell
|
|
1028
|
+
* elements that may show another record later: read `ctx.data` for the
|
|
1029
|
+
* record, and do not hold `ctx.row` or `ctx.parent` across an `await`. A
|
|
1030
|
+
* template that keeps element state wraps itself in
|
|
1031
|
+
* `keyed(ctx.data, html...)` so the state never shows on the wrong record
|
|
1032
|
+
* (it is rebuilt on every rebind). Turn recycling off for templates that
|
|
1033
|
+
* must keep element state across a sort or a move, such as some
|
|
1034
|
+
* third-party widgets.
|
|
1035
|
+
*
|
|
1036
|
+
* @attr row-recycling
|
|
1037
|
+
* @default true
|
|
1038
|
+
*/
|
|
1039
|
+
get rowRecycling(): boolean;
|
|
1040
|
+
set rowRecycling(value: boolean);
|
|
934
1041
|
/**
|
|
935
1042
|
* Inline editing configuration for the grid.
|
|
936
1043
|
*
|
|
@@ -951,13 +1058,14 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
951
1058
|
* @remarks
|
|
952
1059
|
* Selection is disabled by default. Set `enabled: true` and (optionally)
|
|
953
1060
|
* `mode` (`'single' | 'multiple'`) and `showCheckboxColumn` to opt in.
|
|
1061
|
+
* `isRowSelectable` keeps chosen rows (a pinned total row) out of it.
|
|
954
1062
|
*
|
|
955
1063
|
* @example
|
|
956
1064
|
* ```ts
|
|
957
1065
|
* grid.selection = { enabled: true, mode: 'multiple', showCheckboxColumn: true };
|
|
958
1066
|
* ```
|
|
959
1067
|
*/
|
|
960
|
-
selection?: GridSelectionConfiguration
|
|
1068
|
+
selection?: GridSelectionConfiguration<T>;
|
|
961
1069
|
/**
|
|
962
1070
|
* The currently selected rows, in insertion order.
|
|
963
1071
|
*
|
|
@@ -974,7 +1082,8 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
974
1082
|
* adding to it in `'multiple'` mode.
|
|
975
1083
|
*
|
|
976
1084
|
* @returns `true` if the selection changed, `false` if the change was
|
|
977
|
-
* rejected by a `rowSelecting` listener
|
|
1085
|
+
* rejected by a `rowSelecting` listener, the row is not selectable
|
|
1086
|
+
* (`selection.isRowSelectable`) or selection is disabled.
|
|
978
1087
|
*/
|
|
979
1088
|
selectRow(row: T): Promise<boolean>;
|
|
980
1089
|
/**
|
|
@@ -986,8 +1095,8 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
986
1095
|
*/
|
|
987
1096
|
toggleRowSelection(row: T): Promise<boolean>;
|
|
988
1097
|
/**
|
|
989
|
-
* Selects every row in the current view ({@link dataView}).
|
|
990
|
-
* `'single'` selection mode.
|
|
1098
|
+
* Selects every selectable row in the current view ({@link dataView}).
|
|
1099
|
+
* No-op in `'single'` selection mode.
|
|
991
1100
|
*/
|
|
992
1101
|
selectAllRows(): Promise<boolean>;
|
|
993
1102
|
/**
|
|
@@ -1061,6 +1170,25 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1061
1170
|
* stay `true` by default.
|
|
1062
1171
|
*/
|
|
1063
1172
|
columnMenu: boolean;
|
|
1173
|
+
/**
|
|
1174
|
+
* Whether the column header rows are shown. On by default. Set to `false`
|
|
1175
|
+
* (or the `show-header="false"` attribute) for a compact table, such as a
|
|
1176
|
+
* short dashboard tile, where the rows get the header's room.
|
|
1177
|
+
*
|
|
1178
|
+
* @remarks
|
|
1179
|
+
* Hidden headers take no space, paint nothing and take no pointer, and the
|
|
1180
|
+
* built-in header controls leave the tab order, so resizing, the column
|
|
1181
|
+
* menu, drag reorder and the filter panel are unavailable until the header
|
|
1182
|
+
* returns (an open column menu closes). A focusable control rendered by a
|
|
1183
|
+
* `headerTemplate` stays in the tab order: give it `tabindex="-1"` while
|
|
1184
|
+
* the header is hidden. The column header row
|
|
1185
|
+
* stays in the accessibility tree, so screen readers still announce the
|
|
1186
|
+
* column names, and `aria-rowcount` / `aria-rowindex` do not change. Sort,
|
|
1187
|
+
* filter, column widths and the page are kept.
|
|
1188
|
+
*
|
|
1189
|
+
* @attr show-header
|
|
1190
|
+
*/
|
|
1191
|
+
showHeader: boolean;
|
|
1064
1192
|
/**
|
|
1065
1193
|
* Column groups rendered as spanning headers above the column header row.
|
|
1066
1194
|
*
|
|
@@ -1165,16 +1293,24 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1165
1293
|
isTreeRowExpanded(row: T): boolean;
|
|
1166
1294
|
/**
|
|
1167
1295
|
* Set the sort state for the grid.
|
|
1296
|
+
*
|
|
1297
|
+
* @remarks
|
|
1298
|
+
* Replaces the current sort; `[]`, `null` or `undefined` clears it. Applied
|
|
1299
|
+
* at the next update, against the columns as they are then.
|
|
1168
1300
|
*/
|
|
1169
|
-
set sortExpressions(expressions: SortExpression<T>[]);
|
|
1301
|
+
set sortExpressions(expressions: SortExpression<T>[] | null | undefined);
|
|
1170
1302
|
/**
|
|
1171
1303
|
* Get the sort state for the grid.
|
|
1172
1304
|
*/
|
|
1173
1305
|
get sortExpressions(): SortExpression<T>[];
|
|
1174
1306
|
/**
|
|
1175
1307
|
* Set the filter state for the grid.
|
|
1308
|
+
*
|
|
1309
|
+
* @remarks
|
|
1310
|
+
* Replaces the current filter; `[]`, `null` or `undefined` clears it. Applied
|
|
1311
|
+
* at the next update, against the columns as they are then.
|
|
1176
1312
|
*/
|
|
1177
|
-
set filterExpressions(expressions: FilterExpression<T>[]);
|
|
1313
|
+
set filterExpressions(expressions: FilterExpression<T>[] | null | undefined);
|
|
1178
1314
|
/**
|
|
1179
1315
|
* Get the filter state for the grid.
|
|
1180
1316
|
*/
|
|
@@ -1184,7 +1320,9 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1184
1320
|
*
|
|
1185
1321
|
* @remarks
|
|
1186
1322
|
* Since the grid has virtualization, this property returns only the currently rendered
|
|
1187
|
-
* chunk of elements in the DOM.
|
|
1323
|
+
* chunk of elements in the DOM. With `rowRecycling` on (the default) an element can
|
|
1324
|
+
* show another record after a scroll, sort or filter; read its `data` each time
|
|
1325
|
+
* rather than keeping the element as a handle to a record.
|
|
1188
1326
|
*/
|
|
1189
1327
|
get rows(): ApexGridRow<T>[];
|
|
1190
1328
|
/**
|
|
@@ -1200,30 +1338,49 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1200
1338
|
* Use this when you need to iterate the columns in the same order the grid
|
|
1201
1339
|
* actually displays them (for example to build a column chooser). Public APIs
|
|
1202
1340
|
* like {@link ApexGrid.getColumn} continue to operate on the user-supplied
|
|
1203
|
-
* {@link ApexGrid.columns} array.
|
|
1341
|
+
* {@link ApexGrid.columns} array. Each read builds a new array, so read it
|
|
1342
|
+
* once and keep the result rather than reading it inside a loop.
|
|
1204
1343
|
*/
|
|
1205
1344
|
get displayColumns(): ReadonlyArray<ColumnConfiguration<T>>;
|
|
1206
1345
|
/**
|
|
1207
|
-
* The
|
|
1346
|
+
* The post-filter, post-sort row count. With pagination enabled it counts
|
|
1347
|
+
* the rows paged through, so rows pinned to the top or bottom (they show on
|
|
1348
|
+
* every page) are left out. In `'remote'` pagination mode, the
|
|
1349
|
+
* `pagination.totalItems` you supplied (the rows the server holds for the
|
|
1350
|
+
* current filter).
|
|
1208
1351
|
*
|
|
1209
1352
|
* @remarks
|
|
1210
|
-
*
|
|
1211
|
-
*
|
|
1353
|
+
* The current page does not change it. Use {@link ApexGrid.pageItems} to read
|
|
1354
|
+
* the rows currently rendered into the body.
|
|
1212
1355
|
*/
|
|
1213
1356
|
get totalItems(): number;
|
|
1357
|
+
/**
|
|
1358
|
+
* The rows the body pages through: {@link ApexGrid.dataView} without the
|
|
1359
|
+
* pinned rows, which render in their own sticky bands on every page. The
|
|
1360
|
+
* page slice and the page count both read it, so they always agree.
|
|
1361
|
+
*/
|
|
1362
|
+
protected get bodyRows(): ReadonlyArray<T>;
|
|
1214
1363
|
/**
|
|
1215
1364
|
* The records currently rendered into the virtualized body.
|
|
1216
1365
|
*
|
|
1217
1366
|
* @remarks
|
|
1218
|
-
* Equal to {@link ApexGrid.dataView}
|
|
1219
|
-
* enabled (`'local'` mode) this is the active page slice.
|
|
1367
|
+
* Equal to {@link ApexGrid.dataView} without the pinned rows when pagination is
|
|
1368
|
+
* disabled. With pagination enabled (`'local'` mode) this is the active page slice.
|
|
1220
1369
|
*/
|
|
1221
1370
|
get pageItems(): ReadonlyArray<T>;
|
|
1222
1371
|
/**
|
|
1223
1372
|
* The current zero-based page index.
|
|
1373
|
+
*
|
|
1374
|
+
* @remarks
|
|
1375
|
+
* Navigates like {@link ApexGrid.gotoPage}, with the cancellable
|
|
1376
|
+
* `pageChanging` and the `pageChanged` events. Assigned before the first
|
|
1377
|
+
* render, or while a data, filter or quick filter change has yet to render,
|
|
1378
|
+
* the page is kept as given and clamped once the view settles, without those
|
|
1379
|
+
* events.
|
|
1224
1380
|
*/
|
|
1225
1381
|
get page(): number;
|
|
1226
1382
|
set page(value: number);
|
|
1383
|
+
requestUpdate(name?: PropertyKey, oldValue?: unknown, options?: PropertyDeclaration, useNewValue?: boolean, newValue?: unknown): void;
|
|
1227
1384
|
/**
|
|
1228
1385
|
* The current page size.
|
|
1229
1386
|
*/
|
|
@@ -1234,13 +1391,34 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1234
1391
|
*/
|
|
1235
1392
|
get pageCount(): number;
|
|
1236
1393
|
protected watchColumns(_: ColumnConfiguration<T>[], newConfig?: ColumnConfiguration<T>[]): void;
|
|
1394
|
+
/**
|
|
1395
|
+
* The records undo history, the manual row order and row pins may still
|
|
1396
|
+
* name after {@link ApexGrid.data} changes; anything naming another record is
|
|
1397
|
+
* dropped. Defaults to `data`. A row model that writes only part of a larger
|
|
1398
|
+
* record set into `data` (rows under a collapsed group leave `data` but stay
|
|
1399
|
+
* cached and come back as the same objects) overrides this to also yield the
|
|
1400
|
+
* records it keeps, so a collapse does not wipe them. Read only while there
|
|
1401
|
+
* is history, a manual order or a pin to reconcile.
|
|
1402
|
+
*/
|
|
1403
|
+
protected historyRecords(): Iterable<T>;
|
|
1237
1404
|
protected dataChanged(): void;
|
|
1238
|
-
protected pipeline(): Promise<void>;
|
|
1239
1405
|
protected paginationChanged(): void;
|
|
1240
1406
|
protected quickFilterChanged(): void;
|
|
1407
|
+
/** The first render shapes the tree in dataChanged; later changes rebuild it. */
|
|
1408
|
+
protected treeChanged(previous?: GridTreeConfiguration<T>): void;
|
|
1409
|
+
protected pipeline(): Promise<void>;
|
|
1410
|
+
/**
|
|
1411
|
+
* Resolves once the pending update, the pipeline runs it started and the
|
|
1412
|
+
* render of their result have settled. Events that report the new view
|
|
1413
|
+
* (`sorted`, `filtered`, `pageChanged`, `quickFilterChanged`) await this,
|
|
1414
|
+
* so with an async pipeline hook they fire after the rows changed.
|
|
1415
|
+
*/
|
|
1416
|
+
protected pipelineSettled(): Promise<void>;
|
|
1417
|
+
protected willUpdate(changed: Map<PropertyKey, unknown>): void;
|
|
1241
1418
|
protected updated(): void;
|
|
1242
1419
|
addEventListener<K extends keyof M, M extends ApexGridEventMap<T> & HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: M[K]) => unknown, options?: boolean | AddEventListenerOptions): void;
|
|
1243
1420
|
removeEventListener<K extends keyof M, M extends ApexGridEventMap<T> & HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: M[K]) => unknown, options?: boolean | EventListenerOptions): void;
|
|
1421
|
+
connectedCallback(): void;
|
|
1244
1422
|
protected firstUpdated(): void;
|
|
1245
1423
|
/**
|
|
1246
1424
|
* Performs a filter operation in the grid based on the passed expression(s).
|
|
@@ -1357,7 +1535,7 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1357
1535
|
/**
|
|
1358
1536
|
* Applies a new quick-filter (global search) value, emitting the cancellable
|
|
1359
1537
|
* `quickFilterChanging` event first and the `quickFilterChanged` event after the
|
|
1360
|
-
* pipeline has run.
|
|
1538
|
+
* pipeline has run. Moving back to the first page fires `pageChanged` too.
|
|
1361
1539
|
*
|
|
1362
1540
|
* @param value - The new quick-filter value. Pass `''` to clear.
|
|
1363
1541
|
* @returns `true` if the change was applied, `false` if cancelled or a no-op.
|
|
@@ -1409,7 +1587,9 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1409
1587
|
*/
|
|
1410
1588
|
unpinColumn(key: Keys<T>): Promise<boolean>;
|
|
1411
1589
|
/**
|
|
1412
|
-
* The cell currently in edit mode, or `null`.
|
|
1590
|
+
* The cell currently in edit mode, or `null`. `rowIndex` is view-relative
|
|
1591
|
+
* (matches {@link ApexGrid.pageItems}), or -1 when the edited record is
|
|
1592
|
+
* pinned or on another page.
|
|
1413
1593
|
*/
|
|
1414
1594
|
get editingCell(): {
|
|
1415
1595
|
rowIndex: number;
|
|
@@ -1417,7 +1597,8 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1417
1597
|
} | null;
|
|
1418
1598
|
/**
|
|
1419
1599
|
* The view-relative index of the row currently in edit mode (row edit mode
|
|
1420
|
-
* only), or `null`.
|
|
1600
|
+
* only), or `null`. It is -1 when the edited record is pinned or on another
|
|
1601
|
+
* page.
|
|
1421
1602
|
*/
|
|
1422
1603
|
get editingRow(): number | null;
|
|
1423
1604
|
/**
|
|
@@ -1458,11 +1639,19 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1458
1639
|
* point: a thousand `editCell` round-trips would be a thousand entries in the
|
|
1459
1640
|
* undo stack and a thousand re-renders.
|
|
1460
1641
|
*
|
|
1461
|
-
*
|
|
1462
|
-
*
|
|
1463
|
-
*
|
|
1464
|
-
*
|
|
1465
|
-
*
|
|
1642
|
+
* Name each target cell's row in one of two ways. `rowIndex` is
|
|
1643
|
+
* view-relative and matches {@link ApexGrid.pageItems}, the same as
|
|
1644
|
+
* {@link editCell}, so it reaches the current page only. `row` is the record
|
|
1645
|
+
* itself (a live reference into {@link ApexGrid.data}), which also reaches
|
|
1646
|
+
* rows on other pages, pinned rows and rows under a collapsed tree parent;
|
|
1647
|
+
* their events and validators see `rowIndex` -1. A `rowIndex` must be a
|
|
1648
|
+
* whole number from 0 to `pageItems.length - 1`. Edits naming an unknown
|
|
1649
|
+
* column, any other row index (negative, fractional or past the end of the
|
|
1650
|
+
* page), a row a feature synthesized (a group header, a total, a row a
|
|
1651
|
+
* server has not sent yet), or a column the user could not edit
|
|
1652
|
+
* either (editing off, not `editable`, or hidden: the same gate interactive
|
|
1653
|
+
* editing uses) are skipped rather than throwing, so a partially-stale batch
|
|
1654
|
+
* still applies what it can.
|
|
1466
1655
|
*
|
|
1467
1656
|
* @param edits Cells to write. Order is preserved, so later edits to the same
|
|
1468
1657
|
* cell win.
|
|
@@ -1470,22 +1659,21 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1470
1659
|
* changed; `unchanged`, `invalid` and `cancelled` explain the rest, so a caller
|
|
1471
1660
|
* can tell a rejected batch from a no-op one.
|
|
1472
1661
|
*
|
|
1473
|
-
* @example Bulk-clear a column for the rows the user selected
|
|
1662
|
+
* @example Bulk-clear a column for the rows the user selected, on any page
|
|
1474
1663
|
* ```ts
|
|
1475
|
-
* grid.applyEdits(
|
|
1476
|
-
* grid.selectedRows.map((row) => ({
|
|
1477
|
-
* rowIndex: grid.pageItems.indexOf(row),
|
|
1478
|
-
* column: 'discount',
|
|
1479
|
-
* value: 0,
|
|
1480
|
-
* }))
|
|
1481
|
-
* );
|
|
1664
|
+
* grid.applyEdits(grid.selectedRows.map((row) => ({ row, column: 'discount', value: 0 })));
|
|
1482
1665
|
* ```
|
|
1483
1666
|
*/
|
|
1484
1667
|
applyEdits(edits: ReadonlyArray<{
|
|
1485
|
-
rowIndex: number;
|
|
1486
1668
|
column: Keys<T>;
|
|
1487
1669
|
value: unknown;
|
|
1488
|
-
}
|
|
1670
|
+
} & ({
|
|
1671
|
+
rowIndex: number;
|
|
1672
|
+
row?: never;
|
|
1673
|
+
} | {
|
|
1674
|
+
row: T;
|
|
1675
|
+
rowIndex?: never;
|
|
1676
|
+
})>): {
|
|
1489
1677
|
applied: number;
|
|
1490
1678
|
unchanged: number;
|
|
1491
1679
|
invalid: number;
|
|
@@ -1554,12 +1742,13 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1554
1742
|
* {@link ApexGrid.pageItems}.
|
|
1555
1743
|
*
|
|
1556
1744
|
* @remarks
|
|
1557
|
-
* Requires `rowReordering.enabled`. Establishes a manual order
|
|
1558
|
-
*
|
|
1559
|
-
* event, emits `rowMoved`, and animates the affected
|
|
1745
|
+
* Requires `rowReordering.enabled`. Establishes a manual order and clears
|
|
1746
|
+
* any column sort (the two are mutually exclusive), goes through the
|
|
1747
|
+
* cancellable `rowMoving` event, emits `rowMoved`, and animates the affected
|
|
1748
|
+
* rows. Rows hidden by a filter keep their place in the order.
|
|
1560
1749
|
*
|
|
1561
|
-
* @returns `true` when applied, `false` when disabled, out of range,
|
|
1562
|
-
* cancelled.
|
|
1750
|
+
* @returns `true` when applied, `false` when disabled, out of range, a no-op
|
|
1751
|
+
* (the row would land where it already is), or cancelled.
|
|
1563
1752
|
*/
|
|
1564
1753
|
moveRow(from: number, to: number, position?: RowDropPosition): boolean;
|
|
1565
1754
|
/**
|
|
@@ -1631,13 +1820,38 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1631
1820
|
* ```
|
|
1632
1821
|
*/
|
|
1633
1822
|
moveColumn(fromKey: Keys<T>, toKey: Keys<T>, position?: ColumnDropPosition): Promise<boolean>;
|
|
1823
|
+
/**
|
|
1824
|
+
* Whether `event` belongs to this grid, rather than to a grid nested inside
|
|
1825
|
+
* it (the grid in a master-detail panel renders inside one of this grid's
|
|
1826
|
+
* rows, so its events cross this grid's body on their way out). The first
|
|
1827
|
+
* grid, or grid body, on the composed path from the event origin outward is
|
|
1828
|
+
* the one that owns it.
|
|
1829
|
+
*
|
|
1830
|
+
* @param event - an event that reached this grid.
|
|
1831
|
+
*/
|
|
1832
|
+
ownsEvent(event: Event): boolean;
|
|
1833
|
+
/**
|
|
1834
|
+
* The virtualizer is about to re-render a new range of rows. When the row
|
|
1835
|
+
* holding focus leaves it, its cell is removed and focus would fall to the
|
|
1836
|
+
* document, so the scroll container takes focus first and the keyboard
|
|
1837
|
+
* keeps working from the active cell.
|
|
1838
|
+
*/
|
|
1839
|
+
protected bodyRangeChanged(event: Event): void;
|
|
1634
1840
|
protected bodyClickHandler(event: MouseEvent): void;
|
|
1635
1841
|
protected bodyKeydownHandler(event: KeyboardEvent): void;
|
|
1636
1842
|
/**
|
|
1637
1843
|
* Tabbing into the grid body lands on the scroll container; forward focus to
|
|
1638
1844
|
* the active cell (when one exists) so the roving tab stop is honored.
|
|
1845
|
+
* Also tells navigation whether this body, not a grid nested in it, now
|
|
1846
|
+
* holds focus.
|
|
1639
1847
|
*/
|
|
1640
1848
|
protected bodyFocusHandler(event: FocusEvent): void;
|
|
1849
|
+
/**
|
|
1850
|
+
* Focus left something in the body; see {@link NavigationController.focusLeft}.
|
|
1851
|
+
* Captured, so the body stops owning focus before a handler further down
|
|
1852
|
+
* (an editor committing on focus loss) runs and lets queued work see it.
|
|
1853
|
+
*/
|
|
1854
|
+
protected bodyFocusOutHandler(event: FocusEvent): void;
|
|
1641
1855
|
/**
|
|
1642
1856
|
* Forwards body-cell pointer interactions (press / drag-over / release) to
|
|
1643
1857
|
* feature modules via {@link StateController.handleCellInteraction}. Gated on
|
|
@@ -1647,10 +1861,12 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1647
1861
|
*/
|
|
1648
1862
|
protected bodyPointerHandler(event: PointerEvent): void;
|
|
1649
1863
|
protected renderGroupHeaderRow(): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
1864
|
+
/**
|
|
1865
|
+
* With {@link ApexGrid.showHeader} off the header rows stay in the DOM,
|
|
1866
|
+
* visually hidden, so assistive technology keeps the column names.
|
|
1867
|
+
*/
|
|
1650
1868
|
protected renderHeaderRow(): import("lit-html").TemplateResult<1>;
|
|
1651
1869
|
protected renderBody(): import("lit-html").TemplateResult<1>;
|
|
1652
|
-
/** Number of chrome rows above the body (group header + header + optional filter). */
|
|
1653
|
-
protected get headerRowCount(): number;
|
|
1654
1870
|
protected renderPinnedTop(): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
1655
1871
|
protected renderPinnedBottom(): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
1656
1872
|
protected renderFilterRow(): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
@@ -1663,6 +1879,13 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1663
1879
|
* don't have to coordinate consumer DOM placement.
|
|
1664
1880
|
*/
|
|
1665
1881
|
protected renderLiveRegion(): import("lit-html").TemplateResult<1>;
|
|
1882
|
+
/**
|
|
1883
|
+
* Floating "ghost" of the column header being dragged for reorder. Rendered
|
|
1884
|
+
* here, next to the row ghost, rather than in the header row: a fixed
|
|
1885
|
+
* element still paints inside its parent's stacking context, so inside the
|
|
1886
|
+
* header row it slid under the group header row and the pinned-top band.
|
|
1887
|
+
*/
|
|
1888
|
+
protected renderColumnDragGhost(): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
1666
1889
|
/**
|
|
1667
1890
|
* Floating "ghost" of the row being pointer-dragged for reorder. Rendered at
|
|
1668
1891
|
* the top of the shadow tree (outside the virtualizer) so its `position: fixed`
|
|
@@ -1670,6 +1893,15 @@ export declare class ApexGrid<T extends object> extends EventEmitterBase<ApexGri
|
|
|
1670
1893
|
* time so it mirrors the row's visible content and column widths.
|
|
1671
1894
|
*/
|
|
1672
1895
|
protected renderRowDragGhost(): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
1896
|
+
/**
|
|
1897
|
+
* The element with the `grid` (or `treegrid`) role and the table semantics.
|
|
1898
|
+
* It owns only rows: the header rows, the pinned bands and the body. The
|
|
1899
|
+
* toolbar, filter panel, paginator and live region stay outside it. The
|
|
1900
|
+
* host's own `aria-label`, `aria-labelledby` and `aria-describedby` name it:
|
|
1901
|
+
* referenced elements go through element reflection where the browser has
|
|
1902
|
+
* it, and their text is copied where it does not.
|
|
1903
|
+
*/
|
|
1904
|
+
protected renderTable(): import("lit-html").TemplateResult<1>;
|
|
1673
1905
|
protected render(): import("lit-html").TemplateResult<1>;
|
|
1674
1906
|
/**
|
|
1675
1907
|
* Sets the live region's announcement text. Screen readers configured to
|