From 27792b94270b65ce34cb23d9a85f9a7e75418b06 Mon Sep 17 00:00:00 2001 From: armine-fliplet Date: Thu, 10 Jul 2025 09:04:16 +0400 Subject: [PATCH] DEV-250 [FIX] Ensures the component reacts to data changes when entries are added to or removed from the connected Data Source. --- js/interface.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/js/interface.js b/js/interface.js index 128cb2f..877a0a9 100644 --- a/js/interface.js +++ b/js/interface.js @@ -423,6 +423,10 @@ function fetchCurrentDataSourceEntries(entries) { // On initial load, create an empty spreadsheet as this speeds up subsequent loads if (initialLoad) { + if (table) { + table.destroy(); + } + table = spreadsheet({ columns: columns, rows: [], initialLoad: true }); setTimeout(function() { @@ -435,6 +439,10 @@ function fetchCurrentDataSourceEntries(entries) { $('#versions').removeClass('hidden'); }, 0); } else { + if (table) { + table.destroy(); + } + table = spreadsheet({ columns: columns, rows: rows }); $('.table-entries').css('visibility', 'visible'); @@ -673,6 +681,7 @@ function saveCurrentData() { var columns; table.onSave(); + fetchCurrentDataSourceEntries(); var entries = table.getData({ parseJSON: true, @@ -725,6 +734,10 @@ function saveCurrentData() { currentDataSourceUpdatedAt = TD(new Date(), { format: 'lll', locale: locale }); var payload = getCommitPayload(entries); + var deletedEntries = payload.delete; + var deletedEntriesKey = 'deleted-entries-' + currentDataSourceId; + + localStorage.setItem(deletedEntriesKey, JSON.stringify(deletedEntries)); return currentDataSource.commit({ entries: payload.entries,