summaryrefslogtreecommitdiff
path: root/program/js/list.js
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-03-13 12:02:04 +0100
committerAleksander Machniak <alec@alec.pl>2013-03-13 12:02:04 +0100
commitf41edfb91f377d2bcede8d28662fb1aedf87ce37 (patch)
tree834508d1172c7add9512412de7f8dc2831009d80 /program/js/list.js
parent567e45ba565b1d03d8dc981dc0dfbc49eec4a355 (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.js25
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++;
}
}
}