alecpl
2008-06-11 287227502a35aa895c6ec218f3ead6b8bbf27926
program/js/list.js
@@ -35,6 +35,7 @@
  this.subject_col = -1;
  this.shiftkey = false;
  this.multiselect = false;
  this.multi_selecting = false;
  this.draggable = false;
  this.keyboard = false;
  this.toggleselect = false;
@@ -171,7 +172,7 @@
  for (var n=0; n<this.selection.length; n++)
  {
    id = this.selection[n];
    if (this.rows[id].obj)
    if (this.rows[id] && this.rows[id].obj)
    {
      this.set_classname(this.rows[id].obj, 'selected', true);
      this.set_classname(this.rows[id].obj, 'unfocused', false);
@@ -319,6 +320,7 @@
  {
    this.shift_start = id;
    this.highlight_row(id, false);
    this.multi_selecting = false;
  }
  else
  {
@@ -341,6 +343,7 @@
        this.highlight_row(id, false);
        break;
    }
    this.multi_selecting = true;
  }
  // trigger event if selection changed
@@ -395,6 +398,9 @@
 */
shift_select: function(id, control)
{
  if (!this.rows[this.shift_start] || !this.selection.length)
    this.shift_start = id;
  var from_rowIndex = this.rows[this.shift_start].obj.rowIndex;
  var to_rowIndex = this.rows[id].obj.rowIndex;
@@ -456,6 +462,8 @@
  if (this.selection.join(',') != select_before)
    this.trigger_event('select');
  this.focus();
  return true;
},
@@ -508,7 +516,7 @@
{
  if (this.rows[id] && !multiple)
  {
    if (!this.in_selection(id))
    if (this.selection.length > 1 || !this.in_selection(id))
    {
      this.clear_selection();
      this.selection[0] = id;
@@ -684,6 +692,8 @@
  rcube_event.remove_listener({element:document, event:'mousemove', object:this, method:'drag_mouse_move'});
  rcube_event.remove_listener({element:document, event:'mouseup', object:this, method:'drag_mouse_up'});
  this.focus();
  return rcube_event.cancel(e);
},