summaryrefslogtreecommitdiff
path: root/viewfeed.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2011-08-03 18:36:08 +0400
committerAndrew Dolgov <[email protected]>2011-08-03 18:36:08 +0400
commit18eb64a8a1658c5c730fb81e3044ca6577b46192 (patch)
tree1c5da4f6b985bc57ee2a9df01a3848b962d149d6 /viewfeed.js
parente3642715dfb0bca7afa79d9259a9cfd37b6fb45e (diff)
allow marking last headline as read automatically by scrolling below content
Diffstat (limited to 'viewfeed.js')
-rw-r--r--viewfeed.js40
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 = [];