svncommit
2007-10-19 3e71ab7a6c84583f23c33c733f606fa1b5d68d4d
Fix moving folders to root, bug introduces when using row id's instead of folder names.


1 files modified
39 ■■■■■ changed files
program/js/app.js 39 ●●●●● patch | view | raw | blame | history
program/js/app.js
@@ -2476,41 +2476,36 @@
    {
    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);
    }