allow marking last headline as read automatically by scrolling below content

master
Andrew Dolgov 14 years ago
parent e3642715df
commit 18eb64a8a1

@ -1543,3 +1543,10 @@ a.bookmarklet {
cursor : pointer; cursor : pointer;
} }
#headlines-spacer {
height : 100%;
margin-left : 1px;
text-align : center;
padding : 1em;
color : gray;
}

@ -72,6 +72,17 @@ function headlines_callback2(transport, feed_cur_page) {
dijit.byId("headlines-toolbar").attr('content', dijit.byId("headlines-toolbar").attr('content',
reply['headlines']['toolbar']); 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(); initHeadlinesMenu();
} else { } else {
@ -83,10 +94,25 @@ function headlines_callback2(transport, feed_cur_page) {
$("headlines-tmp").innerHTML = reply['headlines']['content']; $("headlines-tmp").innerHTML = reply['headlines']['content'];
var hsp = $("headlines-spacer");
if (hsp)
c.domNode.removeChild(hsp);
$$("#headlines-tmp > div").each(function(row) { $$("#headlines-tmp > div").each(function(row) {
c.domNode.appendChild(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); console.log("restore selected ids: " + ids);
for (var i = 0; i < ids.length; i++) { for (var i = 0; i < ids.length; i++) {
@ -97,6 +123,10 @@ function headlines_callback2(transport, feed_cur_page) {
} else { } else {
console.log("no new headlines received"); 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) { function headlines_scroll_handler(e) {
try { 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(); viewNextFeedPage();
} }
} else {
if (hsp) hsp.innerHTML = "";
} }
if (getInitParam("cdm_auto_catchup") == 1) { if (getInitParam("cdm_auto_catchup") == 1) {
var ids = []; var ids = [];

Loading…
Cancel
Save