[rhmessaging-commits] rhmessaging commits: r4087 - mgmt/newdata/cumin/resources.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Thu Jul 8 08:30:49 EDT 2010


Author: eallen
Date: 2010-07-08 08:30:48 -0400 (Thu, 08 Jul 2010)
New Revision: 4087

Modified:
   mgmt/newdata/cumin/resources/app.js
Log:
Fix problem with checkboxes on SelectionTables. You couldn't uncheck boxes that were checked when the page was loaded. 

Modified: mgmt/newdata/cumin/resources/app.js
===================================================================
--- mgmt/newdata/cumin/resources/app.js	2010-07-07 21:34:03 UTC (rev 4086)
+++ mgmt/newdata/cumin/resources/app.js	2010-07-08 12:30:48 UTC (rev 4087)
@@ -47,14 +47,19 @@
             if ((vals.length == 1) && (vals[0] == ""))
                 vals.empty();
             var valIndex = vals.indexOf(val);
+            var negValIndex = vals.indexOf("-"+val);
             if (check.checked) {
+                // the checkbox was just checked
+                if (negValIndex > -1)
+                    vals.erase("-"+val);
+                else if (valIndex == -1)
+                    vals.push(val);
+            } else {
                 if (valIndex > -1)
-                    vals[valIndex] = val;
-                else
-                    vals.push(val);
+                    vals.erase(val);
+                else if (negValIndex == -1)
+                    vals.push("-"+val);
             }
-            else
-                vals = vals.erase(val);
             if (vals.length == 0)
                 delete hash[name];
             else
@@ -70,15 +75,21 @@
                         var checks = document.forms[0].elements[key];
                         if (checks) {
                             var vals = $A(hash[key].split('|'));
+                            if ((vals.length == 1) && (vals[0] == ""))
+                                vals.empty();
                             if (typeof checks.length == "undefined") {
                                 if (vals.contains(checks.value)) {
                                     checks.checked = true;
                                 }
+                                if (vals.contains("-"+checks.value))
+                                    checks.checked = false;
                             } else {
                                 for (var i=0; i < checks.length; i++) {
                                     if (vals.contains(checks[i].value)) {
                                         checks[i].checked = true;
                                     }
+                                    if (vals.contains("-"+checks[i].value))
+                                        checks[i].checked = false;
                                 }
                             }
                         }



More information about the rhmessaging-commits mailing list