]> git.wh0rd.org - tt-rss.git/blobdiff - plugins/shorten_expanded/init.js
shorten_expanded: also hide embedded attachments behind wrapper
[tt-rss.git] / plugins / shorten_expanded / init.js
index ba82b643b37e5e7e41b251cbba3fabb5d2f7a665..24d72b0a1a0ffe4f6052885cba9a8eb961e02402 100644 (file)
@@ -1,4 +1,4 @@
-var _shorten_expanded_threshold = 900; //px, longer than css height so that we would only clip articles significantly longer than limit
+var _shorten_expanded_threshold = 1.5; //window heights
 
 function expandSizeWrapper(id) {
        try {
@@ -22,24 +22,34 @@ function expandSizeWrapper(id) {
 
 }
 
-dojo.addOnLoad(function() {
-       PluginHost.register(PluginHost.HOOK_ARTICLE_RENDERED_CDM, function(row) {
-               if (getInitParam('cdm_expanded')) {
+require(['dojo/_base/kernel', 'dojo/ready'], function  (dojo, ready) {
 
-                       window.setTimeout(function() {
-                               if (row) {
-                                       if (row.offsetHeight >= _shorten_expanded_threshold) {
-                                               var content = row.select(".cdmContentInner")[0];
+       ready(function() {
+               PluginHost.register(PluginHost.HOOK_ARTICLE_RENDERED_CDM, function(row) {
+                       if (getInitParam('cdm_expanded')) {
 
-                                               if (content) {
-                                                       content.innerHTML = "<div class='contentSizeWrapper'>" +
-                                                               content.innerHTML + "</div><button class='expandPrompt' onclick='return expandSizeWrapper(\""+row.id+"\")' "+
-                                                               "href='#'>" + __("Click to expand article") + "</button>";
+                               window.setTimeout(function() {
+                                       if (row) {
+                                               var c_inner = row.select(".cdmContentInner")[0];
+                                               var c_inter = row.select(".cdmIntermediate")[0];
 
+                                               if (c_inner && c_inter &&
+                                                       row.offsetHeight >= _shorten_expanded_threshold * window.innerHeight) {
+
+                                                       c_inter.parentNode.removeChild(c_inter);
+
+                                                       c_inner.innerHTML = "<div class='contentSizeWrapper'>" +
+                                                               c_inner.innerHTML +
+                                                               c_inter.innerHTML + "</div>" +
+                                                               "<button class='expandPrompt' onclick='return expandSizeWrapper(\""+row.id+"\")' href='#'>" +
+                                                                       __("Click to expand article") + "</button>";
                                                }
                                        }
-                               }
-                       }, 150);
-               }
+                               }, 150);
+                       }
+
+                       return true;
+               });
        });
+
 });