CollapsibleColumns
Plugin: CollapsibleColumns
Description
The CollapsibleColumns plugin allows collapsing of columns, covered by a header with the colspan property defined.
Clicking the “collapse/expand” button collapses (or expands) all “child” headers except the first one.
Setting the Options#collapsiblecolumns property to true will display a “collapse/expand” button in every header
with a defined colspan property.
To limit this functionality to a smaller group of headers, define the collapsibleColumns property as an array
of objects, as in the example below.
Example
const container = document.getElementById('example');const hot = new Handsontable(container, { data: generateDataObj(), colHeaders: true, rowHeaders: true, nestedHeaders: true, // enable plugin collapsibleColumns: true,});
// orconst hot = new Handsontable(container, { data: generateDataObj(), colHeaders: true, rowHeaders: true, nestedHeaders: true, // enable and configure which columns can be collapsed collapsibleColumns: [ {row: -4, col: 1, collapsible: true}, {row: -3, col: 5, collapsible: true} ],});Options
collapsibleColumns
collapsibleColumns.collapsibleColumns : boolean | Array<object>
The collapsibleColumns option configures the CollapsibleColumns plugin.
You can set the collapsibleColumns option to one of the following:
| Setting | Description |
|---|---|
false | Disable the CollapsibleColumns plugin |
true | Enable the CollapsibleColumns plugin |
| An array of objects | Enable the CollapsibleColumns plugin for selected column headers |
When using an array of objects, specify the header to make collapsible using row and col.
The row value is a negative integer that counts header levels from the bottom of the header area:
-1 is the header row closest to the data, -2 is one level above, and so on.
This option requires the nestedHeaders plugin to be configured.
This option can only be set at the grid level.
It has no effect when set in the columns, cells, or cell options.
Read more:
Default: undefined
Example
// enable column collapsing for all headerscollapsibleColumns: true,
// enable column collapsing for selected headerscollapsibleColumns: [ {row: -4, col: 1, collapsible: true}, {row: -3, col: 5, collapsible: true}],Methods
collapseAll
collapsibleColumns.collapseAll()
Collapses all collapsible sections.
collapseSection
collapsibleColumns.collapseSection(coords)
Collapses section at the provided coords.
| Param | Type | Description |
|---|---|---|
| coords | object | Contains coordinates information. (coords.row, coords.col). |
destroy
collapsibleColumns.destroy()
Destroys the plugin instance.
disablePlugin
collapsibleColumns.disablePlugin()
Disables the plugin functionality for this Handsontable instance.
enablePlugin
collapsibleColumns.enablePlugin()
Enables the plugin functionality for this Handsontable instance.
expandAll
collapsibleColumns.expandAll()
Expands all collapsible sections.
expandSection
collapsibleColumns.expandSection(coords)
Expands section at the provided coords.
| Param | Type | Description |
|---|---|---|
| coords | object | Contains coordinates information. (coords.row, coords.col). |
isEnabled
collapsibleColumns.isEnabled() ⇒ boolean
Checks if the plugin is enabled in the handsontable settings. This method is executed in Hooks#beforeInit
hook and if it returns true then the CollapsibleColumns#enablePlugin method is called.
toggleAllCollapsibleSections
collapsibleColumns.toggleAllCollapsibleSections(action)
Collapses or expand all collapsible sections, depending on the action parameter.
| Param | Type | Description |
|---|---|---|
| action | string | ’collapse’ or ‘expand’. |
toggleCollapsibleSection
collapsibleColumns.toggleCollapsibleSection(coords, [action])
Collapses/Expands a section.
Emits: Hooks#event:beforeColumnCollapse, Hooks#event:beforeColumnExpand, Hooks#event:afterColumnCollapse, Hooks#event:afterColumnExpand
| Param | Type | Description |
|---|---|---|
| coords | Array | Array of coords - section coordinates. |
| [action] | string | optional Action definition (‘collapse’ or ‘expand’). |
updatePlugin
collapsibleColumns.updatePlugin()
Updates the plugin’s state.
This method is executed when updateSettings() is invoked with any of the following configuration options: