summaryrefslogtreecommitdiff
path: root/plugins/shorten_expanded/init.js
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/shorten_expanded/init.js')
-rw-r--r--plugins/shorten_expanded/init.js32
1 files changed, 17 insertions, 15 deletions
diff --git a/plugins/shorten_expanded/init.js b/plugins/shorten_expanded/init.js
index 30bfac6ba..0abc8c129 100644
--- a/plugins/shorten_expanded/init.js
+++ b/plugins/shorten_expanded/init.js
@@ -1,3 +1,5 @@
+/* global Plugins, __, require, PluginHost */
+
const _shorten_expanded_threshold = 1.5; //window heights
Plugins.Shorten_Expanded = {
@@ -5,8 +7,8 @@ Plugins.Shorten_Expanded = {
const row = $(id);
if (row) {
- const content = row.select(".content-shrink-wrap")[0];
- const link = row.select(".expand-prompt")[0];
+ const content = row.querySelector(".content-shrink-wrap");
+ const link = row.querySelector(".expand-prompt");
if (content) content.removeClassName("content-shrink-wrap");
if (link) Element.hide(link);
@@ -22,26 +24,26 @@ require(['dojo/_base/kernel', 'dojo/ready'], function (dojo, ready) {
window.setTimeout(function() {
if (row) {
- const c_inner = row.select(".content-inner")[0];
- const c_inter = row.select(".intermediate")[0];
+ const content = row.querySelector(".content-inner");
- if (c_inner && c_inter &&
- row.offsetHeight >= _shorten_expanded_threshold * window.innerHeight) {
+ //console.log('shorten', row.offsetHeight, 'vs', _shorten_expanded_threshold * window.innerHeight);
- let tmp = document.createElement("div");
+ if (content && row.offsetHeight >= _shorten_expanded_threshold * window.innerHeight) {
- c_inter.select("> *:not([class*='attachments'])").each(function(p) {
- p.parentNode.removeChild(p);
- tmp.appendChild(p);
- });
+ const attachments = row.querySelector(".attachments-inline"); // optional
- c_inner.innerHTML = `<div class="content-shrink-wrap">
- ${c_inner.innerHTML}
- ${tmp.innerHTML}</div>
+ content.innerHTML = `
+ <div class="content-shrink-wrap">
+ ${content.innerHTML}
+ ${attachments ? attachments.innerHTML : ''}
+ </div>
<button dojoType="dijit.form.Button" class="alt-info expand-prompt" onclick="return Plugins.Shorten_Expanded.expand('${row.id}')" href="#">
${__("Click to expand article")}</button>`;
- dojo.parser.parse(c_inner);
+ if (attachments)
+ attachments.innerHTML = "";
+
+ dojo.parser.parse(content);
}
}
}, 150);