Aleksander Machniak
2014-07-26 19577698176df4583cbaecba41c83371c3a368da
program/js/list.js
@@ -61,12 +61,13 @@
  this.keyboard = false;
  this.toggleselect = false;
  this.aria_listbox = false;
  this.parent_focus = true;
  this.drag_active = false;
  this.col_drag_active = false;
  this.column_fixed = null;
  this.last_selected = 0;
  this.shift_start = 0;
  this.last_selected = null;
  this.shift_start = null;
  this.focused = false;
  this.drag_mouse_start = null;
  this.dblclick_time = 500; // default value on MS Windows is 500
@@ -104,11 +105,13 @@
      $(this.list).attr('aria-multiselectable', 'true');
  }
  var me = this;
  if (this.tbody) {
    this.rows = {};
    this.rowcount = 0;
    var r, len, rows = this.tbody.childNodes, me = this;
    var r, len, rows = this.tbody.childNodes;
    for (r=0, len=rows.length; r<len; r++) {
      this.rowcount += this.init_row(rows[r]) ? 1 : 0;
@@ -125,6 +128,10 @@
      $(this.list).attr('tabindex', '0')
        .on('focus', function(e){ me.focus(e); });
    }
  }
  if (this.parent_focus) {
    this.list.parentNode.onclick = function(e) { me.focus(e); };
  }
  return this;
@@ -293,7 +300,7 @@
  this.rows = {};
  this.rowcount = 0;
  this.last_selected = 0;
  this.last_selected = null;
  if (sel)
    this.clear_selection();
@@ -939,13 +946,13 @@
    this.multi_selecting = true;
  }
  if (this.last_selected != 0 && this.rows[this.last_selected]) {
  if (this.last_selected && this.rows[this.last_selected]) {
    $(this.rows[this.last_selected].obj).removeClass('focused')
      .find(this.col_tagname()).eq(this.subject_col).removeAttr('tabindex');
  }
  // unselect if toggleselect is active and the same row was clicked again
  if (this.toggleselect && in_selection_before) {
  if (this.toggleselect && in_selection_before && !mod_key) {
    this.clear_selection();
  }
  // trigger event if selection changed
@@ -1171,7 +1178,7 @@
  if (num_select && !this.selection.length && !no_event) {
    this.triggerEvent('select');
    this.last_selected = 0;
    this.last_selected = null;
  }
},