console.log("added " + num_added + " headlines");
+ if (num_added == 0)
+ _infscroll_disable = true;
+
console.log("restore selected ids: " + ids);
for (var i = 0; i < ids.length; i++) {
request_counters();
- try {
+ headlines_scroll_handler($("headlines-frame"));
+
+/* try {
if (!_infscroll_disable &&
$$("#headlines-frame > div[id*=RROW]").last().hasClassName("Selected")) {
}
} catch (e) {
console.warn(e);
- }
+ } */
notify("");
} catch (e) {
// the server roundtrip altogether
if (cids_to_request.length == 0) {
- try {
+/* try {
if (!_infscroll_disable &&
$$("#headlines-frame > div[id*=RROW]").last().hasClassName("Selected")) {
}
} catch (e) {
console.warn(e);
- }
+ } */
+
+ headlines_scroll_handler($("headlines-frame"));
return;
}
}
-// mode = all,none,unread,invert
+// mode = all,none,unread,invert,marked,published
function selectArticles(mode) {
try {
child.removeClassName("Selected");
cb.checked = false;
}
+ } else if (mode == "marked") {
+ var img = $("FMPIC-" + child.id.replace("RROW-", ""));
+
+ if (img && img.src.match("mark_set")) {
+ child.addClassName("Selected");
+ cb.checked = true;
+ } else {
+ child.removeClassName("Selected");
+ cb.checked = false;
+ }
+ } else if (mode == "published") {
+ var img = $("FPPIC-" + child.id.replace("RROW-", ""));
+
+ if (img && img.src.match("pub_set")) {
+ child.addClassName("Selected");
+ cb.checked = true;
+ } else {
+ child.removeClassName("Selected");
+ cb.checked = false;
+ }
+
} else if (mode == "invert") {
if (child.hasClassName("Selected")) {
child.removeClassName("Selected");
var hsp = $("headlines-spacer");
if (!_infscroll_disable) {
- if (hsp && (e.scrollTop + e.offsetHeight > hsp.offsetTop) ||
- e.scrollTop + e.offsetHeight > e.scrollHeight - 100) {
+ if ((hsp && e.scrollTop + e.offsetHeight >= hsp.offsetTop - hsp.offsetHeight) ||
+ (e.scrollHeight != 0 &&
+ ((e.scrollTop + e.offsetHeight) / e.scrollHeight >= 0.7))) {
if (hsp)
hsp.innerHTML = "<img src='images/indicator_tiny.gif'> " +
var container = $("headlines-frame");
var row = $("RROW-" + id);
+ if (!container || !row) return;
+
var viewport = container.offsetHeight;
var rel_offset_top = row.offsetTop - container.scrollTop;