summaryrefslogtreecommitdiff
path: root/program/js/list.js
diff options
context:
space:
mode:
Diffstat (limited to 'program/js/list.js')
-rw-r--r--program/js/list.js43
1 files changed, 20 insertions, 23 deletions
diff --git a/program/js/list.js b/program/js/list.js
index 660b74d85..8b4857d6d 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -3,7 +3,7 @@
| Roundcube List Widget |
| |
| This file is part of the Roundcube Webmail client |
- | Copyright (C) 2006-2009, The Roundcube Dev Team |
+ | Copyright (C) 2006-2013, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -434,6 +434,7 @@ collapse: function(row)
new_row = new_row.nextSibling;
}
+ this.triggerEvent('listupdate');
return false;
},
@@ -481,6 +482,7 @@ expand: function(row)
new_row = new_row.nextSibling;
}
+ this.triggerEvent('listupdate');
return false;
},
@@ -523,6 +525,7 @@ collapse_all: function(row)
new_row = new_row.nextSibling;
}
+ this.triggerEvent('listupdate');
return false;
},
@@ -559,6 +562,8 @@ expand_all: function(row)
}
new_row = new_row.nextSibling;
}
+
+ this.triggerEvent('listupdate');
return false;
},
@@ -687,6 +692,7 @@ select_row: function(id, mod_key, with_mouse)
this.shift_start = null;
this.last_selected = id;
+ this.list.focus();
},
@@ -1138,7 +1144,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) {
@@ -1147,35 +1153,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++) {
- if (obj.childNodes[i].nodeName == 'TD') {
+ 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();
+ 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;
- }
+ if (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == i)) {
+ var subject = $(obj.childNodes[i]).text();
- if (!node)
- break;
+ if (!subject)
+ break;
- subject = $(node).text();
- // remove leading spaces
+ // remove leading spaces
subject = $.trim(subject);
// truncate line to 50 characters
subject = (subject.length > 50 ? subject.substring(0, 50) + '...' : subject);
- entry = $('<div>').text(subject);
- this.draglayer.append(entry);
+ var entry = $('<div>').text(subject);
+ this.draglayer.append(entry);
break;
}
- c++;
}
}
}
@@ -1232,7 +1229,7 @@ drag_mouse_up: function(e)
// remove temp divs
this.del_dragfix();
- this.triggerEvent('dragend');
+ this.triggerEvent('dragend', e);
return rcube_event.cancel(e);
},
@@ -1345,7 +1342,7 @@ column_drag_mouse_up: function(e)
}
}
- this.triggerEvent('column_dragend');
+ this.triggerEvent('column_dragend', e);
return rcube_event.cancel(e);
},