diff options
author | Aleksander Machniak <alec@alec.pl> | 2014-04-14 20:41:27 +0200 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2014-04-14 20:41:27 +0200 |
commit | 7a5c3a3224bb59740aafceae89d236b19c2d8808 (patch) | |
tree | ce48c18b0d78809c2759bee7c847aa4d12cb75b0 /program/js | |
parent | a12bbbaf41a200e98e437c2082b9dcc68c5a8f46 (diff) |
Fix regression where title attribute for long message subjects wasn't used on IE
Diffstat (limited to 'program/js')
-rw-r--r-- | program/js/app.js | 15 | ||||
-rw-r--r-- | program/js/list.js | 4 |
2 files changed, 9 insertions, 10 deletions
diff --git a/program/js/app.js b/program/js/app.js index 2cc14a79e..45e8dbeea 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -1936,7 +1936,7 @@ function rcube_webmail() // add each submitted col for (n in this.env.listcols) { c = this.env.listcols[n]; - col = { className: String(c).toLowerCase() }; + col = {className: String(c).toLowerCase(), events:{}}; if (this.env.coltypes[c] && this.env.coltypes[c].hidden) { col.className += ' hidden'; @@ -1970,11 +1970,8 @@ function rcube_webmail() else if (c == 'threads') html = expando; else if (c == 'subject') { - if (bw.ie) { - col.onmouseover = function() { rcube_webmail.long_subject_title_ex(this, message.depth+1); }; - if (bw.ie8) - tree = '<span></span>' + tree; // #1487821 - } + if (bw.ie) + col.events.mouseover = function() { rcube_webmail.long_subject_title_ex(this); }; html = tree + cols[c]; } else if (c == 'priority') { @@ -4102,7 +4099,7 @@ function rcube_webmail() li.attr('id', name) .addClass(att.classname) .html(att.html) - .on('mouseover', function() { rcube_webmail.long_subject_title_ex(this, 0); }); + .on('mouseover', function() { rcube_webmail.long_subject_title_ex(this); }); // replace indicator's li if (upload_id && (indicator = document.getElementById(upload_id))) { @@ -7862,7 +7859,7 @@ rcube_webmail.long_subject_title = function(elem, indent) } }; -rcube_webmail.long_subject_title_ex = function(elem, indent) +rcube_webmail.long_subject_title_ex = function(elem) { if (!elem.title) { var $elem = $(elem), @@ -7874,7 +7871,7 @@ rcube_webmail.long_subject_title_ex = function(elem, indent) w = tmp.width(); tmp.remove(); - if (w + indent * 15 > $elem.width()) + if (w + $('span.branch', $elem).width() * 15 > $elem.width()) elem.title = txt; } }; diff --git a/program/js/list.js b/program/js/list.js index 9b7779c7b..a39bb5abe 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -301,11 +301,13 @@ insert_row: function(row, before) if (row.style) $.extend(domrow.style, row.style); if (row.uid) $(domrow).data('uid', row.uid); - for (var domcell, col, i=0; row.cols && i < row.cols.length; i++) { + for (var e, domcell, col, i=0; row.cols && i < row.cols.length; i++) { col = row.cols[i]; domcell = document.createElement(this.col_tagname()); if (col.className) domcell.className = col.className; if (col.innerHTML) domcell.innerHTML = col.innerHTML; + for (e in col.events) + domcell['on' + e] = col.events[e]; domrow.appendChild(domcell); } |