diff options
author | svncommit <devs@roundcube.net> | 2007-10-19 14:04:43 +0000 |
---|---|---|
committer | svncommit <devs@roundcube.net> | 2007-10-19 14:04:43 +0000 |
commit | 3e71ab7a6c84583f23c33c733f606fa1b5d68d4d (patch) | |
tree | 288aab7fb6a55e7dfc5e35094978497d09e20edd /program | |
parent | 68b6a9e8e49fcd17b5e71cb6c0162fdbd39b44f3 (diff) |
Fix moving folders to root, bug introduces when using row id's instead of folder names.
Diffstat (limited to 'program')
-rw-r--r-- | program/js/app.js | 39 |
1 files changed, 17 insertions, 22 deletions
diff --git a/program/js/app.js b/program/js/app.js index 5d4f48fbf..c7588469b 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -2476,41 +2476,36 @@ function rcube_webmail() { var row, folder; var reg = RegExp('['+RegExp.escape(this.env.delimiter)+']?[^'+RegExp.escape(this.env.delimiter)+']+$'); - if (this.env.subscriptionrows[id] && - (folder = this.env.subscriptionrows[id][0]) && - this.drag_active && this.check_droptarget(folder) && - (folder != this.env.folder.replace(reg, '')) && - (!folder.match(new RegExp('^'+RegExp.escape(this.env.folder+this.env.delimiter)))) && - (row = document.getElementById(id))) - if (find_in_array(this.env.defaultfolders, folder)>=0) + + if (this.drag_active && (row = document.getElementById(id))) + if (this.env.subscriptionrows[id] && + (folder = this.env.subscriptionrows[id][0])) { - if (this.env.folder.replace(reg, '')!='') + if (this.check_droptarget(folder) && + (folder != this.env.folder.replace(reg, '')) && + (!folder.match(new RegExp('^'+RegExp.escape(this.env.folder+this.env.delimiter))))) { - this.set_env('dstfolder', this.env.delimiter); - this.set_classname(this.subscription_list.frame, 'droptarget', true); + this.set_env('dstfolder', folder); + this.set_classname(row, 'droptarget', true); } } - else + else if (this.env.folder.match(new RegExp(RegExp.escape(this.env.delimiter)))) { - this.set_env('dstfolder', folder); - this.set_classname(row, 'droptarget', true); + this.set_env('dstfolder', this.env.delimiter); + this.set_classname(this.subscription_list.frame, 'droptarget', true); } } this.unfocus_subscription = function(id) { - var row, folder; - if (this.env.subscriptionrows[id] && - (folder = this.env.subscriptionrows[id][0]) && - (row = document.getElementById(id))) - { + var row; this.set_env('dstfolder', null); - if (find_in_array(this.env.defaultfolders, folder)>=0) - this.set_classname(this.subscription_list.frame, 'droptarget', false); - else + if (this.env.subscriptionrows[id] && + (row = document.getElementById(id))) this.set_classname(row, 'droptarget', false); - } + else + this.set_classname(this.subscription_list.frame, 'droptarget', false); } |