Skip to content

CustomBorders

Options

customBorders

Source code

customBorders.customBorders : boolean | Array<object>

The customBorders option configures the CustomBorders plugin.

To enable the CustomBorders plugin (and add its menu items to the context menu), set the customBorders option to true.

To enable the CustomBorders plugin and add a predefined border around a particular cell, set the customBorders option to an array of objects. Each object represents a border configuration for one cell, and has the following properties:

PropertySub-propertiesTypesDescription
row-row: NumberThe cell’s row coordinate.
col-col: NumberThe cell’s column coordinate.
startwidth
color
style
width: Number
color: String
style: String
If the layout direction is LTR (default): start sets the width (width), color (color) and style (style) of the left-hand border.

If the layout direction is RTL: start sets the width (width), color (color) and style (style) of the right-hand border.
endwidth
color
style
width: Number
color: String
style: String
If the layout direction is LTR (default): end sets the width (width), color (color) and style (style) of the right-hand border.

If the layout direction is RTL: end sets the width (width), color (color) and style (style) of the left-hand border.
topwidth
color
style
width: Number
color: String
style: String
Sets the width (width), color (color) and style (style) of the top border.
bottomwidth
color
style
width: Number
color: String
style: String
Sets the width (width), color (color) and style (style) of the bottom border.

To enable the CustomBorders plugin and add a predefined border around a range of cells, set the customBorders option to an array of objects. Each object represents a border configuration for a single range of cells, and has the following properties:

PropertySub-propertiesTypesDescription
rangefrom {row, col}
to {row, col}
from: Object
to: Object
row: Number
col: Number
If the layout direction is LTR (default):
- from selects the range’s top-left corner.
- to selects the range’s bottom-right corner.

If the layout direction is RTL:
- from selects the range’s top-right corner.
- to selects the range’s bottom-left corner.
startwidth
color
style
width: Number
color: String
style: String
If the layout direction is LTR (default): start sets the width (width), color (color) and style (style) of the left-hand border.

If the layout direction is RTL: start sets the width (width), color (color) and style (style) of the right-hand border.
endwidth
color
style
width: Number
color: String
style: String
If the layout direction is LTR (default): end sets the width (width), color (color) and style (style) of the right-hand border.

If the layout direction is RTL: end sets the width (width), color (color) and style (style) of the left-hand border.
topwidth
color
style
width: Number
color: String
style: String
Sets the width (width), color (color) and style (style) of the top border.
bottomwidth
color
style
width: Number
color: String
style: String
Sets the width (width), color (color) and style (style) of the bottom border.

Read more:

This option can only be set at the grid level. It has no effect when set in the columns, cells, or cell options.

Default: false
Example

// enable the `CustomBorders` plugin
customBorders: true,
// enable the `CustomBorders` plugin
// and add a predefined border for a particular cell
customBorders: [
// add an object with a border configuration for one cell
{
// set the cell's row coordinate
row: 2,
// set the cell's column coordinate
col: 2,
// set the left/right border's width and color
start: {
width: 2,
color: 'red'
},
// set the right/left border's width, color and style
end: {
width: 1,
color: 'green',
style: 'dashed'
},
// set the top border's width and color
top: '',
// set the bottom border's width and color
bottom: ''
}
],
// enable the `CustomBorders` plugin
// and add a predefined border for a range of cells
customBorders: [
// add an object with a border configuration for one range of cells
{
// select a range of cells
range: {
// set the range's top-left corner
from: {
row: 1,
col: 1
},
// set the range's bottom-right corner
to: {
row: 3,
col: 4
}
},
// set the left/right border's width, color and style
start: {
width: 2,
color: 'red',
style: 'dashed'
},
// set the right/left border's width and color
end: {},
// set the top border's width and color
top: {},
// set the bottom border's width and color
bottom: {}
}
],

Members

PLUGIN_KEY

Source code

CustomBorders.PLUGIN_KEY

Returns the plugin key used to identify this plugin in Handsontable settings.

PLUGIN_PRIORITY

Source code

CustomBorders.PLUGIN_PRIORITY

Returns the priority order used to determine the order in which plugins are initialized.

Methods

clearBorders

Source code

customBorders.clearBorders(selectionRanges)

Clear custom borders.

Example

const customBordersPlugin = hot.getPlugin('customBorders');
// Using an array of arrays (produced by `.getSelected()` method).
customBordersPlugin.clearBorders([[1, 1, 2, 2], [6, 2, 0, 2]]);
// Using an array of CellRange objects (produced by `.getSelectedRange()` method).
customBordersPlugin.clearBorders(hot.getSelectedRange());
// Using without param - clear all customBorders.
customBordersPlugin.clearBorders();
ParamTypeDescription
selectionRangesArray<Array>
Array<CellRange>
Array of selection ranges.

destroy

Source code

customBorders.destroy()

Destroys the plugin instance.

disablePlugin

Source code

customBorders.disablePlugin()

Disables the plugin functionality for this Handsontable instance.

enablePlugin

Source code

customBorders.enablePlugin()

Enables the plugin functionality for this Handsontable instance.

getBorders

Source code

customBorders.getBorders(selectionRanges) ⇒ Array<object>

Get custom borders.

Example

const customBordersPlugin = hot.getPlugin('customBorders');
// Using an array of arrays (produced by `.getSelected()` method).
customBordersPlugin.getBorders([[1, 1, 2, 2], [6, 2, 0, 2]]);
// Using an array of CellRange objects (produced by `.getSelectedRange()` method).
customBordersPlugin.getBorders(hot.getSelectedRange());
// Using without param - return all customBorders.
customBordersPlugin.getBorders();
ParamTypeDescription
selectionRangesArray<Array>
Array<CellRange>
Array of selection ranges.

Returns: Array<object> - Returns array of border objects.

isEnabled

Source code

customBorders.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 CustomBorders#enablePlugin method is called.

setBorders

Source code

customBorders.setBorders(selectionRanges, borderObject)

Set custom borders.

Example

const customBordersPlugin = hot.getPlugin('customBorders');
// Using an array of arrays (produced by `.getSelected()` method).
customBordersPlugin.setBorders([[1, 1, 2, 2], [6, 2, 0, 2]], {start: {width: 2, color: 'blue'}});
// Using an array of CellRange objects (produced by `.getSelectedRange()` method).
// Selecting a cell range.
hot.selectCell(0, 0, 2, 2);
// Returning selected cells' range with the getSelectedRange method.
customBordersPlugin.setBorders(hot.getSelectedRange(), {start: {hide: false, width: 2, color: 'blue'}});
ParamTypeDescription
selectionRangesArray<Array>
Array<CellRange>
Array of selection ranges.
borderObjectobjectObject with top, bottom, start, and end properties. Each side object can include: - width (number) Border width in pixels (default: 1). - color (string) CSS border color value (default: '#000'). - hide (boolean) Hides a border side when set to true. Legacy aliases left and right are also supported and are normalized to start and end.

updatePlugin

Source code

customBorders.updatePlugin()

Updates the plugin’s state.

This method is executed when updateSettings() is invoked with any of the following configuration options: