changeset 692:5e3c71f6fc02

Improve active entry handling.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 09 Nov 2014 23:12:21 +0200
parents c9d16e2c9725
children 36d63c38d06c
files admin.js
diffstat 1 files changed, 18 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/admin.js	Sun Nov 09 23:11:40 2014 +0200
+++ b/admin.js	Sun Nov 09 23:12:21 2014 +0200
@@ -4,9 +4,8 @@
 // (C) Copyright 2012-2014 Tecnic Software productions (TNSP)
 //
 
-var activeAttendee = -1, prevAttendee = -1;
-var activeEntry = -1, prevEntry = -1;
-var activeTmp = "";
+var activeAttendee = -1, prevAttendee = -1, activeAttendeeTmp = "";
+var activeEntry = -1, prevEntry = -1, activeEntryTmp = "";
 
 
 function jsCloseAdminPopup()
@@ -140,20 +139,9 @@
 }
 
 
-function refreshCCAttendee(id)
-{
-  jsRefreshItems("attendee"+ id, "attendee", "&id="+ id);
-}
-
-
-function refreshCMEntry(id)
-{
-  jsRefreshItems("entry"+ id, "entry", "&id="+ id);
-}
-
-
 function refreshDispatchCM(id)
 {
+  prevEntry = activeEntry = -1;
   jsRefreshItems("tabContCM"+ id, "entries", "&id="+ id);
 }
 
@@ -228,7 +216,7 @@
 
   var msuccess = function(txt)
   {
-    jsRefreshItems("attendee"+id, "attendee", "&id="+id+"&edit=1");
+    activateAttendee(-1);
   }
 
   if (args != "")
@@ -244,18 +232,18 @@
     if (nitem)
     {
       nitem.innerHTML = txt;
-      nitem.style.background = activeTmp;
+      nitem.className = activeAttendeeTmp;
     }
   }
 
   var msuccess2 = function(txt)
   {
-    var nitem = document.getElementById("attendee"+id);
+    var nitem = document.getElementById("attendee"+activeAttendee);
     if (nitem)
     {
       nitem.innerHTML = txt;
-      activeTmp = nitem.style.background;
-      nitem.style.background = "green";
+      activeAttendeeTmp = nitem.className;
+      nitem.className += " active";
       activeAttendee = id;
     }
   }
@@ -268,7 +256,8 @@
     if (prevAttendee != -1)
       jsSendPOSTRequest("action=get&type=attendee&id="+prevAttendee+"&edit=0", msuccess1);
 
-    jsSendPOSTRequest("action=get&type=attendee&id="+id+"&edit=1", msuccess2);
+    if (activeAttendee != -1)
+      jsSendPOSTRequest("action=get&type=attendee&id="+activeAttendee+"&edit=1", msuccess2);
   }
 }
 
@@ -335,18 +324,18 @@
     if (nitem)
     {
       nitem.innerHTML = txt;
-      nitem.style.background = activeTmp;
+      nitem.className = activeEntryTmp;
     }
   }
 
   var msuccess2 = function(txt)
   {
-    var nitem = document.getElementById("entry"+id);
+    var nitem = document.getElementById("entry"+activeEntry);
     if (nitem)
     {
       nitem.innerHTML = txt;
-      activeTmp = nitem.style.background;
-      nitem.style.background = "green";
+      activeEntryTmp = nitem.className;
+      nitem.className += " active";
       activeEntry = id;
     }
   }
@@ -359,7 +348,8 @@
     if (prevEntry != -1)
       jsSendPOSTRequest("action=get&type=entry&id="+prevEntry+"&edit=0", msuccess1);
 
-    jsSendPOSTRequest("action=get&type=entry&id="+id+"&edit=1", msuccess2);
+    if (activeEntry != -1)
+      jsSendPOSTRequest("action=get&type=entry&id="+activeEntry+"&edit=1", msuccess2);
   }
 }
 
@@ -394,7 +384,7 @@
         nitem.style.display = "none";
     }
     else
-      setTimeout("refreshCMEntry("+ id +");", 50);
+      activateEntry(-1);
   }
 
   var mcb_ok = function(data)
@@ -404,6 +394,7 @@
 
   var mcb_cancel = function(data)
   {
+    activeEntry = -1;
   }
 
   if (args != "")