diff options
author | Aleksander Machniak <alec@alec.pl> | 2013-03-13 12:02:04 +0100 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2013-03-13 12:02:04 +0100 |
commit | f41edfb91f377d2bcede8d28662fb1aedf87ce37 (patch) | |
tree | 834508d1172c7add9512412de7f8dc2831009d80 /program/js/list.js | |
parent | 567e45ba565b1d03d8dc981dc0dfbc49eec4a355 (diff) |
Fix draglayer list building, so the element used as the text source can
contain any element, not only A tag or text node, but also e.g. span
Diffstat (limited to 'program/js/list.js')
-rw-r--r-- | program/js/list.js | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/program/js/list.js b/program/js/list.js index 4eb96b417..9a531eaea 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -1143,7 +1143,7 @@ drag_mouse_move: function(e) this.draglayer.html(''); // get subjects of selected messages - var c, i, n, subject, obj; + var i, n, obj; for (n=0; n<this.selection.length; n++) { // only show 12 lines if (n>12) { @@ -1152,37 +1152,26 @@ drag_mouse_move: function(e) } if (obj = this.rows[this.selection[n]].obj) { - subject = ''; - - for (c=0, i=0; i<obj.childNodes.length; i++) { + for (i=0; i<obj.childNodes.length; i++) { if (obj.childNodes[i].nodeName == 'TD') { if (n == 0) this.drag_start_pos = $(obj.childNodes[i]).offset(); - if (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == c)) { - var entry, node, tmp_node, nodes = obj.childNodes[i].childNodes; - // find text node - for (m=0; m<nodes.length; m++) { - if ((tmp_node = obj.childNodes[i].childNodes[m]) && (tmp_node.nodeType == 3 || tmp_node.nodeName == 'A')) { - node = tmp_node; - break; - } - } - - if (!node) + if (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == i)) { + var subject = $(obj.childNodes[i]).text(); + + if (!subject) break; - subject = $(node).text(); // remove leading spaces subject = $.trim(subject); // truncate line to 50 characters subject = (subject.length > 50 ? subject.substring(0, 50) + '...' : subject); - entry = $('<div>').text(subject); + var entry = $('<div>').text(subject); this.draglayer.append(entry); break; } - c++; } } } |