Files
InternetProg_MorozovDV_PIbd-22/html/mvc/controller.js
2025-05-16 02:30:48 +04:00

48 lines
1.3 KiB
JavaScript

import model from "./model";
import view from "./view";
const controller = {
async init() {
const addReaderModal = document.getElementById("addReaderModal");
addReaderModal.addEventListener("show.bs.modal", async () => {
try {
const users = await model.getUsers();
view.renderUsersOptions(users);
} catch (err) {
alert(err.message);
}
});
},
async loadAuthors() {
const authors = await model.getAuthors();
view.renderAuthorsOptions(authors);
},
async loadBooks() {
const books = await model.getBooks();
view.renderBooks(books);
},
async handleAddBook(bookData) {
await model.addBook(bookData);
await this.loadBooks();
view.resetAddBookForm();
},
async handleOpenAddReaderModal(bookId) {
const users = await model.getUsers();
view.renderUsersOptions(users);
view.setCurrentBookId(bookId);
},
async handleAddReader(userId) {
const bookId = view.getCurrentBookId();
await model.addReaderToBook(userId, bookId);
// Можно обновить UI, например, обновить список читателей
view.hideAddReaderModal();
},
};
export default controller;