Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ================= admin.js -----------------------
- import RestaurantPage from "./nav/navRestaurant.js";
- // import { ReviewPage } from "./nav/navReviews.js";
- async function onLoad() {
- await RestaurantPage();
- }
- onLoad();
- // ---------------- nav-restaurant.js ----------------------
- import {
- InitTable,
- RefreshTable,
- } from "../../componentScripts/tableManager.js";
- import { MODAL_CONFIGS, TABLE_COLS } from "../../utils/constants.js";
- import { BindTo } from "../../utils/eventManager.js";
- import { OpenModal } from "../../utils/htmlHelper.js";
- import { fetchAllRestaurants } from "../../utils/routerUtils/fetcher.js";
- let restaurantTable;
- class RestaurantPage {
- constructor() {
- this.restaurantTable = null;
- document
- .getElementById("btnAddRestaurant")
- .addEventListener("click", this.OnAddButtonClick.bind(this));
- document
- .getElementById("btnUpdateRestaurant")
- .addEventListener("click", this.OnUpdateButtonClick.bind(this));
- }
- static async create() {
- const instance = new RestaurantPage();
- await instance.initialize(instance);
- return instance;
- }
- async initialize(instance) {
- this.page = instance;
- await this.CreateTable();
- }
- async Add() {
- console.log("New restaurants added");
- const data = await fetchAllRestaurants();
- RefreshTable(this.restaurantTable, data);
- }
- async Update() {}
- async CreateTable() {
- const res_data = await fetchAllRestaurants();
- this.restaurantTable = InitTable("table", TABLE_COLS.restaurants, {
- height: "70%",
- data: res_data,
- });
- }
- async OnAddButtonClick() {
- await OpenModal(MODAL_CONFIGS.add.src);
- BindTo("FOnRestaurantAddedSignature", this.Add);
- }
- async OnUpdateButtonClick() {
- await OpenModal(MODAL_CONFIGS.update.src, () => {
- document.addEventListener("FOnRestaurantUpdatedSignature", this.Update);
- });
- }
- }
- export default async function onLoad() {
- const page = await RestaurantPage.create();
- }
Advertisement
Add Comment
Please, Sign In to add comment