From 73ec6bfbfbfb5a03162777632a77c05093d92549 Mon Sep 17 00:00:00 2001 From: mcramer <m.cramer@pixcept.de> Date: Fri, 24 Aug 2012 08:51:46 -0400 Subject: [PATCH] Fixed theme paths Implemented: FS#2388 - Optional confirm window on changing tabs --- interface/web/js/scrigo.js.php | 37 +++++++++++++++++++++++++++++++++++-- 1 files changed, 35 insertions(+), 2 deletions(-) diff --git a/interface/web/js/scrigo.js.php b/interface/web/js/scrigo.js.php index b44ff10..e1ef2c3 100644 --- a/interface/web/js/scrigo.js.php +++ b/interface/web/js/scrigo.js.php @@ -4,7 +4,11 @@ $lang = (isset($_SESSION['s']['language']) && $_SESSION['s']['language'] != '')?$_SESSION['s']['language']:'en'; include_once(ISPC_ROOT_PATH.'/web/strengthmeter/lib/lang/'.$lang.'_strengthmeter.lng'); ?> - +var pageFormChanged = false; +var tabChangeWarningTxt = ''; +var tabChangeDiscardTxt = ''; +var tabChangeWarning = false; +var tabChangeDiscard = false; redirect = ''; function reportError(request) { @@ -24,6 +28,7 @@ dataType: "html", success: function(data, textStatus, jqXHR) { jQuery('#pageContent').html(jqXHR.responseText); + pageFormChanged = false; }, error: function() { reportError('Ajax Request was not successful.'+pagename); @@ -87,6 +92,7 @@ document.location.href = 'index.php'; } else { jQuery('#pageContent').html(jqXHR.responseText); + pageFormChanged = false; } loadMenus(); }, @@ -118,6 +124,7 @@ //window.setTimeout('loadContent(redirect)', 1000); } else { jQuery('#pageContent').html(jqXHR.responseText); + pageFormChanged = false; } }, error: function(jqXHR, textStatus, errorThrown) { @@ -150,6 +157,7 @@ //window.setTimeout('loadContent(redirect)', 1000); } else { jQuery('#pageContent').html(jqXHR.responseText); + pageFormChanged = false; } }, error: function(jqXHR, textStatus, errorThrown) { @@ -202,8 +210,10 @@ } function loadContent(pagename) { + var params = arguments[1]; var pageContentObject2 = jQuery.ajax({ type: "GET", url: pagename, + data: (params ? params : null), dataType: "html", beforeSend: function() { jQuery('#pageContent').html('<div id="ajaxloader"><img src="themes/default/images/ajax-loader.gif" /></div>'); @@ -222,6 +232,7 @@ //jQuery.each(reponseScript, function(idx, val) { eval(val.text); } ); jQuery('#pageContent').html(jqXHR.responseText); + pageFormChanged = false; } }, error: function() { @@ -242,6 +253,7 @@ loadContent(parts[1]); } else { jQuery('#pageContent').html(jqXHR.responseText); + pageFormChanged = false; } }, error: function() { @@ -293,7 +305,28 @@ function changeTab(tab,target) { //document.forms[0].next_tab.value = tab; document.pageForm.next_tab.value = tab; - submitForm('pageForm',target); + + var id = document.pageForm.id.value; + if(tabChangeDiscard == 'y') { + if(id && (pageFormChanged == false || window.confirm(tabChangeDiscardTxt))) { + var next_tab = tab; + loadContent(target, {'next_tab': next_tab, 'id': id}); + } else { + return false; + } + } else { + if(id && tabChangeWarning == 'y' && pageFormChanged == true) { + if(window.confirm(tabChangeWarningTxt)) { + submitForm('pageForm', target); + } else { + var next_tab = tab; + var id = document.pageForm.id.value; + loadContent(target, {'next_tab': next_tab, 'id': id}); + } + } else { + submitForm('pageForm',target); + } + } } function del_record(link,confirmation) { -- Gitblit v1.9.1