diff options
Diffstat (limited to 'js')
-rw-r--r-- | js/tt-rss.js | 10 | ||||
-rw-r--r-- | js/viewfeed.js | 48 |
2 files changed, 54 insertions, 4 deletions
diff --git a/js/tt-rss.js b/js/tt-rss.js index 3b96566f9..c80e8737d 100644 --- a/js/tt-rss.js +++ b/js/tt-rss.js @@ -673,7 +673,15 @@ function hotkey_handler(e) { scrollArticle(-ctr.offsetHeight/3); return false; case "close_article": - closeArticlePanel(); + if (isCdmMode()) { + if (!getInitParam("cdm_expanded")) { + cdmCollapseArticle(false, getActiveArticleId()); + } else { + dismissArticle(getActiveArticleId()); + } + } else { + closeArticlePanel(); + } return false; case "email_article": if (typeof emailArticle != "undefined") { diff --git a/js/viewfeed.js b/js/viewfeed.js index 9a16befff..2555215ce 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -1312,9 +1312,38 @@ function catchupRelativeToArticle(below, id) { } } +function cdmCollapseArticle(event, id) { + try { + var row = $("RROW-" + id); + var elem = $("CICD-" + id); + + if (elem && row) { + var collapse = $$("div#RROW-" + id + + " span[class='collapseBtn']")[0]; + + Element.hide(elem); + Element.show("CEXC-" + id); + Element.hide(collapse); + + markHeadline(id, false); + + if (id == getActiveArticleId()) { + setActiveArticleId(0); + } + + if (event) Event.stop(event); + } + + } catch (e) { + exception_error("cdmCollapseArticle", e); + } +} + function cdmExpandArticle(id) { try { + console.log("cdmExpandArticle " + id); + hideAuxDlg(); var elem = $("CICD-" + getActiveArticleId()); @@ -1327,17 +1356,25 @@ function cdmExpandArticle(id) { var old_offset = $("RROW-" + id).offsetTop; if (getActiveArticleId() && elem && !getInitParam("cdm_expanded")) { + var collapse = $$("div#RROW-" + getActiveArticleId() + + " span[class='collapseBtn']")[0]; + Element.hide(elem); Element.show("CEXC-" + getActiveArticleId()); + Element.hide(collapse); } setActiveArticleId(id); elem = $("CICD-" + id); + var collapse = $$("div#RROW-" + id + + " span[class='collapseBtn']")[0]; + if (!Element.visible(elem)) { Element.show(elem); Element.hide("CEXC-" + id); + Element.show(collapse); } /* var new_offset = $("RROW-" + id).offsetTop; @@ -1609,16 +1646,21 @@ function isCdmMode() { return getInitParam("combined_display_mode"); } -function markHeadline(id) { +function markHeadline(id, marked) { + if (marked == undefined) marked = true; + var row = $("RROW-" + id); if (row) { var check = dijit.byId("RCHK-" + id); if (check) { - check.attr("checked", true); + check.attr("checked", marked); } - row.addClassName("Selected"); + if (marked) + row.addClassName("Selected"); + else + row.removeClassName("Selected"); } } |