]> git.wh0rd.org - tt-rss.git/blobdiff - plugins/shorten_expanded/init.js
plugins: run eslint const/let fixes
[tt-rss.git] / plugins / shorten_expanded / init.js
index ba82b643b37e5e7e41b251cbba3fabb5d2f7a665..d7564428655f90edc672de34a82f5d029b3e44d7 100644 (file)
@@ -1,14 +1,14 @@
-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 {
-               var row = $(id);
+               const row = $(id);
 
                console.log(row);
 
                if (row) {
-                       var content = row.select(".contentSizeWrapper")[0];
-                       var link = row.select(".expandPrompt")[0];
+                       const content = row.select(".contentSizeWrapper")[0];
+                       const link = row.select(".expandPrompt")[0];
 
                        if (content) content.removeClassName("contentSizeWrapper");
                        if (link) Element.hide(link);
@@ -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) {
+                                               const c_inner = row.select(".cdmContentInner")[0];
+                                               const 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;
+               });
        });
+
 });