T207 Data loss warning implemented. Need fix
This commit is contained in:
		| @@ -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<json.length; i++){ | ||||
|         if(id == json[i].mockedResponseId){ | ||||
| @@ -284,7 +298,7 @@ function selectMessage(id){ | ||||
| } | ||||
|  | ||||
| function generateMessageTileHtml(id, httpStatus, mediaType){ | ||||
|     var innerHTML = '<div class="menuItem" id="item_' + id + '" onclick="loadMessage('+ id +')">' + | ||||
|     var innerHTML = '<div class="menuItem" id="item_' + id + '" onclick="changeMessage('+ id +')">' + | ||||
|         '<table><tr><td>Id: '+ id +'</td></tr>' + | ||||
|         '<tr><td>Http-status: '+ httpStatus +'</td></tr>' + | ||||
|         '</table></div><div class="btn-del-MenuItem" onclick="removeTile(' + id + ')">X</div>' + | ||||
|   | ||||
| @@ -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<json.length; i++){ | ||||
|         if(id == json[i].mockedResponseId){ | ||||
| @@ -284,7 +297,7 @@ function selectMessage(id){ | ||||
| } | ||||
|  | ||||
| function generateMessageTileHtml(id, httpStatus, mediaType){ | ||||
|     var innerHTML = '<div class="menuItem" id="item_' + id + '" onclick="loadMessage('+ id +')">' + | ||||
|     var innerHTML = '<div class="menuItem" id="item_' + id + '" onclick="changeMessage('+ id +')">' + | ||||
|         '<table><tr><td>Id: '+ id +'</td></tr>' + | ||||
|         '<tr><td>Http-status: '+ httpStatus +'</td></tr>' + | ||||
|         '</table></div><div class="btn-del-MenuItem" onclick="removeTile(' + id + ')">X</div>' + | ||||
|   | ||||
		Reference in New Issue
	
	Block a user