56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var modalDisplayed = false;
 | 
						|
var methodToCall = {
 | 
						|
    name: null,
 | 
						|
    id: null
 | 
						|
};
 | 
						|
 | 
						|
const overlay = $('#overlay');
 | 
						|
const savedModal = $('#modal-confirm');
 | 
						|
const dataLossModal = $('#modal-query');
 | 
						|
const dataLossModalYes = dataLossModal.children().eq(2).children().eq(0);
 | 
						|
const dataLossModalNo = dataLossModal.children().eq(2).children().eq(1);
 | 
						|
const allModals = $('.modal');
 | 
						|
const btnModalClose = $('.modal button');
 | 
						|
//TODO: Implement in datatransfer
 | 
						|
const closeModals = function() {
 | 
						|
    hideModal(allModals);
 | 
						|
}
 | 
						|
const savedModalDisplay = function() {
 | 
						|
    console.log('SavedModal displayed');
 | 
						|
    showModal(savedModal);
 | 
						|
    setTimeout(closeModals, 2000);
 | 
						|
}
 | 
						|
const dataLossModalDisplay = function(){
 | 
						|
    showModal(dataLossModal);
 | 
						|
}
 | 
						|
 | 
						|
function setMethodToCall(name, id){
 | 
						|
    methodToCall.name = name;
 | 
						|
    methodToCall.id = id;
 | 
						|
}
 | 
						|
 | 
						|
const dropChangesAndClose = function(){
 | 
						|
    callMethodByName(methodToCall)
 | 
						|
    hideModal(dataLossModal);
 | 
						|
}
 | 
						|
 | 
						|
function showModal(jmodal){
 | 
						|
    if(modalDisplayed) return;
 | 
						|
    overlay.addClass('active');
 | 
						|
    jmodal.addClass('active');
 | 
						|
    modalDisplayed = true;
 | 
						|
}
 | 
						|
 | 
						|
function hideModal(jmodal){
 | 
						|
    if(!modalDisplayed) return;
 | 
						|
    overlay.removeClass('active');
 | 
						|
    jmodal.removeClass('active');
 | 
						|
    modalDisplayed = false;
 | 
						|
}
 | 
						|
 | 
						|
btnModalClose.click(closeModals);
 | 
						|
overlay.click(closeModals);
 | 
						|
dataLossModalNo.click(closeModals);
 | 
						|
dataLossModalYes.click(dropChangesAndClose);
 | 
						|
 |