}
}
+export interface ArchiveEvent extends Event {
+ detail: {
+ new_thread_dom: HTMLElement;
+ }
+}
+
export class PageComments extends Component {
private elem: HTMLElement;
private commentCountBar: HTMLElement;
private commentsTitle: HTMLElement;
private addButtonContainer: HTMLElement;
+ private archiveContainer: HTMLElement;
private replyToRow: HTMLElement;
private formContainer: HTMLElement;
private form: HTMLFormElement;
this.commentCountBar = this.$refs.commentCountBar;
this.commentsTitle = this.$refs.commentsTitle;
this.addButtonContainer = this.$refs.addButtonContainer;
+ this.archiveContainer = this.$refs.archiveContainer;
this.replyToRow = this.$refs.replyToRow;
this.formContainer = this.$refs.formContainer;
this.form = this.$refs.form as HTMLFormElement;
this.setReply(event.detail.id, event.detail.element);
});
+ this.elem.addEventListener('page-comment-archive', (event: ArchiveEvent) => {
+ this.archiveContainer.append(event.detail.new_thread_dom);
+ });
+
+ this.elem.addEventListener('page-comment-unarchive', (event: ArchiveEvent) => {
+ this.container.append(event.detail.new_thread_dom)
+ });
+
if (this.form) {
this.removeReplyToButton.addEventListener('click', this.removeReplyTo.bind(this));
this.hideFormButton.addEventListener('click', this.hideForm.bind(this));