summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/functions.php4
-rw-r--r--js/tt-rss.js2
-rw-r--r--plugins/af_readability/init.js22
-rwxr-xr-xplugins/af_readability/init.php2
4 files changed, 23 insertions, 7 deletions
diff --git a/include/functions.php b/include/functions.php
index 5405dac6e..3e37d1d28 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -1053,7 +1053,7 @@
"close_article" => __("Close/collapse article"),
"toggle_expand" => __("Toggle article expansion (combined mode)"),
"toggle_widescreen" => __("Toggle widescreen mode"),
- "embed_full_text" => __("Get full article text via Readability")),
+ "toggle_full_text" => __("Toggle full article text via Readability")),
__("Article selection") => array(
"select_all" => __("Select all articles"),
"select_unread" => __("Select unread"),
@@ -1124,7 +1124,7 @@
"N" => "article_scroll_down",
"P" => "article_scroll_up",
"a W" => "toggle_widescreen",
- "a e" => "embed_full_text",
+ "a e" => "toggle_full_text",
"e" => "email_article",
"a q" => "close_article",
"a a" => "select_all",
diff --git a/js/tt-rss.js b/js/tt-rss.js
index 73790e295..d45dd5748 100644
--- a/js/tt-rss.js
+++ b/js/tt-rss.js
@@ -476,7 +476,7 @@ require(["dojo/_base/kernel",
this.hotkey_actions["collapse_sidebar"] = function () {
Feeds.toggle();
};
- this.hotkey_actions["embed_full_text"] = function () {
+ this.hotkey_actions["toggle_full_text"] = function () {
if (typeof Plugins.Af_Readability != "undefined") {
if (Article.getActive())
Plugins.Af_Readability.embed(Article.getActive());
diff --git a/plugins/af_readability/init.js b/plugins/af_readability/init.js
index fd603cbf1..644dff9fe 100644
--- a/plugins/af_readability/init.js
+++ b/plugins/af_readability/init.js
@@ -1,16 +1,32 @@
Plugins.Af_Readability = {
+ orig_attr_name: 'data-readability-orig-content',
+ self: this,
embed: function(id) {
+ const content = $$(App.isCombinedMode() ? ".cdm[data-article-id=" + id + "] .content-inner" :
+ ".post[data-article-id=" + id + "] .content")[0];
+
+ if (content.hasAttribute(self.orig_attr_name)) {
+ content.innerHTML = content.getAttribute(self.orig_attr_name);
+ content.removeAttribute(self.orig_attr_name);
+
+ if (App.isCombinedMode()) Article.cdmScrollToId(id);
+
+ return;
+ }
+
Notify.progress("Loading, please wait...");
xhrJson("backend.php",{ op: "pluginhandler", plugin: "af_readability", method: "embed", param: id }, (reply) => {
- const content = $$(App.isCombinedMode() ? ".cdm[data-article-id=" + id + "] .content-inner" :
- ".post[data-article-id=" + id + "] .content")[0];
if (content && reply.content) {
+ content.setAttribute(self.orig_attr_name, content.innerHTML);
content.innerHTML = reply.content;
Notify.close();
+
+ if (App.isCombinedMode()) Article.cdmScrollToId(id);
+
} else {
- Notify.error("Unable to fetch content for this article");
+ Notify.error("Unable to fetch full text for this article");
}
});
}
diff --git a/plugins/af_readability/init.php b/plugins/af_readability/init.php
index ef7809d3f..9c62a4772 100755
--- a/plugins/af_readability/init.php
+++ b/plugins/af_readability/init.php
@@ -53,7 +53,7 @@ class Af_Readability extends Plugin {
function hook_article_button($line) {
return "<i class='material-icons' onclick=\"Plugins.Af_Readability.embed(".$line["id"].")\"
- style='cursor : pointer' title='".__('Get full article text')."'>description</i>";
+ style='cursor : pointer' title='".__('Toggle full article text')."'>description</i>";
}
function hook_prefs_tab($args) {