Aleksander Machniak
2016-02-14 58c03846e709b2fe0815d52f112a5565da285ac0
Fix list row selection when provided uid is number not a string
1 files modified
15 ■■■■ changed files
program/js/list.js 15 ●●●● patch | view | raw | blame | history
program/js/list.js
@@ -1104,11 +1104,11 @@
/**
 * Check if given id is part of the current selection
 */
in_selection: function(id)
in_selection: function(id, index)
{
  for (var n in this.selection)
    if (this.selection[n] == id)
      return true;
      return index ? n : true;
  return false;
},
@@ -1256,18 +1256,19 @@
    }
  }
  else {
    if (!this.in_selection(id)) { // select row
    var pre, post, p = this.in_selection(id, true);
    if (p === false) { // select row
      this.selection.push(id);
      $(this.rows[id].obj).addClass('selected').attr('aria-selected', 'true');
      if (!norecur && !this.rows[id].expanded)
        this.highlight_children(id, true);
    }
    else { // unselect row
      var p = $.inArray(id, this.selection),
        a_pre = this.selection.slice(0, p),
        a_post = this.selection.slice(p+1, this.selection.length);
      pre = this.selection.slice(0, p);
      post = this.selection.slice(p+1, this.selection.length);
      this.selection = a_pre.concat(a_post);
      this.selection = pre.concat(post);
      $(this.rows[id].obj).removeClass('selected').removeAttr('aria-selected');
      if (!norecur && !this.rows[id].expanded)
        this.highlight_children(id, false);