From 95d0edcc4e4c52c5ba5a8f2e213cd23e4020d590 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 22 Oct 2009 15:46:56 +0400 Subject: [PATCH] resort_category: proper fix for flat list mode --- functions.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/functions.js b/functions.js index cffb79417..f6ef03d96 100644 --- a/functions.js +++ b/functions.js @@ -691,11 +691,11 @@ function get_feed_entry_name(elem) { } -function resort_category(node) { +function resort_category(node, cat_mode) { try { - debug("resort_category: " + node); + debug("resort_category: " + node + " CM=" + cat_mode); var by_unread = feedsSortByUnread(); @@ -710,8 +710,11 @@ function resort_category(node) { var tmp_name = get_feed_entry_name(list[i]); var cur_name = get_feed_entry_name(list[j]); - - if ((by_unread && (cur_val > tmp_val)) || (!by_unread && (cur_name < tmp_name))) { + + var valid_pair = cat_mode || (list[i].id.match(/FEEDR-[0-9]/) && + list[j].id.match(/FEEDR-[0-9]/)); + + if (valid_pair && ((by_unread && (cur_val > tmp_val)) || (!by_unread && (cur_name < tmp_name)))) { tempnode_i = list[i].cloneNode(true); tempnode_j = list[j].cloneNode(true); node.replaceChild(tempnode_i, list[j]); @@ -735,12 +738,12 @@ function resort_feedlist() { for (var i = 0; i < lists.length; i++) { if (lists[i].id && lists[i].id.match("FCATLIST-")) { - resort_category(lists[i]); + resort_category(lists[i], true); } } } else { - //resort_category($("feedList")); + resort_category($("feedList"), false); } }