T207 Warn is implemented

This commit is contained in:
2021-03-03 17:20:20 +01:00
parent 846675bb32
commit ca4e610da4
4 changed files with 118 additions and 48 deletions

View File

@@ -8,7 +8,10 @@ var jsonIndex = 0;
var htable_row = 0;
var host = getDomain();
var dataModified = false;
var discardChanges = false;
// TODO: Remove discard changes
const addMessageName = 'addMessage';
const loadMessageName = 'changeMessage';
const removeMessageName = 'removeMessage';
// TODO: Add last given command
const C_UUID = 'mock-uuid';
@@ -22,7 +25,7 @@ const setOrigin = function(){
const getUpdate = function(){
updateData();
}
$('#iconPlus').click(function(){addMessage()});
$('#iconPlus').click(function(){callAddMessage()});
$('#btn-addRow').click(function(){addRow()});
//TODO remove later save onclick init
$('#btn-save').click(getUpdate);
@@ -39,14 +42,6 @@ function getData(){
});
}
function checkDataLoss(){
if(discardChanges && dataModified){
discardChanges = false;
return true;
}
return false;
}
function getDomain(){
var url = window.location.href;
var arr = url.split("/");
@@ -105,6 +100,22 @@ function getCookie(cname) {
return '';
}
function callMethodByName(methodObject){
let name = methodObject.name;
let id = methodObject.id;
switch(name){
case addMessageName:
addMessage();
break;
case loadMessageName:
loadMessage(id);
break;
case removeMessageName:
removeMessage(id);
break;
}
}
function updateData(){
var updatedJson = generateJson();
const dataSaved = function () {
@@ -121,11 +132,17 @@ function updateData(){
request.done(dataSaved);
}
function addMessage(){
if(dataModified) {
function callAddMessage(){
if(dataModified){
setMethodToCall(addMessageName, null);
dataLossModalDisplay();
if(!checkDataLoss()) return;
}
else {
addMessage();
}
}
function addMessage(){
var request = $.ajax({
url: host + '/mock/json/'+clientUUID,
type: 'POST',
@@ -135,11 +152,17 @@ function addMessage(){
});
}
function removeTile(id){
if(dataModified) {
function callRemoveMessage(id){
if(dataModified){
setMethodToCall(removeMessageName, id);
dataLossModalDisplay();
if(!checkDataLoss()) return;
}
else {
removeMessage(id);
}
}
function removeMessage(id){
var jsonObject = findJsonById(id);
var request = $.ajax({
url: host + '/mock/json/'+clientUUID + '/' + id,
@@ -266,12 +289,14 @@ function findJsonIndexById(id){
if(id == json[i].mockedResponseId) return i;
}
function changeMessage(id){
function callLoadMessage(id){
if(dataModified) {
setMethodToCall(loadMessageName, id);
dataLossModalDisplay();
if(!checkDataLoss()) return;
}
loadMessage(id);
else {
loadMessage(id);
}
}
function loadMessage(id){
@@ -304,10 +329,10 @@ function selectMessage(id){
}
function generateMessageTileHtml(id, httpStatus, mediaType){
var innerHTML = '<div class="menuItem" id="item_' + id + '" onclick="changeMessage('+ id +')">' +
var innerHTML = '<div class="menuItem" id="item_' + id + '" onclick="callLoadMessage('+ 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>' +
'</table></div><div class="btn-del-MenuItem" onclick="callRemoveMessage(' + id + ')">X</div>' +
'<div style="clear: both;"></div>';
return innerHTML;
}

View File

@@ -1,4 +1,8 @@
var modalDisplayed = false;
var methodToCall = {
name: null,
id: null
};
const overlay = $('#overlay');
const savedModal = $('#modal-confirm');
@@ -19,21 +23,27 @@ const savedModalDisplay = function() {
const dataLossModalDisplay = function(){
showModal(dataLossModal);
}
function setMethodToCall(name, id){
methodToCall.name = name;
methodToCall.id = id;
}
const dropChangesAndClose = function(){
discardChanges = true;
callMethodByName(methodToCall)
hideModal(dataLossModal);
}
function showModal(jmodal){
if(modalDisplayed) return;
overlay.toggleClass('active');
overlay.addClass('active');
jmodal.addClass('active');
modalDisplayed = true;
}
function hideModal(jmodal){
if(!modalDisplayed) return;
overlay.toggleClass('active');
overlay.removeClass('active');
jmodal.removeClass('active');
modalDisplayed = false;
}

View File

@@ -8,7 +8,10 @@ var jsonIndex = 0;
var htable_row = 0;
var host = getDomain();
var dataModified = false;
var discardChanges = false;
// TODO: Remove discard changes
const addMessageName = 'addMessage';
const loadMessageName = 'changeMessage';
const removeMessageName = 'removeMessage';
// TODO: Add last given command
const C_UUID = 'mock-uuid';
@@ -22,7 +25,7 @@ const setOrigin = function(){
const getUpdate = function(){
updateData();
}
$('#iconPlus').click(function(){addMessage()});
$('#iconPlus').click(function(){callAddMessage()});
$('#btn-addRow').click(function(){addRow()});
//TODO remove later save onclick init
$('#btn-save').click(getUpdate);
@@ -39,14 +42,6 @@ function getData(){
});
}
function checkDataLoss(){
if(discardChanges && dataModified){
discardChanges = false;
return true;
}
return false;
}
function getDomain(){
var url = window.location.href;
var arr = url.split("/");
@@ -105,6 +100,22 @@ function getCookie(cname) {
return '';
}
function callMethodByName(methodObject){
let name = methodObject.name;
let id = methodObject.id;
switch(name){
case addMessageName:
addMessage();
break;
case loadMessageName:
loadMessage(id);
break;
case removeMessageName:
removeMessage(id);
break;
}
}
function updateData(){
var updatedJson = generateJson();
const dataSaved = function () {
@@ -121,11 +132,17 @@ function updateData(){
request.done(dataSaved);
}
function addMessage(){
if(dataModified) {
function callAddMessage(){
if(dataModified){
setMethodToCall(addMessageName, null);
dataLossModalDisplay();
if(!checkDataLoss()) return;
}
else {
addMessage();
}
}
function addMessage(){
var request = $.ajax({
url: host + '/mock/json/'+clientUUID,
type: 'POST',
@@ -135,11 +152,17 @@ function addMessage(){
});
}
function removeTile(id){
if(dataModified) {
function callRemoveMessage(id){
if(dataModified){
setMethodToCall(removeMessageName, id);
dataLossModalDisplay();
if(!checkDataLoss()) return;
}
else {
removeMessage(id);
}
}
function removeMessage(id){
var jsonObject = findJsonById(id);
var request = $.ajax({
url: host + '/mock/json/'+clientUUID + '/' + id,
@@ -266,12 +289,14 @@ function findJsonIndexById(id){
if(id == json[i].mockedResponseId) return i;
}
function changeMessage(id){
function callLoadMessage(id){
if(dataModified) {
setMethodToCall(loadMessageName, id);
dataLossModalDisplay();
if(!checkDataLoss()) return;
}
loadMessage(id);
else {
loadMessage(id);
}
}
function loadMessage(id){
@@ -304,10 +329,10 @@ function selectMessage(id){
}
function generateMessageTileHtml(id, httpStatus, mediaType){
var innerHTML = '<div class="menuItem" id="item_' + id + '" onclick="changeMessage('+ id +')">' +
var innerHTML = '<div class="menuItem" id="item_' + id + '" onclick="callLoadMessage('+ 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>' +
'</table></div><div class="btn-del-MenuItem" onclick="callRemoveMessage(' + id + ')">X</div>' +
'<div style="clear: both;"></div>';
return innerHTML;
}

View File

@@ -1,4 +1,8 @@
var modalDisplayed = false;
var methodToCall = {
name: null,
id: null
};
const overlay = $('#overlay');
const savedModal = $('#modal-confirm');
@@ -19,21 +23,27 @@ const savedModalDisplay = function() {
const dataLossModalDisplay = function(){
showModal(dataLossModal);
}
function setMethodToCall(name, id){
methodToCall.name = name;
methodToCall.id = id;
}
const dropChangesAndClose = function(){
discardChanges = true;
callMethodByName(methodToCall)
hideModal(dataLossModal);
}
function showModal(jmodal){
if(modalDisplayed) return;
overlay.toggleClass('active');
overlay.addClass('active');
jmodal.addClass('active');
modalDisplayed = true;
}
function hideModal(jmodal){
if(!modalDisplayed) return;
overlay.toggleClass('active');
overlay.removeClass('active');
jmodal.removeClass('active');
modalDisplayed = false;
}