Files
PIbd-21_Permyakov_R.G._IP/components/news/board/view.js

38 lines
1.2 KiB
JavaScript

import showQuestion from "../../modal-helper";
import { populateBoard, board } from "../../board-helper";
import { showToast, toastsInit } from "../../toast-helper";
export default class BoardView {
constructor(root, editCallback, deleteCallback) {
this.root = root;
this.editCallback = editCallback;
this.deleteCallback = deleteCallback;
}
render(model) {
this.callbacks = {
edit: this.editCallback,
delete: this.deleteCallback,
};
this.boardElement = board(model.data, this.callbacks, model.tegs);
const boardWrapper = document.createElement("div");
boardWrapper.classList.add("board-responsive");
boardWrapper.appendChild(this.boardElement);
this.root.appendChild(boardWrapper);
this.toasts = toastsInit();
}
update(model) {
populateBoard(this.boardElement, model.data, this.callbacks, model.tegs);
}
deleteQuestion(item = null) {
return showQuestion("Удаление", "Удалить", `Удалить элемент '${item.id}'?`);
}
successToast() {
showToast(this.toasts, "Удаление", "Удаление успешно завершено");
}
}