diff options
author | Andrew Dolgov <[email protected]> | 2017-01-22 20:57:16 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2017-01-22 20:57:16 +0300 |
commit | ad326dbf78f824c3b26558a05893cec80e07f898 (patch) | |
tree | 7a1a3f3cd566bde5b12533f2800ccc4f81e0051e | |
parent | 70c5b2bfcc766c82c697e431371be308ebad11dc (diff) |
unpackVisibleHeadlines: do not iterate over all RROWs all the time
-rwxr-xr-x | classes/feeds.php | 11 | ||||
-rwxr-xr-x | js/viewfeed.js | 18 |
2 files changed, 12 insertions, 17 deletions
diff --git a/classes/feeds.php b/classes/feeds.php index e0756b664..4a34945cd 100755 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -706,14 +706,9 @@ class Feeds extends Handler_Protected { $reply['content'] .= "<span id=\"CWRAP-$id\">"; -// if (!$expand_cdm) { - $reply['content'] .= "<span id=\"CENCW-$id\" style=\"display : none\">"; - $reply['content'] .= htmlspecialchars($line["content"]); - $reply['content'] .= "</span."; - -// } else { -// $reply['content'] .= $line["content"]; -// } + $reply['content'] .= "<span id=\"CENCW-$id\" class=\"cencw\" style=\"display : none\">"; + $reply['content'] .= htmlspecialchars($line["content"]); + $reply['content'] .= "</span>"; $reply['content'] .= "</span>"; diff --git a/js/viewfeed.js b/js/viewfeed.js index ac9d42255..1f597e226 100755 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -1238,21 +1238,21 @@ function unpackVisibleHeadlines() { try { if (!isCdmMode() || !getInitParam("cdm_expanded")) return; - $$("#headlines-frame > div[id*=RROW]").each( + $$("#headlines-frame span.cencw[id]").each( function(child) { - if (child.offsetTop <= $("headlines-frame").scrollTop + + var row = $("RROW-" + child.id.replace("CENCW-", "")); + + if (row && row.offsetTop <= $("headlines-frame").scrollTop + $("headlines-frame").offsetHeight) { - var cencw = $("CENCW-" + child.getAttribute("data-article-id")); + //console.log("unpacking: " + child.id); - if (cencw) { - cencw.innerHTML = htmlspecialchars_decode(cencw.innerHTML); - cencw.setAttribute('id', ''); + child.innerHTML = htmlspecialchars_decode(child.innerHTML); + child.removeAttribute('id'); - PluginHost.run(PluginHost.HOOK_ARTICLE_RENDERED_CDM, child); + PluginHost.run(PluginHost.HOOK_ARTICLE_RENDERED_CDM, row); - Element.show(cencw); - } + Element.show(child); } } ); |