From f41edfb91f377d2bcede8d28662fb1aedf87ce37 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Wed, 13 Mar 2013 07:02:04 -0400
Subject: [PATCH] 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

---
 program/js/list.js |   23 ++++++-----------------
 1 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/program/js/list.js b/program/js/list.js
index 4eb96b4..9a531ea 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -1143,7 +1143,7 @@
     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 @@
       }
 
       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 (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == i)) {
+              var subject = $(obj.childNodes[i]).text();
 
-              if (!node)
+              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++;
           }
         }
       }

--
Gitblit v1.9.1