Skip to content

PinnedRowsPlugin

Since v0.1.1

Pinned Rows (Status Bar) Plugin for tbw-grid

Creates fixed status bars at the top or bottom of the grid for displaying aggregations, row counts, or custom content. Think of it as the “totals row” you’d see in a spreadsheet— always visible regardless of scroll position.

import { PinnedRowsPlugin } from '@toolbox-web/grid/plugins/pinned-rows';
FunctionDescription
sumSum of values
avgAverage of values
countCount of rows
minMinimum value
maxMaximum value
PropertyDefaultDescription
--tbw-pinned-rows-bgvar(--tbw-color-panel-bg)Status bar background
--tbw-pinned-rows-bordervar(--tbw-color-border)Status bar border
OptionTypeDescription
slots?PinnedRowSlot[]Unified ordered list of pinned-row slots. Slots are rendered in declared order within their position (‘top’ or ‘bottom’, default ‘bottom’).
fullWidth?booleanDefault fullWidth mode for all aggregation rows. When true, each aggregation row renders as a single spanning cell with label and aggregated values inline. When false (default), rows render per-column cells aligned to the grid template. Individual AggregationRowConfig.fullWidth (or AggregationSlot.fullWidth) overrides this.
import '@toolbox-web/grid';
import {
PinnedRowsPlugin,
rowCountPanel,
} from '@toolbox-web/grid/plugins/pinned-rows';
grid.gridConfig = {
columns: [
{ field: 'product', header: 'Product' },
{ field: 'quantity', header: 'Qty', type: 'number' },
{ field: 'price', header: 'Price', type: 'currency' },
],
plugins: [
new PinnedRowsPlugin({
slots: [
{
id: 'totals',
position: 'bottom',
aggregators: { quantity: 'sum', price: 'sum' },
cells: { product: 'Totals:' },
},
{ id: 'count', position: 'bottom', render: rowCountPanel() },
],
}),
],
};

Extends BaseGridPlugin

Inherited methods like attach(), detach(), afterRender(), etc. are documented in the base class.

Refresh the status bar to reflect current grid state.

refresh(): void

Get the current status bar context.

getContext(): PinnedRowsContext

PinnedRowsContext - The context with row counts and other info


AI assistants: For complete API documentation, implementation guides, and code examples for this library, see https://toolboxjs.com/llms-full.txt