diff options
author | Andrew Dolgov <[email protected]> | 2021-02-15 14:10:46 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2021-02-15 14:10:46 +0300 |
commit | 82adb01307e108e8a2b4eeb900552160d730d0b7 (patch) | |
tree | 1048a18b3ad79a546e847ca52267249b6ab3b073 /plugins/shorten_expanded/init.js | |
parent | 916c21fe60490c50e9ae587b0a977302b9110800 (diff) |
render enclosures on the client
Diffstat (limited to 'plugins/shorten_expanded/init.js')
-rw-r--r-- | plugins/shorten_expanded/init.js | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/plugins/shorten_expanded/init.js b/plugins/shorten_expanded/init.js index 30bfac6ba..181e426a4 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 = { @@ -22,26 +24,23 @@ 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"); + const attachments = row.querySelector(".attachments-inline"); - if (c_inner && c_inter && + if (content && attachments && row.offsetHeight >= _shorten_expanded_threshold * window.innerHeight) { - let tmp = document.createElement("div"); - - c_inter.select("> *:not([class*='attachments'])").each(function(p) { - p.parentNode.removeChild(p); - tmp.appendChild(p); - }); - - c_inner.innerHTML = `<div class="content-shrink-wrap"> - ${c_inner.innerHTML} - ${tmp.innerHTML}</div> + content.innerHTML = ` + <div class="content-shrink-wrap"> + ${content.innerHTML} + ${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); + attachments.innerHTML = ""; + + dojo.parser.parse(content); } } }, 150); |