import BoardModel from "./model"; import BoardView from "./view"; class BoardElement extends HTMLElement { constructor() { super(); const editCallback = this.editNews.bind(this); const deleteCallback = this.deleteNews.bind(this); this.view = new BoardView(this, editCallback, deleteCallback); this.model = new BoardModel(); } connectedCallback() { this.view.render(this.model); this.getAllNews(); } async getAllNews() { await this.model.getAll(); this.view.update(this.model); } editNews(item) { window.location.href = `/news?id=${item.id}`; } async deleteNews(item) { if (await this.view.deleteQuestion(item)) { await this.model.delete(item); this.view.successToast(); this.getAllNews(); } } } customElements.define("news-board", BoardElement);