diff options
Diffstat (limited to 'viewfeed.js')
-rw-r--r-- | viewfeed.js | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/viewfeed.js b/viewfeed.js index 552e42d03..9d5af3adf 100644 --- a/viewfeed.js +++ b/viewfeed.js @@ -72,6 +72,17 @@ function headlines_callback2(transport, feed_cur_page) { dijit.byId("headlines-toolbar").attr('content', reply['headlines']['toolbar']); + var hsp = $("headlines-spacer"); + if (!hsp) hsp = document.createElement("DIV"); + + hsp.id = "headlines-spacer"; + + if (!_infscroll_disable) + hsp.innerHTML = "<img src='images/indicator_tiny.gif'> " + + __("Loading, please wait..."); + + dijit.byId('headlines-frame').domNode.appendChild(hsp); + initHeadlinesMenu(); } else { @@ -83,10 +94,25 @@ function headlines_callback2(transport, feed_cur_page) { $("headlines-tmp").innerHTML = reply['headlines']['content']; + var hsp = $("headlines-spacer"); + + if (hsp) + c.domNode.removeChild(hsp); + $$("#headlines-tmp > div").each(function(row) { c.domNode.appendChild(row); }); + if (!hsp) hsp = document.createElement("DIV"); + + hsp.id = "headlines-spacer"; + + if (!_infscroll_disable) + hsp.innerHTML = "<img src='images/indicator_tiny.gif'> " + + __("Loading, please wait..."); + + c.domNode.appendChild(hsp); + console.log("restore selected ids: " + ids); for (var i = 0; i < ids.length; i++) { @@ -97,6 +123,10 @@ function headlines_callback2(transport, feed_cur_page) { } else { console.log("no new headlines received"); + + var hsp = $("headlines-spacer"); + + if (hsp) hsp.innerHTML = ""; } } @@ -1306,14 +1336,18 @@ function postMouseOut(id) { function headlines_scroll_handler(e) { try { + var hsp = $("headlines-spacer"); + + if (!_infscroll_disable) { + if (hsp && (e.scrollTop + e.offsetHeight > hsp.offsetTop) || + e.scrollTop + e.offsetHeight > e.scrollHeight - 100) { - if (e.scrollTop + e.offsetHeight > e.scrollHeight - 100) { - if (!_infscroll_disable) { viewNextFeedPage(); } + } else { + if (hsp) hsp.innerHTML = ""; } - if (getInitParam("cdm_auto_catchup") == 1) { var ids = []; |