From ef17c54e739676a73fff69fa85ea39a3a516fcab Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 12 Nov 2010 13:50:24 -0500
Subject: [PATCH] - Fix IE issue when replacing spaces doesn't work - Some code improvements

---
 program/js/list.js |   25 ++++++++++++++-----------
 1 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/program/js/list.js b/program/js/list.js
index 22c8080..aabba08 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -862,7 +862,7 @@
 
   // one row
   if (id) {
-    for (var n=0 in this.selection)
+    for (var n in this.selection)
       if (this.selection[n] == id) {
         this.selection.splice(n,1);
         break;
@@ -1118,13 +1118,15 @@
         this.select_childs(uid);
     }
 
+    // reset content
+    this.draglayer.html('');
+
     // get subjects of selected messages
-    var names = '';
-    var c, i, subject, obj;
-    for (var n=0; n<this.selection.length; n++) {
+    var c, i, n, subject, obj;
+    for (n=0; n<this.selection.length; n++) {
       // only show 12 lines
       if (n>12) {
-        names += '...';
+        this.draglayer.append('...');
         break;
       }
 
@@ -1137,7 +1139,7 @@
 	          this.drag_start_pos = $(obj.childNodes[i]).offset();
 
 	        if (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == c)) {
-	          var node, tmp_node, nodes = obj.childNodes[i].childNodes;
+	          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'))
@@ -1147,11 +1149,14 @@
 	          if (!node)
 	            break;
 
-              subject = node.nodeType==3 ? node.data : node.innerHTML;
+              subject = $(node).text();
 	          // remove leading spaces
-	          subject = subject.replace(/^\s+/i, '');
+              subject = $.trim(subject);
               // truncate line to 50 characters
-	          names += (subject.length > 50 ? subject.substring(0, 50)+'...' : subject) + '<br />';
+              subject = (subject.length > 50 ? subject.substring(0, 50) + '...' : subject);
+
+              entry = $('<div>').text(subject);
+	          this.draglayer.append(entry);
               break;
             }
             c++;
@@ -1160,9 +1165,7 @@
       }
     }
 
-    this.draglayer.html(names);
     this.draglayer.show();
-
     this.drag_active = true;
     this.triggerEvent('dragstart');
   }

--
Gitblit v1.9.1