summaryrefslogtreecommitdiff
path: root/js/viewfeed.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/viewfeed.js')
-rwxr-xr-xjs/viewfeed.js28
1 files changed, 16 insertions, 12 deletions
diff --git a/js/viewfeed.js b/js/viewfeed.js
index ed6e3642e..a24116e88 100755
--- a/js/viewfeed.js
+++ b/js/viewfeed.js
@@ -1018,24 +1018,28 @@ function postMouseOut(id) {
function unpackVisibleHeadlines() {
if (!isCdmMode() || !getInitParam("cdm_expanded")) return;
- $$("#headlines-frame span.cencw[id]").each(
- function (child) {
- const row = $("RROW-" + child.id.replace("CENCW-", ""));
+ $$("#headlines-frame div[id*=RROW][data-content]").each((row) => {
+ //console.log('checking', row.id);
- if (row && row.offsetTop <= $("headlines-frame").scrollTop +
- $("headlines-frame").offsetHeight) {
+ if (row.offsetTop <= $("headlines-frame").scrollTop + $("headlines-frame").offsetHeight) {
+ console.log("unpacking: " + row.id);
- //console.log("unpacking: " + child.id);
+ let content;
- child.innerHTML = htmlspecialchars_decode(child.innerHTML);
- child.removeAttribute('id');
+ try {
+ content = JSON.parse(row.getAttribute("data-content"));
+ } catch (e) {
+ content = "Error decoding content: " + row.getAttribute("data-content");
+ }
- PluginHost.run(PluginHost.HOOK_ARTICLE_RENDERED_CDM, row);
+ row.select(".cdmContentInner")[0].innerHTML = content;
+ row.removeAttribute("data-content");
- Element.show(child);
- }
+ PluginHost.run(PluginHost.HOOK_ARTICLE_RENDERED_CDM, row);
+ } else {
+ throw $break;
}
- );
+ });
}
function headlines_scroll_handler(e) {