Я просто обожаю Табулятор! Я успешно использую его для форматирования таблиц входящих данных, полученных из службы REST из нашего SaaS. Ответы легко внедрить в табулятор и отобразить в пользовательской форме (странице JSP). с Мое желание, как и у многих, - отправить POST, PUT, DELETE в REST-сервис Jthe tabulator JSON форматированные изменения и удаления данных. Я знаю, что табулятор не предназначен для процессов CRUD, но что такое «лучшие практики» или шаблон кодирования, которым я могу следовать из примера того, как это реализовать. Я видел запросы на добавление метода Tabulator, который возвращает только изменения, но в настоящее время он не реализован (или, возможно, никогда не будет).
Я бы использовал кнопку «Сохранить», чтобы инициировать метод/функцию/вызов (ы) службы REST для обработки JSON. Я немного запутался в том, как я буду обрабатывать то, что было удалено, что изменилось и что было добавлено в виртуальный DOM, чтобы я мог извлечь эту информацию для вызова REST.
Заранее спасибо. Примеры были бы очень признательны.
Рон Дог





То, как вы справитесь с этим, будет зависеть от того, как вы настроили свой код на своем сервере. Существует несколько вариантов.
Вы можете использовать функцию получить данные для извлечения всех данных таблицы, затем отправить их обратно за один раз, затем выполнить операцию обновления для всех данных из строк в таблице и проверить, отсутствуют ли какие-либо данные.
var data = table.getData();
Вы можете использовать обратный вызов ячейка отредактирована, чтобы отслеживать, когда ячейка была отредактирована, а затем сохранять данные строки для последующей загрузки на сервер.
var table = new Tabulator("#example-table", {
cellEdited:function(cell){
//cell - cell component
var row = cell.getRow();
//store row component for later use when sending data back to server
},
});
Затем вы можете использовать аналогичный подход для новых строк с обратным вызовом rowAdded.
var table = new Tabulator("#example-table", {
rowAdded:function(row){
//row - row component
//store row component for later use when sending data back to server
},
});
И то же самое для удаленных строк с использованием обратного вызова rowDeleted.
var table = new Tabulator("#example-table", {
rowDeleted:function(row){
//row - row component
//store row component for later use when sending data back to server
},
});