alecpl
2009-04-24 a8030493719c7c960f2c181f1a63b948b5e84aff
program/js/list.js
@@ -98,7 +98,7 @@
/**
 *
 * Init list row and set mouse events on it
 */
init_row: function(row)
{
@@ -123,7 +123,7 @@
/**
 *
 * Remove all list rows
 */
clear: function(sel)
{
@@ -154,20 +154,21 @@
/**
 *
 * Add row to the list and initialize it
 */
insert_row: function(row, attop)
{
  var tbody = this.list.tBodies[0];
  if (!row.jquery)
    row = $(row);
  if (this.background)
    var tbody = this.background;
  else
    var tbody = this.list.tBodies[0];
  if (attop && tbody.rows.length)
    row.prependTo(tbody)
    tbody.insertBefore(row, tbody.firstChild);
  else
    row.appendTo(tbody);
    tbody.appendChild(row);
  this.init_row(row[0]);
  this.init_row(row);
  this.rowcount++;
},
@@ -514,8 +515,7 @@
    }
    else if (this.rows[n])
    {
      this.set_classname(this.rows[n].obj, 'selected', false);
      this.set_classname(this.rows[n].obj, 'unfocused', false);
      $(this.rows[n].obj).removeClass('selected').removeClass('unfocused');
    }
  }
@@ -723,7 +723,7 @@
  
    if (!this.draglayer)
      this.draglayer = $('<div>').attr('id', 'rcmdraglayer').css({ position:'absolute', display:'none', 'z-index':2000 }).appendTo(document.body);
    // get subjects of selectedd messages
    var names = '';
    var c, i, node, subject, obj;
@@ -747,9 +747,12 @@
            if (((node = obj.childNodes[i].firstChild) && (node.nodeType==3 || node.nodeName=='A')) &&
              (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == c)))
            {
              if (n == 0)
                this.drag_start_pos = $(node).offset();
         if (n == 0) {
           if (node.nodeType == 3)
        this.drag_start_pos = $(obj.childNodes[i]).offset();
      else
                  this.drag_start_pos = $(node).offset();
         }
              subject = node.nodeType==3 ? node.data : node.innerHTML;
         // remove leading spaces
         subject = subject.replace(/^\s+/i, '');
@@ -828,6 +831,20 @@
    }
  return rcube_event.cancel(e);
},
/**
 * Creating the list in background
 */
set_background_mode: function(flag)
{
  if (flag) {
    this.background = document.createElement('TBODY');
  } else if (this.background) {
    this.list.replaceChild(this.background, this.list.tBodies[0]);
    this.background = null;
  }
}
};