summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsvncommit <devs@roundcube.net>2007-10-19 14:04:43 +0000
committersvncommit <devs@roundcube.net>2007-10-19 14:04:43 +0000
commit3e71ab7a6c84583f23c33c733f606fa1b5d68d4d (patch)
tree288aab7fb6a55e7dfc5e35094978497d09e20edd
parent68b6a9e8e49fcd17b5e71cb6c0162fdbd39b44f3 (diff)
Fix moving folders to root, bug introduces when using row id's instead of folder names.
-rw-r--r--program/js/app.js39
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);
}