module.exports = class { onCreate(input) { this.state = { modal: null, removed: false, commentLabels: { Article: "Comment", Message: "Message", Chat: "Chat Message", }, selectedComment: null, } } onOpenComment(comment, modal) { this.state.selectedComment = comment this.state.modal = modal } addComment(comment) { this.updateChapter({ comments: this.input.chapter.comments.concat(comment), }) } editComment(comment) { const comments = this.input.chapter.comments.slice() const index = comments.findIndex(c => c.id === comment.id) if (index != -1) { comments[index] = comment } else { comments.push(comment) } this.updateChapter({comments}) } removeComment(comment) { this.updateChapter({comments: this.input.chapter.comments.filter(c => c.id !== comment.id)}) } updateChapter(data) { this.emit("edit", data) } moveChapter(data) { this.emit("move", data) } removeChapter() { this.state.removed = true this.emit("remove") } open(modal) { this.state.modal = modal } close() { this.state.modal = null } }