From e372dd6925058eddf34e5b2b5ca59a5707befb37 Mon Sep 17 00:00:00 2001 From: mcramer <m.cramer@pixcept.de> Date: Fri, 11 Oct 2013 02:58:52 -0400 Subject: [PATCH] Implemented: - javascript hooks prepared (onAfterContentLoad is first available hook) - new abstract class for GET and POST requests - new js.d directory that is included into main template --- interface/web/js/scrigo.js.php | 32 +++++++++++++++++++++++++------- 1 files changed, 25 insertions(+), 7 deletions(-) diff --git a/interface/web/js/scrigo.js.php b/interface/web/js/scrigo.js.php index 418b26b..33be65e 100644 --- a/interface/web/js/scrigo.js.php +++ b/interface/web/js/scrigo.js.php @@ -18,6 +18,7 @@ var indicatorPaddingH = -1; var indicatorPaddingW = -1; var indicatorCompleted = false; +var registeredHooks = new Array(); redirect = ''; function reportError(request) { @@ -26,6 +27,20 @@ ajax request worked. */ /*alert(request);*/ +} + +function registerHook(name, callback) { + if(!registeredHooks[name]) registeredHooks[name] = new Array(); + var newindex = registeredHooks[name].length; + registeredHooks[name][newindex] = callback; +} + +function callHook(name, params) { + if(!registeredHooks[name]) return; + for(var i = 0; i < registeredHooks[name].length; i++) { + var callback = registeredHooks[name][i]; + callback(name, params); + } } function resetFormChanged() { @@ -73,7 +88,9 @@ } } -function onAfterContentLoad() { +function onAfterContentLoad(url, data) { + if(!data) data = ''; + else data = '&' + data; <?php if($server_config_array['misc']['use_combobox'] == 'y'){ ?> @@ -81,6 +98,7 @@ <?php } ?> + callHook('onAfterContentLoad', {'url': url, 'data': data }); } function loadContentRefresh(pagename) { @@ -96,7 +114,7 @@ success: function(data, textStatus, jqXHR) { hideLoadIndicator(); jQuery('#pageContent').html(jqXHR.responseText); - onAfterContentLoad(); + onAfterContentLoad(pagename, "refresh="+document.getElementById('refreshinterval').value); pageFormChanged = false; }, error: function() { @@ -175,7 +193,7 @@ document.location.href = 'index.php'; } else { jQuery('#pageContent').html(jqXHR.responseText); - onAfterContentLoad(); + onAfterContentLoad('content.php', jQuery('#'+formname).serialize()); pageFormChanged = false; } loadMenus(); @@ -213,7 +231,7 @@ //window.setTimeout('loadContent(redirect)', 1000); } else { jQuery('#pageContent').html(jqXHR.responseText); - onAfterContentLoad(); + onAfterContentLoad(target, jQuery('#'+formname).serialize()); pageFormChanged = false; } hideLoadIndicator(); @@ -252,7 +270,7 @@ //window.setTimeout('loadContent(redirect)', 1000); } else { jQuery('#pageContent').html(jqXHR.responseText); - onAfterContentLoad(); + onAfterContentLoad(target, jQuery('#'+formname).serialize()); pageFormChanged = false; } hideLoadIndicator(); @@ -330,7 +348,7 @@ //jQuery.each(reponseScript, function(idx, val) { eval(val.text); } ); jQuery('#pageContent').html(jqXHR.responseText); - onAfterContentLoad(); + onAfterContentLoad(pagename, (params ? params : null)); pageFormChanged = false; } hideLoadIndicator(); @@ -357,7 +375,7 @@ loadContent(parts[1]); } else { jQuery('#pageContent').html(jqXHR.responseText); - onAfterContentLoad(); + onAfterContentLoad('content.php', "s_mod=login&s_pg=index"); pageFormChanged = false; } hideLoadIndicator(); -- Gitblit v1.9.1