'use strict'; const events = require('../events.js'); const views = require('../util/views.js'); const CommentListControl = require('../controls/comment_list_control.js'); const template = views.getTemplate('comments-page'); class CommentsPageView extends events.EventTarget { constructor(ctx) { super(); this._hostNode = ctx.hostNode; const sourceNode = template(ctx); for (let post of ctx.response.results) { const commentListControl = new CommentListControl( sourceNode.querySelector( `.comments-container[data-for="${post.id}"]`), post.comments, true); events.proxyEvent(commentListControl, this, 'submit'); events.proxyEvent(commentListControl, this, 'score'); events.proxyEvent(commentListControl, this, 'delete'); } views.replaceContent(this._hostNode, sourceNode); } } module.exports = CommentsPageView;