Don't nest YouTube replies

This commit is contained in:
Omar Roth 2018-10-22 17:15:36 -05:00
parent ed3d9ce540
commit 81ea2bf799
2 changed files with 15 additions and 9 deletions

View file

@ -129,7 +129,7 @@ def template_youtube_comments(comments)
<div class="pure-u-1"> <div class="pure-u-1">
<p> <p>
<a href="javascript:void(0)" data-continuation="#{comments["continuation"]}" <a href="javascript:void(0)" data-continuation="#{comments["continuation"]}"
onclick="get_youtube_replies(this)">Load more</a> onclick="get_youtube_replies(this, true)">Load more</a>
</p> </p>
</div> </div>
</div> </div>

View file

@ -379,7 +379,7 @@ function get_youtube_comments() {
}; };
} }
function get_youtube_replies(target) { function get_youtube_replies(target, load_more) {
var continuation = target.getAttribute('data-continuation'); var continuation = target.getAttribute('data-continuation');
var body = target.parentNode.parentNode; var body = target.parentNode.parentNode;
@ -398,13 +398,19 @@ function get_youtube_replies(target) {
xhr.onreadystatechange = function() { xhr.onreadystatechange = function() {
if (xhr.readyState == 4) { if (xhr.readyState == 4) {
if (xhr.status == 200) { if (xhr.status == 200) {
body.innerHTML = ' \ if (load_more) {
<p><a href="javascript:void(0)" \ body = body.parentNode.parentNode;
onclick="hide_youtube_replies(this)">Hide replies \ body.removeChild(body.lastElementChild);
</a></p> \ body.innerHTML += xhr.response.contentHtml;
<div>{contentHtml}</div>'.supplant({ } else {
contentHtml: xhr.response.contentHtml, body.innerHTML = ' \
}); <p><a href="javascript:void(0)" \
onclick="hide_youtube_replies(this)">Hide replies \
</a></p> \
<div>{contentHtml}</div>'.supplant({
contentHtml: xhr.response.contentHtml,
});
}
} else { } else {
body.innerHTML = fallback; body.innerHTML = fallback;
} }