From 2ab31493c9732d34185274582aae4bc4e3351f7f Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 11 Nov 2010 15:29:46 +0300 Subject: when trying to load a feed from collapsed category, show loading indicator in category title --- feedlist.js | 37 +++++++++++++++++++++++++++++++------ viewfeed.js | 8 +++----- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/feedlist.js b/feedlist.js index 3ae69d74a..9032ba026 100644 --- a/feedlist.js +++ b/feedlist.js @@ -287,11 +287,28 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) { if (!is_cat && img) { - if (!img.src.match("indicator_white")) { - img.alt = img.src; - img.src = getInitParam("sign_progress"); - } + var cat_list = feedr.parentNode; + + if (!cat_list || Element.visible(cat_list)) { + if (!img.src.match("indicator_white")) { + img.alt = img.src; + img.src = getInitParam("sign_progress"); + } + } else if (cat_list) { + feed_cat_id = cat_list.id.replace("FCATLIST-", ""); + + if (!$('FLL-' + feed_cat_id)) { + + var ll = document.createElement('img'); + ll.src = getInitParam("sign_progress_tiny"); + ll.className = 'hlLoading'; + ll.id = 'FLL-' + feed; + + $("FCAP-" + feed_cat_id).appendChild(ll); + } + } + } else { if (!$('FLL-' + feed)) { @@ -304,8 +321,8 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) { feedr.appendChild(ll); } } - } - } + } + } new Ajax.Request("backend.php", { parameters: query, @@ -362,6 +379,14 @@ function toggleCollapseCat(cat) { } } +function isCatCollapsed(cat) { + try { + return Element.visible("FCATLIST-" + cat); + } catch (e) { + exception_error("isCatCollapsed", e); + } +} + function feedlist_dragsorted(ctr) { try { var elem = $("feedList"); diff --git a/viewfeed.js b/viewfeed.js index c30a2c6b0..872db9a0a 100644 --- a/viewfeed.js +++ b/viewfeed.js @@ -77,21 +77,19 @@ function headlines_callback2(transport, feed_cur_page) { var ll = $('FLL-' + feed_id); + if (ll && ll.parentNode) + ll.parentNode.removeChild(ll); + if (!is_cat) { var feedr = $("FEEDR-" + feed_id); if (feedr && !feedr.className.match("Selected")) { feedr.className = feedr.className + "Selected"; } - if (feedr && ll) feedr.removeChild(ll); } else { var feedr = $("FCAT-" + feed_id); if (feedr && !feedr.className.match("Selected")) { feedr.className = feedr.className + "Selected"; } - - var fcap = $("FCAP-" + feed_id); - if (fcap && ll) fcap.removeChild(ll); - } var img = $('FIMG-' + feed_id); -- cgit v1.2.3