changeset 632:e06be145e487

Modularize a bit.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 01 Nov 2014 13:41:26 +0200
parents 759323b00be3
children 8e11a86204a9
files admin.js
diffstat 1 files changed, 45 insertions(+), 52 deletions(-) [+]
line wrap: on
line diff
--- a/admin.js	Sat Nov 01 13:26:45 2014 +0200
+++ b/admin.js	Sat Nov 01 13:41:26 2014 +0200
@@ -75,6 +75,49 @@
 }
 
 
+function jsRefreshPanels(id, tab, args, set_default)
+{
+  var msuccess = function(txt)
+  {
+    var nitem = document.getElementById(tab);
+    if (nitem)
+    {
+      if (nitem.innerHTML == "")
+      {
+        nitem.innerHTML =
+          "<div id=\"tabHeaders"+id+"\" class=\"tabHeadersSub\"></div>" +
+          "<div id=\"tabContents"+id+"\" class=\"tabContentsSub\"></div>";
+      }
+
+      try {
+        var tmp = JSON.parse("{"+ txt +"}");
+        registeredTabs[id] = tmp;
+        jsUpdateTabList(id, "");
+        if (activeTabs[id])
+          jsSwitchActiveTab(id, activeTabs[id]);
+        else
+        if (set_default == "*")
+        {
+          for (var nid in registeredTabs[id])
+          {
+            jsSwitchActiveTab(id, nid);
+            break;
+          }
+        }
+        else
+        if (set_default != "")
+          jsSwitchActiveTab(id, set_default);
+      }
+      catch (err) {
+        jsMessageBox("JSON.parse("+ txt +") failure: "+ err);
+      }
+    }
+  }
+
+  jsSendPOSTRequest("action=get&type="+args, msuccess);
+}
+
+
 function refreshDispatchCC(id)
 {
   switch (id)
@@ -92,32 +135,7 @@
 
 function refreshCCSettings()
 {
-  var msuccess = function(txt)
-  {
-    var nitem = document.getElementById("tabContCCSettings");
-    if (nitem)
-    {
-      if (nitem.innerHTML == "")
-      {
-        nitem.innerHTML =
-          "<div id=\"tabHeadersCS\" class=\"tabHeadersSub\"></div>" +
-          "<div id=\"tabContentsCS\" class=\"tabContentsSub\"></div>";
-      }
-
-      try {
-        var tmp = JSON.parse("{"+ txt +"}");
-        registeredTabs["CS"] = tmp;
-        jsUpdateTabList("CS", "");
-        if (activeTabs["CS"])
-          jsSwitchActiveTab("CS", activeTabs["CS"]);
-      }
-      catch (err) {
-        jsMessageBox("JSON.parse("+ txt +") failure: "+ err);
-      }
-    }
-  }
-
-  jsSendPOSTRequest("action=get&type=settingslist", msuccess);
+  jsRefreshPanels("CS", "tabContCCSettings", "settingslist", "*");
 }
 
 
@@ -135,32 +153,7 @@
 
 function refreshCCEntries()
 {
-  var msuccess = function(txt)
-  {
-    var nitem = document.getElementById("tabContCCEntries");
-    if (nitem)
-    {
-      if (nitem.innerHTML == "")
-      {
-        nitem.innerHTML =
-          "<div id=\"tabHeadersCM\" class=\"tabHeadersSub\"></div>" +
-          "<div id=\"tabContentsCM\" class=\"tabContentsSub\"></div>";
-      }
-
-      try {
-        var tmp = JSON.parse("{"+ txt +"}");
-        registeredTabs["CM"] = tmp;
-        jsUpdateTabList("CM", "");
-        if (activeTabs["CM"])
-          jsSwitchActiveTab("CM", activeTabs["CM"]);
-      }
-      catch (err) {
-        jsMessageBox("JSON.parse("+ txt +") failure: "+ err);
-      }
-    }
-  }
-
-  jsSendPOSTRequest("action=get&type=compolist", msuccess);
+  jsRefreshPanels("CM", "tabContCCEntries", "compolist", "");
 }