На уроке HoT по хукам можно увидеть (полный!?) Список хуков в HandsOnTable. Однако ни один из них не связан с комментариями.
Я хотел бы добавить пользовательский обратный вызов после добавления, удаления или обновления комментария.
Ни afterChange
, ни afterContextMenuExecute
, кажется, не срабатывают после изменения комментария, и beforeRender
, кажется, срабатывает слишком часто.
В идеале я хотел бы использовать определенный хук, который срабатывает только при добавлении, изменении или удалении комментария, предоставляя мне доступ к старым и новым значениям, а также к позиции ячейки.
На этом этапе я бы согласился на все, что работает. Несмотря на то, что я не нашел ничего связанного с этим, трудно поверить, что никто не нуждался в этом раньше. Как только я найду ответ, я опубликую его здесь.
Вот базовый пример HoT с включенными комментариями и конкретными действиями, добавленными в контекстное меню:
var data = function () {
return Handsontable.helper.createSpreadsheetData(100, 10);
};
var container = document.getElementById('example');
var hot = new Handsontable(container, {
data: data(),
minSpareCols: 1,
minSpareRows: 1,
rowHeaders: true,
colHeaders: true,
contextMenu: ['undo','redo','commentsAddEdit','commentsRemove'],
comments: true,
});
body {
margin: 2rem;
font-size: 13px;
font-family: 'Open Sans', Helvetica, Arial;
}
h2 {
margin: 20px 0 0;
font-size: 18px;
font-weight: normal;
}
<link href="https://docs.handsontable.com/pro/1.14.3/bower_components/handsontable-pro/dist/handsontable.full.min.css" rel="stylesheet"/>
<script src="https://docs.handsontable.com/pro/1.14.3/bower_components/handsontable-pro/dist/handsontable.full.min.js"></script>
<h2>Handsontable Basic Example (100x10)</h2>
<div id="example"></div>