Comments
Description
This plugin allows setting and managing cell comments by either an option in the context menu or with the use of the API.
To enable the plugin, you'll need to set the comments property of the config object to true:
or an object with extra predefined plugin config:
To add comments at the table initialization, define the comment property in the cell config array as in an example below.
Example
Options
comments.comments : boolean | Array<object>
The comments option configures the Comments plugin.
You can set the comments option to one of the following:
| Setting | Description |
|---|---|
true | - Enable the Comments plugin- Add comment menu items to the context menu |
false | Disable the Comments plugin |
| An object | - Enable the Comments plugin- Add comment menu items to the context menu - Configure comment settings |
If you set the comments option to an object, you can configure the following comment options:
| Option | Possible settings | Description |
|---|---|---|
displayDelay | A number (default: 250) | Display comments after a delay (in milliseconds) |
readOnly | true | false (default) | true: Make comments read-only |
style | An object | Set comment boxes' width and height (in pixels) |
Read more:
Default: false
Example
Members
range
comments.range : object
Current cell range, an object with from property, with row and col properties (e.q. {from: {row: 1, col: 6}}).
Methods
clearRange
comments.clearRange()
Clears the currently selected cell.
destroy
comments.destroy()
Destroys the plugin instance.
disablePlugin
comments.disablePlugin()
Disables the plugin functionality for this Handsontable instance.
enablePlugin
comments.enablePlugin()
Enables the plugin functionality for this Handsontable instance.
focusEditor
comments.focusEditor()
Focuses the comments editor element.
comments.getComment() ⇒ string | undefined
Gets comment from a cell according to previously set range (see Comments#setRange).
Returns: string | undefined - Returns a content of the comment.
comments.getCommentAtCell(row, column) ⇒ string | undefined
Gets comment from a cell at the provided coordinates.
| Param | Type | Description |
|---|---|---|
| row | number | Visual row index. |
| column | number | Visual column index. |
Returns: string | undefined - Returns a content of the comment.
comments.getCommentMeta(row, column, property) ⇒ Mixed
Gets the comment related meta information.
| Param | Type | Description |
|---|---|---|
| row | number | Visual row index. |
| column | number | Visual column index. |
| property | string | Cell meta property. |
hide
comments.hide()
Hides the comment editor.
isEnabled
comments.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 Comments#enablePlugin method is called.
refreshEditor
comments.refreshEditor([force])
Refreshes comment editor position and styling.
| Param | Type | Default | Description |
|---|---|---|---|
| [force] | boolean | false | optional If true then recalculation will be forced. |
comments.removeComment([forceRender])
Removes a comment from a cell according to previously set range (see Comments#setRange).
| Param | Type | Default | Description |
|---|---|---|---|
| [forceRender] | boolean | true | optional If set to true, the table will be re-rendered at the end of the operation. |
comments.removeCommentAtCell(row, column, [forceRender])
Removes a comment from a specified cell.
| Param | Type | Default | Description |
|---|---|---|---|
| row | number | Visual row index. | |
| column | number | Visual column index. | |
| [forceRender] | boolean | true | optional If true, the table will be re-rendered at the end of the operation. |
comments.setComment(value)
Sets a comment for a cell according to the previously set range (see Comments#setRange).
| Param | Type | Description |
|---|---|---|
| value | string | Comment contents. |
comments.setCommentAtCell(row, column, value)
Sets a comment for a specified cell.
| Param | Type | Description |
|---|---|---|
| row | number | Visual row index. |
| column | number | Visual column index. |
| value | string | Comment contents. |
setRange
comments.setRange(range)
Sets the current cell range to be able to use general methods like Comments#setComment, Comments#removeComment, Comments#show.
| Param | Type | Description |
|---|---|---|
| range | object | Object with from property, each with row and col properties. |
show
comments.show() ⇒ boolean
Shows the comment editor accordingly to the previously set range (see Comments#setRange).
Returns: boolean - Returns true if comment editor was shown.
showAtCell
comments.showAtCell(row, column) ⇒ boolean
Shows comment editor according to cell coordinates.
| Param | Type | Description |
|---|---|---|
| row | number | Visual row index. |
| column | number | Visual column index. |
Returns: boolean - Returns true if comment editor was shown.
comments.updateCommentMeta(row, column, metaObject)
Sets or update the comment-related cell meta.
| Param | Type | Description |
|---|---|---|
| row | number | Visual row index. |
| column | number | Visual column index. |
| metaObject | object | Object defining all the comment-related meta information. |
updatePlugin
comments.updatePlugin()
Updates the plugin's state.
This method is executed when updateSettings() is invoked with any of the following configuration options: