Aleksander Machniak
2015-09-30 5e6f6ac5395323cc1c1b93ed6d7f6ce83945b251
Fix responses list update issue after response name change (#1490555)
2 files modified
36 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/js/list.js 35 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -4,6 +4,7 @@
- Fix so Installer requires PHP5
- Make brute force attacks harder by re-generating security token on every failed login (#1490549)
- Fix so database_attachments::cleanup() does not remove attachments from other sessions (#1490542)
- Fix responses list update issue after response name change (#1490555)
RELEASE 1.1.3
-------------
program/js/list.js
@@ -114,7 +114,8 @@
    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;
      if (rows[r].nodeType == 1)
        this.rowcount += this.init_row(rows[r]) ? 1 : 0;
    }
    this.init_header();
@@ -150,8 +151,9 @@
    var self = this, uid = row.uid;
    this.rows[uid] = {uid:uid, id:row.id, obj:row};
    // set eventhandlers to table row (only left-button-clicks in mouseup)
    $(row).mousedown(function(e) { return self.drag_row(e, this.uid); })
    $(row).data('uid', uid)
      // set eventhandlers to table row (only left-button-clicks in mouseup)
      .mousedown(function(e) { return self.drag_row(e, this.uid); })
      .mouseup(function(e) {
        if (e.which == 1 && !self.drag_active)
          return self.click_row(e, this.uid);
@@ -355,10 +357,11 @@
  if (row.nodeName === undefined) {
    // for performance reasons use DOM instead of jQuery here
    var domrow = document.createElement(this.row_tagname());
    if (row.id) domrow.id = row.id;
    if (row.uid) domrow.uid = row.uid;
    if (row.className) domrow.className = row.className;
    if (row.style) $.extend(domrow.style, row.style);
    if (row.uid) $(domrow).data('uid', String(row.uid)); // #1489906
    for (var e, domcell, col, i=0; row.cols && i < row.cols.length; i++) {
      col = row.cols[i];
@@ -394,18 +397,22 @@
  var row = this.rows[id];
  if (!row) return false;
  var domrow = row.obj;
  for (var domcell, col, i=0; cols && i < cols.length; i++) {
  var i, domrow = row.obj;
  for (i = 0; cols && i < cols.length; i++) {
    this.get_cell(domrow, i).html(cols[i]);
  }
  if (newid) {
    delete this.rows[id];
    domrow.uid = newid;
    domrow.id = 'rcmrow' + newid;
    this.init_row(domrow);
    if (select)
      this.selection[0] = newid;
    if (this.last_selected == id)
      this.last_selected = newid;
  }
},
@@ -826,14 +833,16 @@
get_row_uid: function(row)
{
  if (row && row.uid)
    return row.uid;
  if (!row)
    return;
  var uid;
  if (row && (uid = $(row).data('uid')))
    row.uid = uid;
  else if (row && String(row.id).match(this.id_regexp))
    row.uid = RegExp.$1;
  if (!row.uid) {
    var uid = $(row).data('uid');
    if (uid)
      row.uid = uid;
    else if (String(row.id).match(this.id_regexp))
      row.uid = RegExp.$1;
  }
  return row.uid;
},