From dfa8d9e66cf8ebe566e2ffd753bfdf840593b267 Mon Sep 17 00:00:00 2001 From: modzeleg Date: Wed, 3 Mar 2021 16:05:24 +0100 Subject: [PATCH] T207 Data loss warning implemented. Need fix --- src/main/resources/static/js/datatransfer.js | 28 +++++++++++++++----- target/classes/static/js/datatransfer.js | 27 ++++++++++++++----- 2 files changed, 41 insertions(+), 14 deletions(-) diff --git a/src/main/resources/static/js/datatransfer.js b/src/main/resources/static/js/datatransfer.js index 4ea2cb7..81a141f 100644 --- a/src/main/resources/static/js/datatransfer.js +++ b/src/main/resources/static/js/datatransfer.js @@ -9,6 +9,7 @@ var htable_row = 0; var host = getDomain(); var dataModified = false; var discardChanges = false; +// TODO: Add last given command const C_UUID = 'mock-uuid'; const setModified = function(){ @@ -38,6 +39,14 @@ function getData(){ }); } +function checkDataLoss(){ + if(discardChanges && dataModified){ + discardChanges = false; + return true; + } + return false; +} + function getDomain(){ var url = window.location.href; var arr = url.split("/"); @@ -63,9 +72,7 @@ function setDataOrigin(){ $('#btn-save').off(); } -function displayDataLossWarn(){ - if(dataModified) alert('Data modification lost'); -} + function refreshData(){ fillMessageList(); @@ -115,7 +122,8 @@ function updateData(){ } function addMessage(){ - displayDataLossWarn(); + if(dataModified) dataLossModalDisplay(); + if(!checkDataLoss()) return; var request = $.ajax({ url: host + '/mock/json/'+clientUUID, type: 'POST', @@ -126,7 +134,8 @@ function addMessage(){ } function removeTile(id){ - displayDataLossWarn(); + if(dataModified) dataLossModalDisplay(); + if(!checkDataLoss()) return; var jsonObject = findJsonById(id); var request = $.ajax({ url: host + '/mock/json/'+clientUUID + '/' + id, @@ -253,8 +262,13 @@ function findJsonIndexById(id){ if(id == json[i].mockedResponseId) return i; } +function changeMessage(id){ + if(dataModified) dataLossModalDisplay(); + if(!checkDataLoss()) return; + loadMessage(id); +} + function loadMessage(id){ - displayDataLossWarn(); setDataOrigin(); for(let i=0; i' + + var innerHTML = '
X
' + diff --git a/target/classes/static/js/datatransfer.js b/target/classes/static/js/datatransfer.js index 4ea2cb7..6c14541 100644 --- a/target/classes/static/js/datatransfer.js +++ b/target/classes/static/js/datatransfer.js @@ -38,6 +38,14 @@ function getData(){ }); } +function checkDataLoss(){ + if(discardChanges && dataModified){ + discardChanges = false; + return true; + } + return false; +} + function getDomain(){ var url = window.location.href; var arr = url.split("/"); @@ -63,9 +71,7 @@ function setDataOrigin(){ $('#btn-save').off(); } -function displayDataLossWarn(){ - if(dataModified) alert('Data modification lost'); -} + function refreshData(){ fillMessageList(); @@ -115,7 +121,8 @@ function updateData(){ } function addMessage(){ - displayDataLossWarn(); + if(dataModified) dataLossModalDisplay(); + if(!checkDataLoss()) return; var request = $.ajax({ url: host + '/mock/json/'+clientUUID, type: 'POST', @@ -126,7 +133,8 @@ function addMessage(){ } function removeTile(id){ - displayDataLossWarn(); + if(dataModified) dataLossModalDisplay(); + if(!checkDataLoss()) return; var jsonObject = findJsonById(id); var request = $.ajax({ url: host + '/mock/json/'+clientUUID + '/' + id, @@ -253,8 +261,13 @@ function findJsonIndexById(id){ if(id == json[i].mockedResponseId) return i; } +function changeMessage(id){ + if(dataModified) dataLossModalDisplay(); + if(!checkDataLoss()) return; + loadMessage(id); +} + function loadMessage(id){ - displayDataLossWarn(); setDataOrigin(); for(let i=0; i' + + var innerHTML = '
X
' +