allow marking last headline as read automatically by scrolling below content

This commit is contained in:
Andrew Dolgov 2011-08-03 18:36:08 +04:00
parent e3642715df
commit 18eb64a8a1
2 changed files with 44 additions and 3 deletions

View File

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

View File

@ -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 (e.scrollTop + e.offsetHeight > e.scrollHeight - 100) {
if (!_infscroll_disable) {
if (hsp && (e.scrollTop + e.offsetHeight > hsp.offsetTop) ||
e.scrollTop + e.offsetHeight > e.scrollHeight - 100) {
viewNextFeedPage();
}
} else {
if (hsp) hsp.innerHTML = "";
}
if (getInitParam("cdm_auto_catchup") == 1) {
var ids = [];