Fix responses list update issue after response name change (#1490555)

pull/315/head
Aleksander Machniak 9 years ago
parent ba48318e2c
commit 5e6f6ac539

@ -4,6 +4,7 @@ CHANGELOG Roundcube Webmail
- 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
-------------

@ -114,7 +114,8 @@ init: function()
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 @@ init_row: function(row)
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 @@ insert_row: function(row, before)
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 @@ update_row: function(id, cols, newid, select)
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 @@ update_expando: function(id, expanded)
get_row_uid: function(row)
{
if (row && row.uid)
return row.uid;
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)
return;
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;
},

Loading…
Cancel
Save