From 32afefb851dd3a93c1497a8e63ec3460430a4357 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Tue, 24 Jan 2012 03:30:52 -0500
Subject: [PATCH] Fix thread expand/collapse callbacks which set css classes

---
 program/js/list.js |   16 ++++++++--------
 program/js/app.js  |    2 +-
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/program/js/app.js b/program/js/app.js
index cdc3aa0..53a7462 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -1623,6 +1623,7 @@
   {
     if (this.env.messages[row.uid])
       this.env.messages[row.uid].expanded = row.expanded;
+    $(row.obj)[row.expanded?'addClass':'removeClass']('expanded');
   };
 
   this.msglist_set_coltypes = function(list)
@@ -2146,7 +2147,6 @@
     this.set_unread_children(uid);
     row.expanded = !row.expanded;
 
-    $(row.obj)[row.expanded?'removeClass':'addClass']('expanded');
     this.message_list.expand_row(e, uid);
   };
 
diff --git a/program/js/list.js b/program/js/list.js
index 546fd60..c21ba71 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -419,7 +419,7 @@
 collapse: function(row)
 {
   row.expanded = false;
-  this.triggerEvent('expandcollapse', { uid:row.uid, expanded:row.expanded });
+  this.triggerEvent('expandcollapse', { uid:row.uid, expanded:row.expanded, obj:row.obj });
   var depth = row.depth;
   var new_row = row ? row.obj.nextSibling : null;
   var r;
@@ -432,7 +432,7 @@
       $(new_row).css('display', 'none');
       if (r.expanded) {
         r.expanded = false;
-        this.triggerEvent('expandcollapse', { uid:r.uid, expanded:r.expanded });
+        this.triggerEvent('expandcollapse', { uid:r.uid, expanded:r.expanded, obj:new_row });
       }
     }
     new_row = new_row.nextSibling;
@@ -450,7 +450,7 @@
     depth = row.depth;
     new_row = row.obj.nextSibling;
     this.update_expando(row.uid, true);
-    this.triggerEvent('expandcollapse', { uid:row.uid, expanded:row.expanded });
+    this.triggerEvent('expandcollapse', { uid:row.uid, expanded:row.expanded, obj:row.obj });
   }
   else {
     var tbody = this.list.tBodies[0];
@@ -473,7 +473,7 @@
               last_expanded_parent_depth = p.depth;
               $(new_row).css('display', '');
               r.expanded = true;
-              this.triggerEvent('expandcollapse', { uid:r.uid, expanded:r.expanded });
+              this.triggerEvent('expandcollapse', { uid:r.uid, expanded:r.expanded, obj:new_row });
             }
           }
           else
@@ -498,7 +498,7 @@
     depth = row.depth;
     new_row = row.obj.nextSibling;
     this.update_expando(row.uid);
-    this.triggerEvent('expandcollapse', { uid:row.uid, expanded:row.expanded });
+    this.triggerEvent('expandcollapse', { uid:row.uid, expanded:row.expanded, obj:row.obj });
 
     // don't collapse sub-root tree in multiexpand mode 
     if (depth && this.multiexpand)
@@ -520,7 +520,7 @@
         if (r.has_children && r.expanded) {
           r.expanded = false;
           this.update_expando(r.uid, false);
-          this.triggerEvent('expandcollapse', { uid:r.uid, expanded:r.expanded });
+          this.triggerEvent('expandcollapse', { uid:r.uid, expanded:r.expanded, obj:new_row });
         }
       }
     }
@@ -539,7 +539,7 @@
     depth = row.depth;
     new_row = row.obj.nextSibling;
     this.update_expando(row.uid, true);
-    this.triggerEvent('expandcollapse', { uid:row.uid, expanded:row.expanded });
+    this.triggerEvent('expandcollapse', { uid:row.uid, expanded:row.expanded, obj:row.obj });
   }
   else {
     new_row = this.list.tBodies[0].firstChild;
@@ -556,7 +556,7 @@
         if (r.has_children && !r.expanded) {
           r.expanded = true;
           this.update_expando(r.uid, true);
-          this.triggerEvent('expandcollapse', { uid:r.uid, expanded:r.expanded });
+          this.triggerEvent('expandcollapse', { uid:r.uid, expanded:r.expanded, obj:new_row });
         }
       }
     }

--
Gitblit v1.9.1