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