fix view() being called twice on every headline click, experimental progress indicators for feedlist/headlines
This commit is contained in:
parent
449cba7c38
commit
6e35a862dd
5 changed files with 61 additions and 12 deletions
12
feedlist.js
12
feedlist.js
|
@ -315,7 +315,17 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) {
|
|||
} else {
|
||||
|
||||
if (!page_offset) {
|
||||
notify_progress("Loading, please wait...", true);
|
||||
var feedr = $('FEEDR-' + feed);
|
||||
|
||||
if (feedr) {
|
||||
var ll = document.createElement('img');
|
||||
|
||||
ll.src = 'images/indicator_tiny.gif';
|
||||
ll.className = 'hlLoading';
|
||||
ll.id = 'FLL-' + feed;
|
||||
|
||||
feedr.appendChild(ll);
|
||||
}
|
||||
}
|
||||
|
||||
new Ajax.Request(query, {
|
||||
|
|
|
@ -5119,11 +5119,11 @@
|
|||
# truncate_string($line["feed_title"],30)."</a> </td>";
|
||||
# } else {
|
||||
|
||||
print "<td onclick='view($id,$feed_id)' class='hlContent$hlc_suffix' valign='middle'>";
|
||||
print "<td onclick='view($id,$feed_id)' class='hlContent$hlc_suffix' valign='middle' id='HLC-$id'>";
|
||||
|
||||
print "<a id=\"RTITLE-$id\"
|
||||
href=\"" . htmlspecialchars($line["link"]) . "\"
|
||||
onclick=\"return view($id,$feed_id);\">" .
|
||||
onclick=\"return false\">" .
|
||||
$line["title"];
|
||||
|
||||
if (get_pref($link, 'SHOW_CONTENT_PREVIEW')) {
|
||||
|
@ -5147,6 +5147,10 @@
|
|||
</span>";
|
||||
}
|
||||
}
|
||||
|
||||
// print "<img id='HLL-$id' class='hlLoading'
|
||||
// src='images/indicator_tiny.gif' style='display : none'>";
|
||||
|
||||
print "</td>";
|
||||
|
||||
# }
|
||||
|
|
BIN
images/indicator_tiny.gif
Normal file
BIN
images/indicator_tiny.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 723 B |
11
tt-rss.css
11
tt-rss.css
|
@ -105,6 +105,12 @@ div.postReply span.author {
|
|||
font-size : 12px;
|
||||
}
|
||||
|
||||
ul.feedList img.hlLoading {
|
||||
margin-left : 5px;
|
||||
vertical-align : middle;
|
||||
height : 10px;
|
||||
}
|
||||
|
||||
ul.feedList {
|
||||
list-style-type : none;
|
||||
margin : 5px 5px 5px 0px;
|
||||
|
@ -915,6 +921,11 @@ table.headlinesList span.hlLabelRef, div.cdmHeader span.hlLabelRef {
|
|||
white-space: nowrap;
|
||||
}
|
||||
|
||||
table.headlinesList img.hlLoading {
|
||||
margin-left : 5px;
|
||||
vertical-align : middle;
|
||||
}
|
||||
|
||||
table.headlinesList td.hlFeedIcon {
|
||||
width : 25px;
|
||||
text-align : center;
|
||||
|
|
42
viewfeed.js
42
viewfeed.js
|
@ -106,18 +106,23 @@ function headlines_callback2(transport, feed_cur_page) {
|
|||
}
|
||||
}
|
||||
|
||||
var ll = $('FLL-' + feed_id);
|
||||
|
||||
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";
|
||||
}
|
||||
if (feedr && ll) feedr.removeChild(ll);
|
||||
|
||||
}
|
||||
|
||||
|
||||
var f = $("headlines-frame");
|
||||
try {
|
||||
if (feed_cur_page == 0) {
|
||||
|
@ -363,6 +368,19 @@ function article_callback2(transport, id, feed_id) {
|
|||
|
||||
if (!transport_error_check(transport)) return;
|
||||
|
||||
var ll = $('LL-' + id);
|
||||
var content = $('HLC-' + id);
|
||||
|
||||
if (ll && content) content.removeChild(ll);
|
||||
|
||||
if (id != last_requested_article) {
|
||||
debug("requested article id is out of sequence, aborting");
|
||||
return;
|
||||
}
|
||||
|
||||
active_real_feed_id = feed_id;
|
||||
active_post_id = id;
|
||||
|
||||
debug("looking for articles to cache...");
|
||||
|
||||
var articles = transport.responseXML.getElementsByTagName("article");
|
||||
|
@ -380,13 +398,6 @@ function article_callback2(transport, id, feed_id) {
|
|||
cache_inject(a_id, articles[i].firstChild.nodeValue);
|
||||
}
|
||||
|
||||
if (id != last_requested_article) {
|
||||
debug("requested article id is out of sequence, aborting");
|
||||
return;
|
||||
}
|
||||
|
||||
active_real_feed_id = feed_id;
|
||||
active_post_id = id;
|
||||
|
||||
showArticleInHeadlines(id);
|
||||
|
||||
|
@ -491,7 +502,20 @@ function view(id, feed_id, skip_history) {
|
|||
|
||||
if (!cached_article) {
|
||||
|
||||
notify_progress("Loading, please wait...", true);
|
||||
// notify_progress("Loading, please wait...", true);
|
||||
|
||||
var content = $('HLC-' + id);
|
||||
|
||||
if (content && !$('LL-' + id)) {
|
||||
var ll = document.createElement('img');
|
||||
|
||||
ll.src = 'images/indicator_tiny.gif';
|
||||
ll.className = 'hlLoading';
|
||||
ll.id = 'LL-' + id;
|
||||
|
||||
content.appendChild(ll);
|
||||
|
||||
}
|
||||
|
||||
} else if (cached_article && article_is_unread) {
|
||||
|
||||
|
|
Loading…
Reference in a new issue