The last "expand / collapse all" state – the header icon toggles it.
Protected areaProtected areaProtected areaProtected areaProtected areaProtected areaProtected areaProtected areaProtected areaProtected areaProtected areaProtected areaProtected Optional areaArea heights read once at the start of adjustAfterScrolling() (before the DOM is modified).
Readonly ariaThe IDs this table uses for ARIA references (prefix from the host id).
1.1.91
Readonly ariaTexts for screen readers (English defaults + tableOptions.ariaTexts).
1.1.91
Optional batchBatch edit of this table (pending values, shown in the cells) – created by TableScope.
1.1.96
Protected borderProtected borderProtected borderProtected borderOptional cellExcel-style editing of this table (the editor above the cell) – created by TableScope with
tableOptions.editing.
1.1.99
Protected Readonly cleanupOptional clipboardCopy, cut and paste: with the option keys and events, otherwise created for the API.
1.1.99
Protected colProtected contentProtected contentContent pixels scrolled out at the top, i.e. the offset that is actually rendered (see adjustBody).
Protected contentReadonly copyProtected Optional debounceReadonly directionThe resolved writing direction of the table (TableOptionsIf.direction; "auto" is decided when the table
is built).
1.1.98
Protected Readonly domProtected draggingProtected draggingProtected draggingProtected editingProtected Readonly eventReadonly excelOptional fillFill handle of this table – created by TableScope.
1.1.96
Protected Optional getProtected Optional getProtected Optional headerThe header cell with the keyboard focus (row, column of the cell's origin) – set by the arrow-up key in the
first body row, see TableScope. undefined: the focus is in the body (FocusModelIf).
Readonly hostProtected hoverProtected hoverProtected Optional keyReadonly listenerSignal for all DOM listeners of this table (host element, scroll viewport, window). destroy aborts it, which removes every listener at once.
Readonly liveThe live region of this table: screen readers speak its messages (sorting, filter, copy …). Use TableApi.announce for own messages.
1.1.91
Optional masterMaster/detail of this table (detail rows below master rows) – created by TableScope with
tableOptions.masterDetail.
1.1.97
Protected Optional mouseProtected Optional pendingExact content position requested by scrollToPixel() for a capped scroll height (see TableScope).
Optional rowRow drag of this table (drag handles, pointer and keyboard drag) – created by TableScope.
1.1.95
Protected scrollProtected scrollProtected scrollProtected scrollProtected scrollProtected selectionOptional shortcutThe key event the ShortcutService is handling right now (undefined for triggerAction).
1.1.99
Readonly stateCollects, applies, stores and reports the state of this table (column layout, sorting, scroll, tree, checked and selected rows …). Use TableApi.getState / TableApi.applyState.
1.1.92
Protected Optional storesince 1.1.92 – no longer used, see TableStateService.
Optional storesince 1.1.92 – always undefined; the state is kept by stateService.
Optional storesince 1.1.92 – always undefined; the state is kept by stateService.
Protected storedReadonly tableReadonly tableReadonly tableThe overlay layer over the body ("Loading…", "No rows to show").
1.1.92
Optional tableCell formulas of this table – created by TableScope with tableOptions.cellFormulas (flat bodies).
1.1.99
Protected treeOptional undoUndo and redo: records the changes of the write path (only with the option).
1.1.99
Static actionsKeyboard actions ignored while a blocking loading overlay is shown (OverlayOptionsIf.blockInteractionWhileLoading).
Static filterDelay of the "42 rows" announcement after a filter change (typing in a filter field: one announcement).
Static maxMaximum height (px) of the scrollable content wrapper. Taller tables are scrolled proportionally (rendering is based on the scroll factor anyway): browsers clamp element heights (Chrome ~33.5 million px) and GPU rasterization loses precision long before (1px borders disappear and text jitters beyond ~16.7 million px). 8 million px keep sub-pixel precision.
Protected addProtected adjustProtected Adjusts the layout and positioning of the specified area in the table. This method is used internally and should not be called directly.
The identifier of the area to adjust (e.g. header, body, footer).
Optional yStart: number = 0The starting y-position for the layout adjustments.
Protected adjustProtected adjustProtected Adjusts the columns to fit the width of the row's parent element.
The parameters for adjusting the columns.
Protected adjustProtected adjustAdjusts the dragging column during a mouse move event.
The mouse move event.
The index of the source column.
Indicates if it's the first rendering of the dragging column.
Protected adjustAdjusts the position and size of the hover column based on the mouse move event.
The mouse move event object.
Protected adjustAdjusts the position and size of the hover row based on the mouse move event.
The mouse move event.
Protected adjustFits the width of a leading row number column (RowNumberColumnDef) to its largest number. Cheap on every render pass: only the text of the largest number is compared; it is measured (canvas) only when it changed.
true if the width changed (the containers must be adjusted)
1.1.93
Protected afterCalled at the end of every render pass (scroll, repaint). TableScope marks the scroll position of the table state as changed here (stored and reported debounced, see TableStateService).
1.1.92
Called after rows were moved in the body model (row drag, TableApi.moveRows): drops derived values
(totals, „Show values as“) and forgets a sort function of tableApi.sort(fn) – the moved order wins.
The caller repaints.
1.1.95
Speaks a message to screen reader users (polite live region, see LiveAnnouncer).
plain text, e.g. "Orders loaded"
Optional delayInMs: numberwait before the text is written (default LiveAnnouncer.defaultDelayInMs)
1.1.91
Protected applyrole, aria-colindex, spans and aria-sort of a cell.
rowspan and colspan of the cell (≥ 1)
The one place that changes body cells (editor, fill handle, batch commit, TableApi.applyCellChanges):
skips cells that are not editable (editable, calculated columns without valueSetter, group/pivot rows),
applies editInputPipe and ColumnDefIf.validate, then writes – or, in a batch edit, marks the values as
pending. Writing reports one onModelChanged with all cells; derived values (totals, calculated columns) are
recomputed and the table repaints.
cells and values (column as index or property)
Optional source: CellChangeSource = 'api'reported in the event
Optional undoable?: booleanthe written (or, in a batch edit, newly pending) cells
1.1.96
Protected applyProtected Applies CSS classes to an HTML element.
The HTML element to which CSS classes will be applied.
An object containing CSS class names as keys and boolean values indicating whether to apply or remove the class.
Protected applyrole="row" and aria-rowindex; body rows of a tree: level, position, expanded; row selection: selected.
Sorts the body by the given items (first = primary key) and sets the header icons – used to apply a stored state. Does not repaint.
column index and sort state per sorted column; [] only clears the icons
1.1.92
Calculates a width per column that fits the widest text of header, body and footer.
The text is measured with the font and padding of a rendered cell label (canvas measureText),
so dates, numbers and long names are no longer cut off. To stay fast with millions of rows, the body
is scanned once by character length and only the longest candidates per column are measured.
Without a canvas (e.g. in tests) it falls back to 8 px per character.
one width in px per column (at least 50 px)
Closes the cell editor without changing the model (Escape in the editor).
Optional editor: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElementthe editor element: its value is reset first, so the blur caused by closing does not commit the typed text ("change" event)
Cancels a repaint scheduled by debounceRepaint.
true if a repaint was pending
Marks the scroll position as changed (it is stored with the table state, see TableStateService).
since 1.1.92 – the table does this after every render pass.
The message of the column's validate for a value that would be pasted, undefined if it is valid.
display row
model column
the value
true: without editInputPipe
the message
1.1.99
Clears body cells (Delete in Excel-style editing): editable cells get ColumnDef.emptyValue (default
EditingOptionsIf.emptyValue, ""), cells that are already empty are left alone; one onModelChanged with
the source "clear". Without ranges: the selected cells, or the focused cell.
Optional ranges: CellRange[]body ranges (display indices)
the number of cleared cells; -1 if more than maxClearCells
1.1.99
A client x coordinate (e.g. PointerEvent.clientX) as x in the host from the start of its padding box – the
coordinates in which the table positions everything (right-to-left: from the right edge).
x in client (viewport) coordinates
px from the start
1.1.98
Writes the value of the editor above the cell (Excel-style editing): into one cell, or – Ctrl/⌘+Enter – into several; batch edit: marks it. Used by CellEditorService.
display row and model column per cell
the editor value (it runs through editInputPipe and validate)
repaint after the current mouse click
what happened
Optional message?: string1.1.99
Triggers the context menu event based on the mouse move event.
The mouse move event object.
Creates a GeMouseEvent object based on a MouseEvent.
The MouseEvent object to create the GeMouseEvent from.
Protected debounceReleases the table: removes all DOM listeners (host element, scroll viewport, window resize), stops the resize observer, unregisters from the selection and focus model, calls the cleanup functions of all cell renderers and clears the host element.
Call it before you create a new TableScope for the same host element (e.g. when a framework
wrapper receives a new table model) or when the table is removed from the page.
Calling it twice is harmless.
const scope = new TableScope(hostDiv, tableModel, new SimpleDomService(), new TableOptions(), new EventAdapter());
scope.firstInit();
// later, e.g. when a new model arrives:
scope.destroy();
new TableScope(hostDiv, newTableModel, new SimpleDomService(), new TableOptions(), new EventAdapter()).firstInit();
Protected disposeCancels a pending debounced rendering and calls all renderer cleanup functions (e.g. unmounts framework components rendered into cells). Used by TableScope.destroy.
Protected drawProtected Draws big cells (rowspan and or colspan) in body/center
CellRange
X position in pixel for top left corner
Y position in pixel for top left corner
AreaModelIf
Parent div as HTMLDivElement
SideIdent (west,center,east)
Ensures that a column of the scrollable center area is fully visible by scrolling horizontally if necessary – the counterpart of ensureRowIsVisible. A column left of the viewport becomes the first visible column, a column right of it the last one (a column wider than the viewport: the first). The vertical position is kept.
Fixed west/east columns are always visible: nothing to do.
model column index (west + center + east)
true if the table was scrolled, false if the column was already visible (or is fixed / hidden / out of range)
tableScope.ensureColumnIsVisible(12);
Ensures that a specific row is visible in the viewport by scrolling if necessary. This method checks if the target row is within the currently visible range and adjusts the scroll position if it's not visible.
The method performs the following:
The index of the row to make visible
Returns true if scrolling was needed and performed, false if the row was already visible
// Ensure row 5 is visible in the viewport
tableScope.ensureRowIsVisible(5);
Implicitly may throw if rowIndex is not a number or if required properties are undefined
Fills cells next to a range (fill handle, Ctrl/⌘+D, TableApi.fillRange): computes the values (computeFillChanges, shown values – a batch edit's pending values count), writes them with applyCellChanges and selects source and filled cells.
the source range (body display indices)
down, up, right or left
rows or columns to fill (clamped to the table)
Optional mode: FillMode = 'auto'series or copy
Optional selectAfter: CellRangethe selection afterwards (default: source and filled cells)
the number of filled (or, in a batch edit, marked) cells; -1 if refused (too many cells)
1.1.96
Protected findProtected Finds the row index of an important rowspan cell in a given area model.
The area model to search in.
The current row index.
The current column index.
Initializes the table. Called by the table component.
This instance of the table scope.
firstInit
TableScope
Retrieves the focus model.
The focus model if it exists, or undefined otherwise.
Protected getProtected getProtected getRow and column numbers for screen readers of the current render pass (computed at its start).
the counts
1.1.91
Protected getThe width that % and weight columns share: host width minus the fixed west columns and a vertical scroll bar.
Optional hostWidth: number = ...the width of the host element (default: its current client width)
the width in px (0 if the host has no width yet, e.g. while it is hidden)
The body cell at a point in host coordinates, clamped to the body (a point above the body = row 0, right of the columns = the last column …) – computed, not read from the DOM.
x relative to the host's padding box
y relative to the host's padding box
row and column index, [-1, -1] without rows or columns
1.1.96
The rectangle of a body cell in host coordinates (relative to the padding box of the host) – computed from the
row and column positions, also for cells that are not rendered – and the visible part of its area (clip…: the
body between header and footer, horizontally the fixed west/east area or the scrollable center).
display index
model index
the geometry
1.1.96
Protected getThe height of all body rows in px – the model's content height plus, in RenderScope, the heights of open detail rows (master/detail).
px
1.1.97
The positions of the body rows: prefix sums of the row heights (O(log n) lookups also for variable heights) plus the heights of open detail rows. Built lazily – again after invalidateRowLayout, a new body model or another row count.
the layout of the body rows
1.1.97
The top of a body row in content pixels: AreaModelIf.getYPosByRowIndex plus the heights of the open detail rows above it (master/detail).
display index
px from the top of the first body row
1.1.97
The visible body in client (viewport) coordinates – including fixed west/east columns, without the scroll bar – and the content pixels scrolled out at its top. Row drag computes the row under the pointer with it.
the geometry
1.1.95
The input of a body cell – what was typed: the formula text of a cell formula ("=B2*C2"), otherwise the value
(AreaModelIf.getInputValueAt). Editor, undo and the batch edit use it.
display row
model column
the input
1.1.99
Protected getName of a row checkbox: "Select row 5" (body) resp. "Select all rows" (header).
The clipboard service for the API (TableApi.pasteText, TableApi.getSelectionAsText): the one of the option, otherwise one with the defaults that does not listen to keys or events.
the service
1.1.99
Protected getThe x position of a column relative to the host element: fixed west and east columns do not scroll.
model index of the column
x position of the column over all columns (getXPosByColumnIndex)
the left position in px
Protected getRetrieves the column widths of a table within a specified range.
The index of the first column to retrieve the width of.
The index of the last column to retrieve the width of.
An array containing the widths of the columns within the specified range.
Protected getProtected getThe DOM service of this table (all DOM access of the table goes through it).
the service
1.1.95
The texts of fill and batch edit with defaults (an own AriaTextsIf implementation may lack them).
the texts
1.1.96
The options of Excel-style editing (TableOptionsIf.editing), undefined if it is off.
complete options
1.1.99
The event listener of this table (the one given to the constructor, or an empty EventAdapter).
the listener
1.1.95
The options of the fill handle, undefined if it is off (TableOptionsIf.fillHandle).
complete options
1.1.96
Index of the first column that is not a row number column: 1 behind a RowNumberColumnDef, otherwise 0.
The checkbox of showCheckboxWihoutExtraColumn and the tree arrow are bound to it.
0 or 1
1.1.93
The element a mouse event belongs to – usually evt.target. The scroll viewport lies above the footer areas (its
horizontal scroll bar must stay usable), so a mouse event on a footer cell arrives at the viewport: then the footer
element below the mouse pointer is returned (not on the scroll bar itself).
a mouse event on the host element
the target element
Protected getProtected Returns a number value extracted from the specified attribute of the source element.
The source element from which to extract the attribute value.
The attribute key to extract the value from.
The overlay shown now (see TableApi.getOverlayState).
1.1.92
Protected getRetrieves the heights of rows within a specified range.
The index of the first row in the range.
The index of the last row in the range.
The area model.
Protected getThe horizontal scroll position (scrollLeft of the scroll viewport) that shows a column as the first column of
the scrollable center area, clamped to the scroll range.
A fixed west column returns 0 (start); fixed east columns and indices outside the columns return the current position.
model column index (west + center + east)
scrollLeft in scroll bar pixels
Protected getScroll bar pixels per content pixel: 1, below 1 for a capped scroll height (isScrollHeightCapped).
the factor for scrollTop changes
1.1.95
The selected body cells (shown columns, inside the table) – undefined if there are more than maxCells.
upper limit
row and column per cell; none without selection
1.1.99
The texts of Excel-style editing (own functions of tableOptions.ariaTexts, otherwise English).
1.1.99
Shortcut layers of switched-on features, applied over the system mapping (see ShortcutService).
macOS keys
the layers (none without Excel-style editing)
1.1.99
The value a body cell shows: a pending value of a batch edit, otherwise the model value – with cell formulas the input (getCellInput: the formula text for the editor).
display row index
model column index
the value
1.1.99
Protected getProtected Retrieves the value of the specified attribute from the nearest ancestor element that has the attribute.
The source element from which to start searching for the nearest ancestor element.
The name of the attribute to retrieve.
The value of the specified attribute, or an empty string if the attribute is not found.
Protected getThe value of a body cell to choose an editor or convert pasted text by: the result of a formula cell (a number stays a number when overwritten), otherwise getShownCellValue.
display row
model column
the value
1.1.99
The options of undo and redo (TableOptionsIf.undo), undefined if it is off.
1.1.99
The texts of undo and redo (own functions of tableOptions.ariaTexts, otherwise English).
1.1.99
Protected hasTrue if there is a shown column (no row number column) next to columnIndex in that direction – Tab uses it:
in the last column it leaves the table.
model column index
1 or -1
true if Tab can move
1.1.99
Protected hideProtected hideProtected hideEnds an overlay shown by the API (see TableApi.hideOverlay).
1.1.92
Runs fn and reports all selection changes made in it as ONE onSelectionChanged event (a click used to fire
up to three: clear(), adding the new range and the selection service itself).
code that changes the selection model
Protected initDrops cached, derived values of the area models (AreaModelIf.invalidateDerivedValues, e.g. the totals of an
AreaModelAggregateFooter) – called where data may have changed (filter, sorting, editing, updateCells,
the public tableApi.repaint() / repaintHard()), not on scrolling.
Optional change: DerivedValuesChangeIfthe changed rows of an edit or updateCells() (models may recompute less)
1.1.94
Protected isReturns true once destroy has been called.
True if a DOM event comes from a detail row (master/detail) – e.g. from a nested table. The mouse, keyboard and pointer handlers of this table ignore such events.
an event while it is dispatched
whether it comes from the detail layer
1.1.97
Whether the table runs from right to left (TableOptionsIf.direction).
true for "rtl" (also a resolved "auto")
1.1.98
True if the table content is taller than EleScope.maxScrollHeightInPx; then the scroll bar is scaled and scrollTop is no longer a content pixel position.
Protected measureWidth in px of a row number text: with the font and padding of a rendered number cell label; before the first
number cell exists with the font of the host and 6 px padding on each side (then approximate is true).
Digits are measured as "0" (tabular figures: all digits are as wide as the widest).
the width and whether it is approximate
Handles the end of mouse dragging event on a frame.
The mouse event object.
Handles mouse dragging on the frame.
The mouse event object.
Handles the mouse move event.
The mouse move event object.
Moves the keyboard focus from a cell by rows/columns (Excel-style editing: Enter, Tab and arrow keys after
committing); the selection follows with collapseSelectionOnNavigate.
start row
start column
rows
columns (hidden columns are skipped)
true if a focus model exists
1.1.99
Triggers an action based on the provided actionId.
This function can be invoked manually via the table API or by keyboard shortcuts.
The identifier of the action to be triggered.
Called by MasterDetailService after a detail row with detailHeight: "auto" got a new height: new scroll
height and repaint (the rows below move).
1.1.97
Called by MasterDetailService after detail rows were expanded or collapsed: new row positions and scroll height, repaint, event, announcement, table state.
the master row (undefined for several rows)
its display index (-1 for several rows or a row that is not shown)
the new state
what changed it
Optional emit: boolean = truefalse: no event (several rows at once)
Optional layoutUpdated: boolean = falsetrue: the row layout was already updated for this one row
1.1.97
Handle mouse click events.
The mouse click event.
The previous mouse click event, if any.
Handles the mouse down event.
The mouse event object.
Protected onScreen readers: aria-busy while loading, the loading text is spoken; "no rows" is spoken when it appears
after the start (not for the initially empty table). "No matching rows" is not spoken: the filter
announcement (AriaTextsIf.filtered) already says it.
Protected reapplyProtected removeRemoves the ARIA attributes the table has set on the host element (see initHostAria).
1.1.91
Protected renderRenders the content of a dragging column.
The geographic data of the column.
The y-coordinate of the rendered content.
Protected renderProtected rerenderRerenders the content of a table cell based on the given parameters.
Protected rerenderAfter updateCells() without a repaint: draws the rendered cells of a footer with cached totals again (only if the
footer implements AreaModelIf.invalidateDerivedValues, and not if the events changed the footer itself).
Protected rerenderProtected resetResolves a formula copied inside the table for a target cell: its relative references move (Excel); a target without formulas gets the copied value. A cut formula moves unchanged.
a pasted value (maybe a CopiedFormula)
display row of the target
model column of the target
true: the formula moves (cut and paste)
the value to write
1.1.99
Protected restoreScrolls to a column and a row: the row becomes the first row of the viewport, the column the first column of the scrollable center area (as far as the scroll range allows).
A fixed west column scrolls back to the start (x = 0, like before columns were supported). A fixed east column,
-1 or any other index outside the column range keeps the current horizontal position.
The column index (model index over west + center + east), -1 = keep the horizontal position.
The row index of the body.
Selects a body range (after pasting): its first cell becomes the active cell and the anchor.
display rows, model columns
1.1.99
Retrieves the selection model.
The selection model if available, otherwise undefined.
Sets the height of the detail row behind one body row in the current row layout without building it again (a detail row was expanded or collapsed). Does nothing if the layout is outdated anyway.
display index of the master row
the detail height, 0 = none
true if the layout was updated, false if it is outdated (it is built again on the next access)
1.1.97
Shows or hides a column and repaints (see TableApi.setColumnVisible).
column index, property or column definition
false hides the column
false if the column has no column definition (or the table model can't hide columns)
Expands or collapses the detail row of a master row (see TableApi.setDetailExpanded).
display index or row object
the new state
Optional source: GeDetailEventSource = 'api'what changed it
false if nothing changed
1.1.97
Remembers the text of the open in-cell editor (called on every input, see InputHandler) so that a repaint keeps it.
display row index of the edited cell
model column index
the editor element
1.1.99
Shows or hides the footer and repaints (see TableApi.setFooterVisible).
false hides the footer
Collapses or expands a header group by its id (TableApi.setHeaderGroupCollapsed).
CellGroupIf.id or the path of the labels, e.g. "Customer"
true = collapse
false if the header has no such group
1.1.92
Shows or hides the header and repaints (see TableApi.setHeaderVisible).
false hides the header
Protected setSets (or with undefined removes) an ARIA attribute of the host and remembers the app's own value the first
time, so that removeHostAria can restore it (e.g. an aria-label the app set on an Angular host).
1.1.91
Sets aria-keyshortcuts of the host (the fill handle's keyboard alternative); removed again by destroy.
e.g. "Control+D Control+R"; undefined restores the value before
1.1.96
Pivots a pivot table again (see TableApi.setPivotConfig): new columns, header and totals in the same model, then the layout of the table is built again. Sorting and selection are reset (the columns are different).
the changed parts of the configuration
Optional rows: unknown[]new source rows
false if the table model is no pivot table
1.1.94
Protected setWrites a value without the column's editInputPipe (values copied inside the table are already converted – a pipe
that expects text could break them). All area models apply the pipe in setValue, so it is left out for the call.
Groups the rows of a row grouping by other levels (see TableApi.setRowGroupBy).
the new levels, top first
false if the body is no row grouping
Sets the selection model for the table.
The selection model to be set.
Optional parameter indicating whether to rerender the table after setting the selection model. Default value is false.
Expands or collapses one row of a tree table, repaints, and remembers the state (autoRestoreOptions).
a tree row of the body model
the new state
false if the body is no tree or the state was already set
Sets the horizontal scroll position of the body as distance from the start (see getViewportScrollLeft).
px from the start
1.1.98
Shows the loading overlay over the body (see TableApi.showLoadingOverlay).
Optional text: stringtext for this overlay, default OverlayOptionsIf.loadingText
1.1.92
Shows the "no rows" overlay (see TableApi.showNoRowsOverlay).
Optional text: stringtext for this overlay, default OverlayOptionsIf.noRowsText
1.1.92
Protected snapProtected Rounds a pixel offset to whole device pixels. The scroll offsets are derived from a scroll factor and are fractional; rows and cells placed at fractional positions render blurry text and 1px borders.
offset in CSS pixels
offset snapped to the device pixel grid
Sorts the body by one column – the same as a double click on its header (header icon, filter and
auto-restore included). Without sortState the next state of the column's sort order is used
(asc → desc → asc …).
column index or property, e.g. 10 or "total"
Optional sortState: SortState"asc", "desc" or "" (unsorted icon, rows keep their current order)
false if the column does not exist
Opens the cell editor of a body cell: the editor above the cell (Excel-style editing) or – for columns with an
own getEditRenderer, and without tableOptions.editing – the editor inside the cell.
display row index
model column index
Optional mode: CellEditMode = 'edit'"edit" (F2, Enter, double click) or "enter" (typing)
Optional textSelection: "all" | "end"select the text or put the caret at the end (default: the option)
true if an editor is open
1.1.99
Reports a changed state to the event listener (called by TableStateService).
1.1.92
Protected storeAdds a listener next to the one given to the constructor (see TableApi.subscribe).
the events of interest
removes the listener again
Adds a listener next to the one given to the constructor (see TableApi.subscribe).
removes the listener again
1.1.99
1.1.99
A detail row that holds the keyboard focus goes away (collapsed, destroyed, scrolled out of view): the host takes the focus and the master row becomes the focused row – without a repaint (the caller repaints).
display index of the master row (-1: only the host)
1.1.97
Toggles the detail row of a master row (see TableApi.toggleDetail).
display index or row object
Optional source: GeDetailEventSource = 'api'what changed it
false if it is no master row
1.1.97
Toggles the checkbox state of a specific row in a table.
The index of the row to toggle the checkbox state.
The index of the column. This parameter is unused.
The identifier of the table area.
Updates the cells in the table with the provided values and optionally repaints all cells.
The array of events containing information about the cells to update.
Optional. If true, repaints all cells after updating. Defaults to false.
Writes the text of a cell editor (called by the input handler on "change"). Batch edit: the value is marked as
pending instead. Uses applyCellChanges – one onModelChanged per edit, as before.
only "body" is edited
display index
model index
the text of the editor
Protected updateShows the overlay that fits the body now (see TableOverlay.update) and reports a change to onOverlayChanged.
1.1.92
Writes cell values directly (no batch edit) – used by applyCellChanges and the batch commit.
resolved cells (display/model indices)
reported in the event
Optional opts: { changes written elsewhere (reported in the same event), no validation (commit: already checked)
Optional extraOptional skipthe written cells (including extraChanges)
1.1.96
Writes pasted cells (copy, cut and paste): like applyCellChanges – not editable cells skipped, validate,
batch edit marks – with one onModelChanged; raw = values copied inside the table (no editInputPipe).
target cells (and emptied cut cells)
"paste" or "cut"
true: without editInputPipe
the written (batch edit: newly pending) cells
1.1.99
Writes the values of an undo or redo: without editInputPipe (the values were piped already) and validation, only
editable cells; cells of hidden rows (hidden, written into their objects already) in the same event; no new
step.
shown cells
cells of rows a filter hides
reported in the event
the written cells (including hidden)
1.1.99
Static createCreates a TableScope instance.
The HTML div element that will contain the table.
The table model object.
Optional tableOptions: TableOptionsIf = ...The optional table options object.
Optional eventListener: EventListenerIf = ...The optional event listener object.
Optional domService: DomServiceIf = ...The optional DOM service object.
Optional copyService: CopyServiceIf = ...The optional copy service object.
Creates and runs one table in a host element – the core that every framework wrapper uses.
It connects the four building blocks: host element, table model, options and an event listener, renders only the visible cells (virtual scrolling in both directions) and handles mouse, keyboard, selection, sorting and editing. Talk to the table through getApi – the TableApi.
The host element needs a height: the table fills it.
Example
See
Training: Your first table in plain TypeScript