Aleksander Machniak
2013-12-09 7eecf873da8d2f28e20dc8fd0e949e6abc5762b4
program/js/list.js
@@ -249,6 +249,9 @@
  // reset scroll position (in Opera)
  if (this.frame)
    this.frame.scrollTop = 0;
  // fix list header after removing any rows
  this.resize();
},
@@ -257,7 +260,7 @@
 */
remove_row: function(uid, sel_next)
{
  var node = this.rows[uid] ? this.rows[uid].obj : null;
  var self = this, node = this.rows[uid] ? this.rows[uid].obj : null;
  if (!node)
    return;
@@ -269,6 +272,10 @@
  delete this.rows[uid];
  this.rowcount--;
  // fix list header after removing any rows
  clearTimeout(this.resize_timeout)
  this.resize_timeout = setTimeout(function() { self.resize(); }, 50);
},
@@ -277,7 +284,7 @@
 */
insert_row: function(row, before)
{
  var tbody = this.tbody;
  var self = this, tbody = this.tbody;
  // create a real dom node first
  if (row.nodeName === undefined) {
@@ -305,6 +312,10 @@
  this.init_row(row);
  this.rowcount++;
  // fix list header after adding any rows
  clearTimeout(this.resize_timeout)
  this.resize_timeout = setTimeout(function() { self.resize(); }, 50);
},
/**
@@ -531,17 +542,18 @@
collapse: function(row)
{
  var r, depth = row.depth,
    new_row = row ? row.obj.nextSibling : null;
  row.expanded = false;
  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;
  while (new_row) {
    if (new_row.nodeType == 1) {
      var r = this.rows[new_row.uid];
      r = this.rows[new_row.uid];
      if (r && r.depth <= depth)
        break;
      $(new_row).css('display', 'none');
      if (r.expanded) {
        r.expanded = false;
@@ -553,6 +565,7 @@
  this.resize();
  this.triggerEvent('listupdate');
  return false;
},
@@ -950,7 +963,7 @@
in_selection: function(id)
{
  for (var n in this.selection)
    if (this.selection[n]==id)
    if (this.selection[n] == id)
      return true;
  return false;
@@ -1046,9 +1059,26 @@
/**
 * Getter for the selection array
 */
get_selection: function()
get_selection: function(deep)
{
  return this.selection;
  var res = $.merge([], this.selection);
  // return children of selected threads even if only root is selected
  if (deep !== false && res.length) {
    for (var uid, uids, i=0, len=res.length; i<len; i++) {
      uid = res[i];
      if (this.rows[uid].has_children && !this.rows[uid].expanded) {
        uids = this.row_children(uid);
        for (var j=0, uids_len=uids.length; j<uids_len; j++) {
          uid = uids[j];
          if (!this.in_selection(uid))
            res.push(uid);
        }
      }
    }
  }
  return res;
},
@@ -1314,7 +1344,7 @@
    this.draglayer.html('');
    // get subjects of selected messages
    var i, n, obj, me;
    var n, obj, me = this;
    for (n=0; n<this.selection.length; n++) {
      // only show 12 lines
      if (n>12) {
@@ -1322,9 +1352,8 @@
        break;
      }
      me = this;
      if (obj = this.rows[this.selection[n]].obj) {
        $('> '+this.col_tagname(), obj).each(function(i,elem){
        $('> '+this.col_tagname(), obj).each(function(i, elem) {
          if (n == 0)
            me.drag_start_pos = $(elem).offset();
@@ -1530,7 +1559,7 @@
  while (row) {
    if (row.nodeType == 1) {
      if ((r = this.rows[row.uid])) {
      if (r = this.rows[row.uid]) {
        if (!r.depth || r.depth <= depth)
          break;
        res.push(r.uid);
@@ -1565,7 +1594,7 @@
 */
del_dragfix: function()
{
  $('div.iframe-dragdrop-fix').each(function() { this.parentNode.removeChild(this); });
  $('div.iframe-dragdrop-fix').remove();
},