import { Manager } from "./utils.mjs"; class Court { constructor(id, status) { this.id = id; this.status = typeof status !== "undefined" ? status : true; this.name = "Court " + (id + 1); } toggle() { this.status = !this.status; this.print(); } print() { let status = this.status ? "active" : "inactive"; console.log(this.name + " is currently " + status); } render() { let type = this.status ? `class="button is-medium is-success"` : 'class="button is-medium is-danger"'; return ``; } } export class CourtManager extends Manager { maxCourtCount = 12; constructor() { super("court", []); console.log("Loading court data."); let data = JSON.parse(localStorage.getItem(this.description)); if (data === null || data.length != this.maxCourtCount) { console.log("Court data unavailable: " + data); this.generate(); return; } for (let i = 0; i < this.maxCourtCount; i++) { this.listData.push(new Court(data[i].id, data[i].status)); } console.log("Loaded " + this.listData.length + " courts."); this.render(); } generate() { console.log("Generating court data."); for (let i = 0; i < this.maxCourtCount; i++) { this.listData.push(new Court(i)); } console.log("Generated data for " + this.listData.length + " courts"); this.store(); this.render(); } }