svncommit
2007-02-21 6ea80c84afa782ed650ec07123f885586fe4de27
Faster sorting of subscription folder list.


1 files modified
25 ■■■■ changed files
program/js/app.js 25 ●●●● patch | view | raw | blame | history
program/js/app.js
@@ -2737,28 +2737,27 @@
  // sort subscription folder list
  this.sort_subscription_list = function()
    {
    var index = new Array();
    var tbody = this.gui_objects.subscriptionlist.tBodies[0];
    for (var i = 0; i<(tbody.childNodes.length-1); i++)
      {
      if (this.env.subscriptionrows[tbody.childNodes[i].id]!=null)
        {
        var swapped = false;
        for (var j = i+1; j<(tbody.childNodes.length); j++)
    for (var i = 0; i<(tbody.childNodes.length-1); i++)
      if (this.env.subscriptionrows[tbody.childNodes[i].id]!=null)
        index.push(i);
    for (i = 0; i<(index.length-1); i++)
          {
          if ((this.env.subscriptionrows[tbody.childNodes[j].id]!=null) &&
              (this.env.subscriptionrows[tbody.childNodes[i].id][0]>
               this.env.subscriptionrows[tbody.childNodes[j].id][0]))
      if (this.env.subscriptionrows[tbody.childNodes[index[i]].id][0]>
          this.env.subscriptionrows[tbody.childNodes[index[i+1]].id][0])
            {
            var swap = tbody.replaceChild(tbody.childNodes[i], tbody.childNodes[j]);
            if (typeof(tbody.childNodes[i]) != 'undefined')
              tbody.insertBefore(swap, tbody.childNodes[i])
        var swap = tbody.replaceChild(tbody.childNodes[index[i]], tbody.childNodes[index[i+1]]);
        if (typeof(tbody.childNodes[index[i]]) != 'undefined')
          tbody.insertBefore(swap, tbody.childNodes[index[i]])
            else
              tbody.appendChild(swap);
            swapped = true;
            }
          }
        }
      }
    if (swapped)
      this.sort_subscription_list();
    };