try {
if (infscroll_req == false) {
$("headlines-frame").scrollTop = 0;
+
+ Element.hide("floatingTitle");
+ $("floatingTitle").setAttribute("rowid", 0);
+ $("floatingTitle").innerHTML = "";
}
} catch (e) { };
+ $("headlines-frame").removeClassName("cdm");
+ $("headlines-frame").removeClassName("normal");
+
+ $("headlines-frame").addClassName(isCdmMode() ? "cdm" : "normal");
+
var headlines_count = reply['headlines-info']['count'];
vgroup_last_feed = reply['headlines-info']['vgroup_last_feed'];
var row = $("RROW-" + id);
if (!row) return;
- var imgs = row.getElementsByClassName("markedPic");
+ var imgs = [];
+
+ var row_imgs = row.getElementsByClassName("markedPic");
+
+ for (var i = 0; i < row_imgs.length; i++)
+ imgs.push(row_imgs[i]);
+
+ var ft = $("floatingTitle");
+
+ if (ft && ft.getAttribute("rowid") == "RROW-" + id) {
+ var fte = ft.getElementsByClassName("markedPic");
+
+ for (var i = 0; i < fte.length; i++)
+ imgs.push(fte[i]);
+ }
for (i = 0; i < imgs.length; i++) {
var img = imgs[i];
var row = $("RROW-" + id);
if (!row) return;
- var imgs = row.getElementsByClassName("pubPic");
+ var imgs = [];
+
+ var row_imgs = row.getElementsByClassName("pubPic");
+
+ for (var i = 0; i < row_imgs.length; i++)
+ imgs.push(row_imgs[i]);
+
+ var ft = $("floatingTitle");
+
+ if (ft && ft.getAttribute("rowid") == "RROW-" + id) {
+ var fte = ft.getElementsByClassName("pubPic");
+
+ for (var i = 0; i < fte.length; i++)
+ imgs.push(fte[i]);
+ }
for (i = 0; i < imgs.length; i++) {
var img = imgs[i];
if (!getInitParam("cdm_expanded")) {
- if (!noscroll && article.offsetTop < ctr.scrollTop) {
+ if (!noscroll && article && article.offsetTop < ctr.scrollTop) {
scrollArticle(-ctr.offsetHeight/4);
} else {
cdmExpandArticle(prev_id, noexpand);
unpackVisibleHeadlines();
+ // set topmost child in the buffer as active
+ if (getInitParam("cdm_auto_catchup") == 1 &&
+ getSelectedArticleIds2().length <= 1 &&
+ (!isCdmMode() || getInitParam("cdm_expanded"))) {
+ var rows = $$("#headlines-frame > div[id*=RROW]");
+
+ for (var i = 0; i < rows.length; i++) {
+ var child = rows[i];
+
+ if ($("headlines-frame").scrollTop < child.offsetTop &&
+ child.offsetTop - $("headlines-frame").scrollTop < 100 &&
+ child.id.replace("RROW-", "") != _active_article_id) {
+
+ if (_active_article_id) {
+ var row = $("RROW-" + _active_article_id);
+ if (row) row.removeClassName("active");
+ }
+
+ _active_article_id = child.id.replace("RROW-", "");
+ showArticleInHeadlines(_active_article_id, true);
+ updateSelectedPrompt();
+ break;
+ }
+ }
+ }
+
if (!_infscroll_disable) {
if ((hsp && e.scrollTop + e.offsetHeight >= hsp.offsetTop - hsp.offsetHeight) ||
(e.scrollHeight != 0 &&
if (hsp) hsp.innerHTML = "";
}
+ if (getInitParam("cdm_expanded") && isCdmMode()) {
+ updateFloatingTitle();
+ }
+
if (getInitParam("cdm_auto_catchup") == 1) {
// let's get DOM some time to settle down
//console.log("auto_catchup_batch: " + catchup_id_batch.toString());
}
+
});
if (catchup_id_batch.length > 0) {
new Effect.Fade(elem, {duration : 0.5});
+ // Remove the content, too
+ var elem_content = $("CICD-" + id);
+ if (elem_content) {
+ Element.remove(elem_content);
+ }
+
if (id == getActiveArticleId()) {
setActiveArticleId(0);
}
ids[i] != getActiveArticleId()) {
new Effect.Fade(elem, {duration : 0.5});
sel.push(ids[i]);
+
+ // Remove the content, too
+ var elem_content = $("CICD-" + ids[i]);
+ if (elem_content) {
+ Element.remove(elem_content);
+ }
} else {
tmp.push(ids[i]);
}
!elem.hasClassName("Selected")) {
new Effect.Fade(elem, {duration : 0.5});
+
+ // Remove the content, too
+ var elem_content = $("CICD-" + ids[i]);
+ if (elem_content) {
+ Element.remove(elem_content);
+ }
} else {
tmp.push(ids[i]);
}
}
} catch (e) {
- exception_error("dismissSelectedArticles", e);
+ exception_error("dismissReadArticles", e);
}
}
}}));
menu.addChild(new dijit.MenuItem({
- label: __("Toggle marked"),
+ label: __("Toggle starred"),
onClick: function(event) {
var ids = getSelectedArticleIds2();
// cast to string
exception_error("openSelectedAttachment", e);
}
}
+
+function scrollToRowId(id) {
+ try {
+ var row = $(id);
+
+ if (row)
+ $("headlines-frame").scrollTop = row.offsetTop;
+
+ } catch (e) {
+ exception_error("scrollToRowId", e);
+ }
+}
+
+function updateFloatingTitle() {
+ try {
+ var hf = $("headlines-frame");
+ var child = $("RROW-" + _active_article_id);
+
+ var elems;
+
+ if (getInitParam("cdm_auto_catchup"))
+ elems = [$$("RROW-" + _active_article_id)];
+ else
+ elems = $$("#headlines-frame > div[id*=RROW]");
+
+ for (var i = 0; i < elems.length; i++) {
+
+ var child = elems[i];
+
+ if (child && child.offsetTop + child.offsetHeight > hf.scrollTop) {
+
+ var header = child.getElementsByClassName("cdmHeader")[0];
+
+ if (child.id != $("floatingTitle").getAttribute("rowid")) {
+ $("floatingTitle").setAttribute("rowid", child.id);
+ $("floatingTitle").innerHTML = header.innerHTML;
+ $("floatingTitle").firstChild.innerHTML = "<img class='anchor markedPic' src='images/page_white_go.png' onclick=\"scrollToRowId('"+child.id+"')\">" + $("floatingTitle").firstChild.innerHTML;
+
+ PluginHost.run(PluginHost.HOOK_FLOATING_TITLE, child);
+ }
+
+ if (child.offsetTop < hf.scrollTop - header.offsetHeight)
+ Element.show("floatingTitle");
+ else
+ Element.hide("floatingTitle");
+
+ return;
+
+ }
+ }
+
+ } catch (e) {
+ exception_error("updateFloatingTitle", e);
+ }
+}