T207 Data loss warning implemented. Need fix
This commit is contained in:
		| @@ -9,6 +9,7 @@ var htable_row = 0; | |||||||
| var host = getDomain(); | var host = getDomain(); | ||||||
| var dataModified = false; | var dataModified = false; | ||||||
| var discardChanges = false; | var discardChanges = false; | ||||||
|  | // TODO: Add last given command | ||||||
|  |  | ||||||
| const C_UUID = 'mock-uuid'; | const C_UUID = 'mock-uuid'; | ||||||
| const setModified = function(){ | const setModified = function(){ | ||||||
| @@ -38,6 +39,14 @@ function getData(){ | |||||||
|     }); |     }); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | function checkDataLoss(){ | ||||||
|  |     if(discardChanges && dataModified){ | ||||||
|  |         discardChanges = false; | ||||||
|  |         return true; | ||||||
|  |     } | ||||||
|  |     return false; | ||||||
|  | } | ||||||
|  |  | ||||||
| function getDomain(){ | function getDomain(){ | ||||||
|     var url = window.location.href; |     var url = window.location.href; | ||||||
|     var arr = url.split("/"); |     var arr = url.split("/"); | ||||||
| @@ -63,9 +72,7 @@ function setDataOrigin(){ | |||||||
|     $('#btn-save').off(); |     $('#btn-save').off(); | ||||||
| } | } | ||||||
|  |  | ||||||
| function displayDataLossWarn(){ |  | ||||||
|     if(dataModified) alert('Data modification lost'); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function refreshData(){ | function refreshData(){ | ||||||
|     fillMessageList(); |     fillMessageList(); | ||||||
| @@ -115,7 +122,8 @@ function updateData(){ | |||||||
| } | } | ||||||
|  |  | ||||||
| function addMessage(){ | function addMessage(){ | ||||||
|     displayDataLossWarn(); |     if(dataModified) dataLossModalDisplay(); | ||||||
|  |     if(!checkDataLoss()) return; | ||||||
|     var request = $.ajax({ |     var request = $.ajax({ | ||||||
|         url: host + '/mock/json/'+clientUUID, |         url: host + '/mock/json/'+clientUUID, | ||||||
|         type: 'POST', |         type: 'POST', | ||||||
| @@ -126,7 +134,8 @@ function addMessage(){ | |||||||
| } | } | ||||||
|  |  | ||||||
| function removeTile(id){ | function removeTile(id){ | ||||||
|     displayDataLossWarn(); |     if(dataModified) dataLossModalDisplay(); | ||||||
|  |     if(!checkDataLoss()) return; | ||||||
|     var jsonObject = findJsonById(id); |     var jsonObject = findJsonById(id); | ||||||
|     var request = $.ajax({ |     var request = $.ajax({ | ||||||
|         url: host + '/mock/json/'+clientUUID + '/' + id, |         url: host + '/mock/json/'+clientUUID + '/' + id, | ||||||
| @@ -253,8 +262,13 @@ function findJsonIndexById(id){ | |||||||
|         if(id == json[i].mockedResponseId) return i; |         if(id == json[i].mockedResponseId) return i; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | function changeMessage(id){ | ||||||
|  |     if(dataModified) dataLossModalDisplay(); | ||||||
|  |     if(!checkDataLoss()) return; | ||||||
|  |     loadMessage(id); | ||||||
|  | } | ||||||
|  |  | ||||||
| function loadMessage(id){ | function loadMessage(id){ | ||||||
|     displayDataLossWarn(); |  | ||||||
|     setDataOrigin(); |     setDataOrigin(); | ||||||
|     for(let i=0; i<json.length; i++){ |     for(let i=0; i<json.length; i++){ | ||||||
|         if(id == json[i].mockedResponseId){ |         if(id == json[i].mockedResponseId){ | ||||||
| @@ -284,7 +298,7 @@ function selectMessage(id){ | |||||||
| } | } | ||||||
|  |  | ||||||
| function generateMessageTileHtml(id, httpStatus, mediaType){ | 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>' + |         '<table><tr><td>Id: '+ id +'</td></tr>' + | ||||||
|         '<tr><td>Http-status: '+ httpStatus +'</td></tr>' + |         '<tr><td>Http-status: '+ httpStatus +'</td></tr>' + | ||||||
|         '</table></div><div class="btn-del-MenuItem" onclick="removeTile(' + id + ')">X</div>' + |         '</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(){ | function getDomain(){ | ||||||
|     var url = window.location.href; |     var url = window.location.href; | ||||||
|     var arr = url.split("/"); |     var arr = url.split("/"); | ||||||
| @@ -63,9 +71,7 @@ function setDataOrigin(){ | |||||||
|     $('#btn-save').off(); |     $('#btn-save').off(); | ||||||
| } | } | ||||||
|  |  | ||||||
| function displayDataLossWarn(){ |  | ||||||
|     if(dataModified) alert('Data modification lost'); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function refreshData(){ | function refreshData(){ | ||||||
|     fillMessageList(); |     fillMessageList(); | ||||||
| @@ -115,7 +121,8 @@ function updateData(){ | |||||||
| } | } | ||||||
|  |  | ||||||
| function addMessage(){ | function addMessage(){ | ||||||
|     displayDataLossWarn(); |     if(dataModified) dataLossModalDisplay(); | ||||||
|  |     if(!checkDataLoss()) return; | ||||||
|     var request = $.ajax({ |     var request = $.ajax({ | ||||||
|         url: host + '/mock/json/'+clientUUID, |         url: host + '/mock/json/'+clientUUID, | ||||||
|         type: 'POST', |         type: 'POST', | ||||||
| @@ -126,7 +133,8 @@ function addMessage(){ | |||||||
| } | } | ||||||
|  |  | ||||||
| function removeTile(id){ | function removeTile(id){ | ||||||
|     displayDataLossWarn(); |     if(dataModified) dataLossModalDisplay(); | ||||||
|  |     if(!checkDataLoss()) return; | ||||||
|     var jsonObject = findJsonById(id); |     var jsonObject = findJsonById(id); | ||||||
|     var request = $.ajax({ |     var request = $.ajax({ | ||||||
|         url: host + '/mock/json/'+clientUUID + '/' + id, |         url: host + '/mock/json/'+clientUUID + '/' + id, | ||||||
| @@ -253,8 +261,13 @@ function findJsonIndexById(id){ | |||||||
|         if(id == json[i].mockedResponseId) return i; |         if(id == json[i].mockedResponseId) return i; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | function changeMessage(id){ | ||||||
|  |     if(dataModified) dataLossModalDisplay(); | ||||||
|  |     if(!checkDataLoss()) return; | ||||||
|  |     loadMessage(id); | ||||||
|  | } | ||||||
|  |  | ||||||
| function loadMessage(id){ | function loadMessage(id){ | ||||||
|     displayDataLossWarn(); |  | ||||||
|     setDataOrigin(); |     setDataOrigin(); | ||||||
|     for(let i=0; i<json.length; i++){ |     for(let i=0; i<json.length; i++){ | ||||||
|         if(id == json[i].mockedResponseId){ |         if(id == json[i].mockedResponseId){ | ||||||
| @@ -284,7 +297,7 @@ function selectMessage(id){ | |||||||
| } | } | ||||||
|  |  | ||||||
| function generateMessageTileHtml(id, httpStatus, mediaType){ | 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>' + |         '<table><tr><td>Id: '+ id +'</td></tr>' + | ||||||
|         '<tr><td>Http-status: '+ httpStatus +'</td></tr>' + |         '<tr><td>Http-status: '+ httpStatus +'</td></tr>' + | ||||||
|         '</table></div><div class="btn-del-MenuItem" onclick="removeTile(' + id + ')">X</div>' + |         '</table></div><div class="btn-del-MenuItem" onclick="removeTile(' + id + ')">X</div>' + | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user