38 lines
1.2 KiB
JavaScript
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, "Удаление", "Удаление успешно завершено");
|
|
}
|
|
} |