alecpl
2010-05-15 403b45d55e6d96dae52a81033dc3347dd0d0d8b4
- improve performance of threads expanding/collapsing (significant on IE)


1 files modified
14 ■■■■■ changed files
program/js/list.js 14 ●●●●● patch | view | raw | blame | history
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;
},