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,