getAction();
Метод getAction возвращает тип команды.
Метод возвращает значение «remove», если ячейка таблицы была удалена, «add» - если была добавлена и «edit» - если были отредактированы её данные.
Для выполнения примера необходимо наличие на html-странице компонента TabSheet с наименованием «tabSheet» (см. «Пример создания компонента TabSheet»). Изменим значения двух ячеек, а затем выведем тип выполненной команды, старое и новое их значения. Также добавим две кнопки - для отмены всех изменений и для возврата изменений назад:
// Внесем изменения в данные ячеек
tabSheet.setCellValue("test data", 1, 1);
tabSheet.setCellValue("new value", 2, 2);
// Выведем измененные данные
var changedData = tabSheet.getChangedData();
// Пройдём по всем измененным ячейкам
for (var i in changedData) {
var data = changedData[i];
// Получим старое значение ячейки
var oldValue = data.getOldValue();
// Получим новое значение
var newValue = data.getNewValue();
// Получим координаты измененной ячейки
var coord = " (" + oldValue.getCoord().rowIndex + ", " + oldValue.getCoord().colIndex + ")";
console.log("Над ячейкой" + coord + " было произведено действие '" + data.getAction() + "'");
console.log("Старое значение ячейки" + coord + ": " + oldValue.CellData.FormattedText);
console.log("Новое значение ячейки" + coord + ": " + newValue.CellData.FormattedText);
}
// По кнопке «Отменить все изменения» отменяем все изменения
var tempButton1 = new PP.Ui.Button({
ParentNode: document.body,
Id: "tempButton1",
ResourceKey: "tempButton1",
Content: "Отменить все изменения",
Click: function btnOnClick() {
var changedData = tabSheet.getChangedData();
for (var i in changedData) {
// Отменим все изменения
changedData[i].undo()
}
}
});
// По кнопке «Вернуть все изменения» возвратим все изменения назад
var tempButton2 = new PP.Ui.Button({
ParentNode: document.body,
Id: "tempButton2",
ResourceKey: "tempButton2",
Content: "Вернуть все изменения",
Click: function btnOnClick() {
var changedData = tabSheet.getChangedData();
for (var i in changedData) {
// Возвращаем все изменения
changedData[i].redo()
}
}
});
В результате выполнения примера были изменены значения двух ячеек и добавлены две кнопки - для отмены всех изменений и для возврата изменений назад:

При этом в консоли браузера были выведены тип выполненного действия, старое и новое значения отредактированных ячеек:
Над ячейкой (1, 1) было произведено действие 'edit'
Старое значение ячейки (1, 1): 5315
Новое значение ячейки (1, 1): test data
Над ячейкой (2, 2) было произведено действие 'edit'
Старое значение ячейки (2, 2): 9242
Новое значение ячейки (2, 2): new value
При нажатии на кнопку «Отменить все изменения» будут отменены все совершённые изменения:

Если нажмём на кнопку «Вернуть все изменения», то, соответственно, будут возвращены все изменения:

См. также: