From 403b45d55e6d96dae52a81033dc3347dd0d0d8b4 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Sat, 15 May 2010 10:49:10 -0400
Subject: [PATCH] - improve performance of threads expanding/collapsing (significant on IE)
---
program/js/list.js | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/program/js/list.js b/program/js/list.js
index 9493121..480cc62 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -486,7 +486,8 @@
$(new_row).hide();
if (r.has_children) {
r.expanded = false;
- this.update_expando(r.uid);
+ if (!r.depth || !this.multiexpand)
+ this.update_expando(r.uid, false);
this.triggerEvent('expandcollapse', { uid:r.uid, expanded:r.expanded });
}
}
@@ -525,7 +526,12 @@
$(new_row).show();
if (r.has_children) {
r.expanded = true;
- this.update_expando(r.uid, true);
+ // in multiexpand mode only root has expando icon
+ // so we don't need to set it for children, this
+ // improves performance because getElementById()
+ // is relatively slow on IE
+ if (!r.depth || !this.multiexpand)
+ this.update_expando(r.uid, true);
this.triggerEvent('expandcollapse', { uid:r.uid, expanded:r.expanded });
}
}
@@ -1043,9 +1049,7 @@
else
this.collapse(selected_row);
- var expando = document.getElementById('rcmexpando' + selected_row.uid);
- if (expando)
- expando.className = selected_row.expanded?'expanded':'collapsed';
+ this.update_expando(selected_row.uid, selected_row.expanded);
return false;
},
--
Gitblit v1.9.1