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
:
comments: true
```.
or an object with extra predefined plugin config:
```js
comments: {
displayDelay: 1000
}
```.
To add comments at the table initialization, define the `comment` property in the `cell` config array as in an example below.
Example
const hot = new Handsontable(document.getElementById('example'), {
data: getData(),
comments: true,
cell: [
{row: 1, col: 1, comment: {value: 'Foo'}},
{row: 2, col: 2, comment: {value: 'Bar'}}
]
});
// Access to the Comments plugin instance:
const commentsPlugin = hot.getPlugin('comments');
// Manage comments programmatically:
commentsPlugin.setCommentAtCell(1, 6, 'Comment contents');
commentsPlugin.showAtCell(1, 6);
commentsPlugin.removeCommentAtCell(1, 6);
// You can also set range once and use proper methods:
commentsPlugin.setRange({from: {row: 1, col: 6}});
commentsPlugin.setComment('Comment contents');
commentsPlugin.show();
commentsPlugin.removeComment();
Members
-
rangeobject
-
Current cell range, an object with
from
property, withrow
andcol
properties (e.q.{from: {row: 1, col: 6}}
).
Methods
-
clearRange()
-
Clears the currently selected cell.
-
destroy()
-
Destroys the plugin instance.
-
disablePlugin()
-
Disables the plugin functionality for this Handsontable instance.
-
enablePlugin()
-
Enables the plugin functionality for this Handsontable instance.
-
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.
-
getCommentAtCell(row, column){string|undefined}
-
Gets comment from a cell at the provided coordinates.
Parameters:
Name Type Description row
number Visual row index.
column
number Visual column index.
Returns: {string|undefined} Returns a content of the comment.
-
getCommentMeta(row, column, property){Mixed}
-
Gets the comment related meta information.
Parameters:
Name Type Description row
number Visual row index.
column
number Visual column index.
property
string Cell meta property.
Returns: {Mixed}
-
hide()
-
Hides the comment editor.
-
isEnabled(){boolean}
-
Checks if the plugin is enabled in the handsontable settings. This method is executed in
Hooks#beforeInit
hook and if it returnstrue
than theComments#enablePlugin
method is called.Returns: {boolean}
-
refreshEditor(force)
-
Refreshes comment editor position and styling.
Parameters:
Name Type Default Description force
boolean false optional If
true
then recalculation will be forced. -
removeComment(forceRender)
-
Removes a comment from a cell according to previously set range (see
Comments#setRange
).Parameters:
Name Type Default Description forceRender
boolean true optional If set to
true
, the table will be re-rendered at the end of the operation. -
removeCommentAtCell(row, column, forceRender)
-
Removes a comment from a specified cell.
Parameters:
Name 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. -
setComment(value)
-
Sets a comment for a cell according to the previously set range (see
Comments#setRange
).Parameters:
Name Type Description value
string Comment contents.
-
setCommentAtCell(row, column, value)
-
Sets a comment for a specified cell.
Parameters:
Name Type Description row
number Visual row index.
column
number Visual column index.
value
string Comment contents.
-
setRange(range)
-
Sets the current cell range to be able to use general methods like
Comments#setComment
,Comments#removeComment
,Comments#show
.Parameters:
Name Type Description range
object Object with
from
property, each withrow
andcol
properties. -
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(row, column){boolean}
-
Shows comment editor according to cell coordinates.
Parameters:
Name Type Description row
number Visual row index.
column
number Visual column index.
Returns: {boolean} Returns
true
if comment editor was shown. -
updateCommentMeta(row, column, metaObject)
-
Sets or update the comment-related cell meta.
Parameters:
Name Type Description row
number Visual row index.
column
number Visual column index.
metaObject
object Object defining all the comment-related meta information.
-
updatePlugin()
-
Updates the plugin state. This method is executed when
Core#updateSettings
is invoked.