@serenity-is/sleekgrid / GroupItemMetadataProvider
Class: GroupItemMetadataProvider
Defined in: src/data/groupitemmetadataprovider.tsx:62
Grid plugin that provides row metadata and formatters for group headers and
group totals rows. Handles expand/collapse UI via click and keyboard
(Space, +, -) and delegates metadata through getGroupRowMetadata /
getTotalsRowMetadata for use by DataView.
Implements
Constructors
Constructor
new GroupItemMetadataProvider(
opt?):GroupItemMetadataProvider
Defined in: src/data/groupitemmetadataprovider.tsx:72
Creates a new provider.
Parameters
opt?
GroupItemMetadataProviderOptions
Partial options merged with GroupItemMetadataProvider.defaults.
Returns
GroupItemMetadataProvider
Properties
getGroupRowMetadata()
getGroupRowMetadata: (
item) =>ItemMetadata
Defined in: src/data/groupitemmetadataprovider.tsx:320
Returns row metadata for a group header row. The grid/DataView calls this to obtain CSS classes, focusability and the spanned column formatter.
Parameters
item
Group row item.
Returns
Metadata describing how the group row should be rendered.
getTotalsRowMetadata()
getTotalsRowMetadata: (
item) =>ItemMetadata
Defined in: src/data/groupitemmetadataprovider.tsx:349
Returns row metadata for a group totals row.
Parameters
item
Totals row item.
Returns
Metadata describing how the totals row should be rendered.
grid
protectedgrid:ISleekGrid
Defined in: src/data/groupitemmetadataprovider.tsx:64
Host grid instance set during GroupItemMetadataProvider.init.
pluginName
readonlypluginName:"GroupItemMetadataProvider"="GroupItemMetadataProvider"
Defined in: src/data/groupitemmetadataprovider.tsx:171
Plugin name used for lookup via grid.getPluginByName().
Implementation of
defaults
readonlystaticdefaults:GroupItemMetadataProviderOptions
Defined in: src/data/groupitemmetadataprovider.tsx:83
Default option values. Override per instance via constructor or GroupItemMetadataProvider.setOptions.
Methods
destroy()
destroy():
void
Defined in: src/data/groupitemmetadataprovider.tsx:176
Detaches event handlers added during GroupItemMetadataProvider.init.
Returns
void
Implementation of
getOptions()
getOptions():
GroupItemMetadataProviderOptions
Defined in: src/data/groupitemmetadataprovider.tsx:187
Returns the current resolved options.
Returns
GroupItemMetadataProviderOptions
Current options object.
groupCellPosition()
groupCellPosition():
object
Defined in: src/data/groupitemmetadataprovider.tsx:274
Computes the cell index and colspan for the spanned group cell, taking summary columns and frozen columns into account.
Returns
object
Object with cell start index and colspan span width ("*" means full row when no totals).
cell
cell:
number
colspan
colspan:
number|"*"
handleGridClick()
handleGridClick(
e):void
Defined in: src/data/groupitemmetadataprovider.tsx:203
Click handler that toggles group collapse when the toggle element is clicked.
Parameters
e
Cell mouse event from the grid's onClick.
Returns
void
handleGridKeyDown()
handleGridKeyDown(
e):void
Defined in: src/data/groupitemmetadataprovider.tsx:233
Key handler that toggles group collapse on Space / + / - when a group row is active.
Parameters
e
Cell keyboard event from the grid's onKeyDown.
Returns
void
init()
init(
grid):void
Defined in: src/data/groupitemmetadataprovider.tsx:164
Initializes the plugin, attaching click and key handlers for expand/collapse.
Parameters
grid
Host grid instance.
Returns
void
Implementation of
setOptions()
setOptions(
value):void
Defined in: src/data/groupitemmetadataprovider.tsx:195
Merges the given values into the current options.
Parameters
value
GroupItemMetadataProviderOptions
Partial options to apply.
Returns
void
defaultGroupFormat()
staticdefaultGroupFormat(ctx,opt?):FormatterResult
Defined in: src/data/groupitemmetadataprovider.tsx:106
Default group row formatter. Renders the group title with an optional
expand/collapse toggle indented by group.level.
Parameters
ctx
Formatter context whose item is the Group to render.
opt?
GroupItemMetadataProviderOptions
Options controlling indentation and toggle classes; defaults to GroupItemMetadataProvider.defaults.
Returns
Rendered group row content as DOM/JSX.
defaultTotalsFormat()
staticdefaultTotalsFormat(ctx,grid?):FormatterResult
Defined in: src/data/groupitemmetadataprovider.tsx:144
Default totals row formatter. Delegates to the grid's column totals formatter
(or the column's own groupTotalsFormat/groupTotalsFormatter).
Parameters
ctx
Formatter context whose item is the IGroupTotals row.
grid?
Optional grid fallback when ctx.grid is unavailable.
Returns
Rendered totals content, or empty string when no formatter is found.