summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-03-20 10:21:14 +0400
committerAndrew Dolgov <[email protected]>2013-03-20 10:22:15 +0400
commit414191d4280d6884b575a82bc5b5452c6ddcb62b (patch)
treea20b4966af52639511ff59a754c8eb241e6fbea2 /js
parentb799dc8b0d540d671a7f9c4f1202d428692367c9 (diff)
make a separate headline button to collapse current article in
unexpanded cdm mode; modify a q hotkey to collapse article in unexpanded mode and dismiss article in expanded mode
Diffstat (limited to 'js')
-rw-r--r--js/tt-rss.js10
-rw-r--r--js/viewfeed.js44
2 files changed, 51 insertions, 3 deletions
diff --git a/js/tt-rss.js b/js/tt-rss.js
index e9bc9d412..bced92674 100644
--- a/js/tt-rss.js
+++ b/js/tt-rss.js
@@ -669,7 +669,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..584fff574 100644
--- a/js/viewfeed.js
+++ b/js/viewfeed.js
@@ -1312,6 +1312,35 @@ function catchupRelativeToArticle(below, id) {
}
}
+function cdmCollapseArticle(event, id) {
+ try {
+ var row = $("RROW-" + id);
+ var elem = $("CICD-" + id);
+
+ if (elem && row) {
+ row.removeClassName("Selected");
+
+ 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 {
@@ -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;
@@ -1514,6 +1551,7 @@ function cdmClicked(event, id) {
if (!event.ctrlKey) {
if (!getInitParam("cdm_expanded")) {
+ if (event) Event.stop(event);
return cdmExpandArticle(id);
} else {
@@ -1609,13 +1647,15 @@ 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");