2024-06-03 03:54:02 +00:00
|
|
|
import {
|
2024-06-04 22:54:40 +00:00
|
|
|
DatetoLocaleDynamicString,
|
2024-06-03 03:54:02 +00:00
|
|
|
getMinutesDifference,
|
|
|
|
getRelativeTime,
|
|
|
|
} from "../modules/relative_time.js";
|
|
|
|
|
2024-06-02 05:39:23 +00:00
|
|
|
export class UIManager {
|
|
|
|
ui;
|
|
|
|
map;
|
|
|
|
floormanager;
|
|
|
|
eventmanager;
|
|
|
|
|
|
|
|
uiElements = {};
|
|
|
|
floorsEmpty = true;
|
|
|
|
eventsEmpty = true;
|
|
|
|
|
|
|
|
constructor(ui, map) {
|
|
|
|
this.ui = ui;
|
|
|
|
this.map = map;
|
|
|
|
|
2024-06-04 22:54:40 +00:00
|
|
|
this.__initUIElements();
|
|
|
|
|
|
|
|
this.__initZoom();
|
|
|
|
|
|
|
|
this.__initEvents();
|
|
|
|
|
|
|
|
this.__initInspector();
|
|
|
|
}
|
|
|
|
|
|
|
|
setLoading(state) {
|
|
|
|
if (state) {
|
|
|
|
this.ui.classList.add("loading");
|
|
|
|
} else {
|
|
|
|
this.ui.classList.remove("loading");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
__initUIElements() {
|
2024-06-02 05:39:23 +00:00
|
|
|
// Zoom
|
|
|
|
this.uiElements.zoomButtons = this.ui.querySelector("#zoom");
|
|
|
|
this.uiElements.zoomIn =
|
|
|
|
this.uiElements.zoomButtons.querySelector("#zoom-in");
|
|
|
|
this.uiElements.zoomOut =
|
|
|
|
this.uiElements.zoomButtons.querySelector("#zoom-out");
|
|
|
|
|
|
|
|
// Floors
|
|
|
|
this.uiElements.floors = this.ui.querySelector("#floors");
|
2024-06-03 03:54:02 +00:00
|
|
|
this.uiElements.floorsHeading = this.ui.querySelector(
|
|
|
|
"#floors .widget-heading"
|
|
|
|
);
|
2024-06-02 05:39:23 +00:00
|
|
|
this.uiElements.floorButtons =
|
|
|
|
this.uiElements.floors.querySelector("#floor-buttons");
|
|
|
|
|
|
|
|
// Events
|
|
|
|
this.uiElements.eventsContainer =
|
|
|
|
this.ui.querySelector("#events-container");
|
|
|
|
this.uiElements.events =
|
|
|
|
this.uiElements.eventsContainer.querySelector("#events");
|
2024-06-03 03:54:02 +00:00
|
|
|
this.uiElements.eventsBackButton = this.uiElements.events.querySelector(
|
|
|
|
"#events-header #back"
|
|
|
|
);
|
|
|
|
this.uiElements.eventsRoomName = this.uiElements.events.querySelector(
|
|
|
|
"#events-header #room-name"
|
|
|
|
);
|
|
|
|
this.uiElements.eventsRoomDescription =
|
|
|
|
this.uiElements.events.querySelector("#events-header #room-description");
|
2024-06-02 05:39:23 +00:00
|
|
|
this.uiElements.eventList =
|
|
|
|
this.uiElements.events.querySelector("#event-list");
|
|
|
|
this.uiElements.eventsMinimized =
|
|
|
|
this.uiElements.eventsContainer.querySelector("#events-minimized");
|
2024-06-03 03:54:02 +00:00
|
|
|
this.uiElements.eventsMinimizedBackButton =
|
|
|
|
this.uiElements.eventsMinimized.querySelector("#back");
|
|
|
|
|
2024-06-04 22:54:40 +00:00
|
|
|
this.uiElements.eventsInspector =
|
|
|
|
this.uiElements.eventsContainer.querySelector("#events-inspector");
|
|
|
|
this.uiElements.eventsInspectorHeader =
|
|
|
|
this.uiElements.eventsInspector.querySelector("#events-header");
|
|
|
|
this.uiElements.eventsInspectorRoomName =
|
|
|
|
this.uiElements.eventsInspectorHeader.querySelector("#room-name");
|
|
|
|
this.uiElements.eventsInspectorEventLength =
|
|
|
|
this.uiElements.eventsInspectorHeader.querySelector("#event-length");
|
|
|
|
this.uiElements.eventsInspectorRoomTime =
|
|
|
|
this.uiElements.eventsInspector.querySelector("#room-time");
|
|
|
|
this.uiElements.eventsInspectorMinimized =
|
|
|
|
this.uiElements.eventsContainer.querySelector(
|
|
|
|
"#events-inspector-minimized"
|
|
|
|
);
|
|
|
|
this.uiElements.eventsInspectorBackButton =
|
|
|
|
this.uiElements.eventsInspector.querySelector("#back");
|
|
|
|
this.uiElements.eventsInspectorBody =
|
|
|
|
this.uiElements.eventsInspector.querySelector("#event-body");
|
|
|
|
this.uiElements.eventsInspectorMinimizedBackButton =
|
|
|
|
this.uiElements.eventsInspectorMinimized.querySelector("#back");
|
|
|
|
|
2024-06-03 03:54:02 +00:00
|
|
|
this.uiElements.minimizeButton = this.uiElements.events.querySelector(
|
|
|
|
"#footer #footer-buttons #minimize"
|
|
|
|
);
|
|
|
|
this.uiElements.maximizeButton =
|
|
|
|
this.uiElements.eventsMinimized.querySelector("#maximize");
|
2024-06-02 05:39:23 +00:00
|
|
|
|
2024-06-04 22:54:40 +00:00
|
|
|
this.uiElements.eventsInspectorMinimizeButton =
|
|
|
|
this.uiElements.eventsInspector.querySelector(
|
|
|
|
"#footer #footer-buttons #minimize"
|
|
|
|
);
|
|
|
|
this.uiElements.eventsInspectorMaximizeButton =
|
|
|
|
this.uiElements.eventsInspectorMinimized.querySelector("#maximize");
|
|
|
|
|
2024-06-02 05:39:23 +00:00
|
|
|
// Loading
|
|
|
|
this.uiElements.loading = this.ui.querySelector("#loading");
|
|
|
|
}
|
|
|
|
|
|
|
|
__initZoom() {
|
|
|
|
this.uiElements.zoomIn.addEventListener("click", () => {
|
|
|
|
this.map.zoomLevel += 1;
|
|
|
|
});
|
|
|
|
this.uiElements.zoomOut.addEventListener("click", () => {
|
|
|
|
this.map.zoomLevel -= 1;
|
|
|
|
});
|
|
|
|
this.map.kp.onUpdate(() => {
|
|
|
|
if (this.map.zoomLevelLimit > 0) {
|
|
|
|
this.uiElements.zoomIn.disabled = true;
|
|
|
|
this.uiElements.zoomOut.disabled = false;
|
|
|
|
} else if (this.map.zoomLevelLimit < 0) {
|
|
|
|
this.uiElements.zoomIn.disabled = false;
|
|
|
|
this.uiElements.zoomOut.disabled = true;
|
|
|
|
} else {
|
|
|
|
this.uiElements.zoomIn.disabled = false;
|
|
|
|
this.uiElements.zoomOut.disabled = false;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2024-06-04 22:54:40 +00:00
|
|
|
__initInspector() {
|
|
|
|
this.uiElements.eventsInspectorMinimizeButton.addEventListener(
|
|
|
|
"click",
|
|
|
|
() => {
|
|
|
|
this.uiElements.eventsContainer.classList.add("minimized");
|
|
|
|
}
|
|
|
|
);
|
|
|
|
this.uiElements.eventsInspectorMaximizeButton.addEventListener(
|
|
|
|
"click",
|
|
|
|
() => {
|
|
|
|
this.uiElements.eventsContainer.classList.remove("minimized");
|
|
|
|
}
|
|
|
|
);
|
|
|
|
this.uiElements.eventsInspectorBackButton.addEventListener("click", () => {
|
|
|
|
// this.eventmanager.setCurrentEvent("");
|
|
|
|
});
|
|
|
|
this.uiElements.eventsInspectorMinimizedBackButton.addEventListener(
|
|
|
|
"click",
|
|
|
|
() => {
|
|
|
|
// this.eventmanager.setCurrentEvent("");
|
|
|
|
this.eventsMaximize(true);
|
|
|
|
}
|
|
|
|
);
|
2024-06-03 03:54:02 +00:00
|
|
|
}
|
|
|
|
|
2024-06-04 22:54:40 +00:00
|
|
|
__updateInspector() {
|
|
|
|
this.uiElements.eventsInspectorBackButton.title =
|
|
|
|
currentLocalization.event_inspector_back;
|
|
|
|
this.uiElements.eventsInspectorMinimizedBackButton.title =
|
|
|
|
currentLocalization.event_inspector_back;
|
|
|
|
this.uiElements.eventsInspectorMinimizeButton.title =
|
|
|
|
currentLocalization.event_inspector_minimize;
|
|
|
|
this.uiElements.eventsInspectorMaximizeButton.title =
|
|
|
|
currentLocalization.event_inspector_maximize;
|
|
|
|
|
|
|
|
// const currentEvent = this.eventmanager.currentEventItem;
|
|
|
|
if (currentEvent != null) {
|
|
|
|
this.uiElements.eventsContainer.classList.add("inspector");
|
|
|
|
} else {
|
|
|
|
this.uiElements.eventsContainer.classList.remove("inspector");
|
|
|
|
return;
|
|
|
|
}
|
2024-06-03 03:54:02 +00:00
|
|
|
|
2024-06-04 22:54:40 +00:00
|
|
|
// const eventFloor = this.floormanager.currentFloorRooms.get(
|
|
|
|
// currentEvent.where
|
|
|
|
// );
|
|
|
|
|
|
|
|
const currentDate = new Date();
|
|
|
|
const eventDateStart = new Date(currentEvent.when.start);
|
|
|
|
const eventDateEnd = new Date(currentEvent.when.end);
|
|
|
|
|
|
|
|
const eventStarted = currentDate > eventDateStart;
|
|
|
|
const eventEnded = currentDate > eventDateEnd;
|
|
|
|
|
|
|
|
let datePrefix;
|
|
|
|
|
|
|
|
if (eventEnded) {
|
|
|
|
return; // Don't display this event
|
|
|
|
} else if (eventStarted) {
|
|
|
|
datePrefix = currentLocalization.date_started;
|
|
|
|
} else {
|
|
|
|
datePrefix = currentLocalization.date_starting;
|
|
|
|
}
|
|
|
|
|
|
|
|
this.uiElements.eventsInspectorRoomName.textContent =
|
|
|
|
currentLocalization.event_inspector_header(currentEvent.name);
|
|
|
|
this.uiElements.eventsInspectorRoomTime.textContent =
|
|
|
|
currentLocalization.date_summary(
|
|
|
|
datePrefix,
|
|
|
|
getRelativeTime(
|
|
|
|
eventDateStart,
|
|
|
|
currentDate
|
|
|
|
// this.floormanager.lang.replace(/_/g, "-")
|
|
|
|
)
|
|
|
|
) +
|
|
|
|
" " +
|
|
|
|
currentLocalization.parenthesis(
|
|
|
|
DatetoLocaleDynamicString(
|
|
|
|
eventDateStart,
|
|
|
|
currentDate
|
|
|
|
// this.floormanager.lang.replace(/_/g, "-")
|
|
|
|
)
|
|
|
|
);
|
|
|
|
this.uiElements.eventsInspectorEventLength.textContent =
|
|
|
|
currentLocalization.separator(
|
|
|
|
currentLocalization.minutes_long(
|
|
|
|
getMinutesDifference(eventDateStart, eventDateEnd)
|
|
|
|
),
|
|
|
|
""
|
|
|
|
);
|
2024-06-03 03:54:02 +00:00
|
|
|
|
2024-06-04 22:54:40 +00:00
|
|
|
const eventWhere = document.createElement("button");
|
|
|
|
eventWhere.classList.add("link");
|
|
|
|
eventWhere.addEventListener("click", () => {
|
|
|
|
// this.floormanager.setCurrentRoom(eventFloor.id);
|
|
|
|
});
|
|
|
|
eventWhere.textContent = eventFloor.name;
|
|
|
|
|
|
|
|
this.uiElements.eventsInspectorEventLength.appendChild(eventWhere);
|
|
|
|
|
|
|
|
// Remove all children
|
|
|
|
|
|
|
|
this.uiElements.eventsInspectorBody.replaceChildren();
|
|
|
|
|
|
|
|
if (currentEvent.url) {
|
|
|
|
const eventLink = document.createElement("p");
|
|
|
|
eventLink.classList.add("widget-description");
|
|
|
|
const eventAnchor = document.createElement("a");
|
|
|
|
const eventURL = new URL(currentEvent.url);
|
|
|
|
|
|
|
|
eventAnchor.href = eventURL;
|
|
|
|
eventAnchor.textContent = eventURL.toString();
|
|
|
|
|
|
|
|
eventLink.appendChild(eventAnchor);
|
|
|
|
|
|
|
|
this.uiElements.eventsInspectorBody.appendChild(eventLink);
|
|
|
|
}
|
|
|
|
|
|
|
|
this.uiElements.eventsInspectorBody.appendChild(
|
|
|
|
document.createElement("hr")
|
|
|
|
);
|
|
|
|
|
|
|
|
const eventDescription = document.createElement("p");
|
|
|
|
eventDescription.classList.add("widget-description");
|
|
|
|
|
|
|
|
eventDescription.textContent = currentEvent.description;
|
|
|
|
|
|
|
|
this.uiElements.eventsInspectorBody.appendChild(eventDescription);
|
2024-06-03 03:54:02 +00:00
|
|
|
}
|
|
|
|
|
2024-06-02 05:39:23 +00:00
|
|
|
__initEvents() {
|
2024-06-03 03:54:02 +00:00
|
|
|
this.uiElements.eventsBackButton.addEventListener("click", () => {
|
2024-06-04 22:54:40 +00:00
|
|
|
// this.floormanager.setCurrentRoom("");
|
2024-06-03 03:54:02 +00:00
|
|
|
});
|
|
|
|
this.uiElements.eventsMinimizedBackButton.addEventListener("click", () => {
|
2024-06-04 22:54:40 +00:00
|
|
|
// this.floormanager.setCurrentRoom("", false);
|
2024-06-03 03:54:02 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
this.uiElements.minimizeButton.addEventListener("click", () => {
|
2024-06-02 05:39:23 +00:00
|
|
|
this.uiElements.eventsContainer.classList.add("minimized");
|
|
|
|
});
|
2024-06-03 03:54:02 +00:00
|
|
|
this.uiElements.maximizeButton.addEventListener("click", () => {
|
2024-06-02 05:39:23 +00:00
|
|
|
this.uiElements.eventsContainer.classList.remove("minimized");
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
__updateEvents() {
|
2024-06-03 19:35:45 +00:00
|
|
|
let currentEvents;
|
2024-06-04 22:54:40 +00:00
|
|
|
// if (this.floormanager.currentRoom != "") {
|
|
|
|
// const filterThing = Array.from(this.eventmanager.events.entries());
|
|
|
|
// currentEvents = new Map(
|
|
|
|
// filterThing.filter(
|
|
|
|
// ([key, value]) => value.where == this.floormanager.currentRoom
|
|
|
|
// )
|
|
|
|
// );
|
|
|
|
// } else {
|
|
|
|
// currentEvents = this.eventmanager.events;
|
|
|
|
// }
|
2024-06-03 19:35:45 +00:00
|
|
|
|
2024-06-03 03:54:02 +00:00
|
|
|
this.uiElements.minimizeButton.title = currentLocalization.minimize;
|
|
|
|
this.uiElements.maximizeButton.title = currentLocalization.maximize;
|
|
|
|
// Figure out header
|
|
|
|
|
2024-06-04 22:54:40 +00:00
|
|
|
// if (this.floormanager.currentRoomItem != null) {
|
|
|
|
// if (currentEvents.size < 1) {
|
|
|
|
// this.uiElements.eventsRoomName.textContent =
|
|
|
|
// this.floormanager.currentRoomItem.name;
|
|
|
|
// } else {
|
|
|
|
// this.uiElements.eventsRoomName.textContent =
|
|
|
|
// currentLocalization.events_in(this.floormanager.currentRoomItem.name);
|
|
|
|
// }
|
|
|
|
// this.uiElements.eventsRoomDescription.textContent =
|
|
|
|
// this.floormanager.currentRoomItem.description;
|
|
|
|
// this.uiElements.eventsBackButton.disabled = false;
|
|
|
|
// this.uiElements.eventsBackButton.title =
|
|
|
|
// currentLocalization.view_events_in(
|
|
|
|
// this.floormanager.currentFloorItem.name
|
|
|
|
// );
|
|
|
|
// this.uiElements.eventsMinimizedBackButton.disabled = false;
|
|
|
|
// this.uiElements.eventsMinimizedBackButton.title =
|
|
|
|
// currentLocalization.view_events_in(
|
|
|
|
// this.floormanager.currentFloorItem.name
|
|
|
|
// );
|
|
|
|
// } else {
|
|
|
|
// if (currentEvents.size < 1) {
|
|
|
|
// this.uiElements.eventsRoomName.textContent =
|
|
|
|
// this.floormanager.currentFloorItem.name;
|
|
|
|
// } else {
|
|
|
|
// this.uiElements.eventsRoomName.textContent =
|
|
|
|
// currentLocalization.events_in(
|
|
|
|
// this.floormanager.currentFloorItem.name
|
|
|
|
// );
|
|
|
|
// }
|
|
|
|
// this.uiElements.eventsRoomDescription.textContent =
|
|
|
|
// this.floormanager.currentFloorItem.description;
|
|
|
|
// this.uiElements.eventsBackButton.disabled = true;
|
|
|
|
// this.uiElements.eventsBackButton.title = "";
|
|
|
|
// this.uiElements.eventsMinimizedBackButton.disabled = true;
|
|
|
|
// this.uiElements.eventsMinimizedBackButton.title = "";
|
|
|
|
// }
|
2024-06-03 03:54:02 +00:00
|
|
|
|
2024-06-02 05:39:23 +00:00
|
|
|
// Remove all children
|
|
|
|
this.uiElements.eventList.replaceChildren();
|
|
|
|
|
|
|
|
// Put them back
|
2024-06-03 03:54:02 +00:00
|
|
|
|
|
|
|
const currentDate = new Date();
|
2024-06-03 19:35:45 +00:00
|
|
|
currentEvents.forEach((event, id) => {
|
2024-06-04 22:54:40 +00:00
|
|
|
// const eventFloor = this.floormanager.currentFloorRooms.get(event.where);
|
2024-06-03 03:54:02 +00:00
|
|
|
const eventDateStart = new Date(event.when.start);
|
|
|
|
const eventDateEnd = new Date(event.when.end);
|
|
|
|
|
|
|
|
const eventStarted = currentDate > eventDateStart;
|
|
|
|
const eventEnded = currentDate > eventDateEnd;
|
|
|
|
|
|
|
|
let datePrefix;
|
|
|
|
|
|
|
|
if (eventEnded) {
|
|
|
|
return; // Don't display this event
|
|
|
|
} else if (eventStarted) {
|
|
|
|
datePrefix = currentLocalization.date_started;
|
|
|
|
} else {
|
|
|
|
datePrefix = currentLocalization.date_starting;
|
|
|
|
}
|
|
|
|
|
2024-06-03 19:35:45 +00:00
|
|
|
const eventListContainer = document.createElement("div");
|
2024-06-02 05:39:23 +00:00
|
|
|
eventListContainer.classList.add("event-list-container");
|
|
|
|
eventListContainer.id = "event-" + id;
|
|
|
|
|
2024-06-03 19:35:45 +00:00
|
|
|
const eventListContainerSummary = document.createElement("p");
|
2024-06-03 03:54:02 +00:00
|
|
|
|
2024-06-04 22:54:40 +00:00
|
|
|
const eventListContainerSummaryName = document.createElement("button");
|
|
|
|
eventListContainerSummaryName.classList.add("link");
|
|
|
|
eventListContainerSummaryName.addEventListener("click", () => {
|
|
|
|
// this.floormanager.setCurrentRoom(eventFloor.id, true, true);
|
|
|
|
// this.eventmanager.setCurrentEvent(id);
|
|
|
|
});
|
2024-06-03 03:54:02 +00:00
|
|
|
eventListContainerSummaryName.textContent = event.name;
|
|
|
|
|
|
|
|
eventListContainerSummary.appendChild(eventListContainerSummaryName);
|
|
|
|
|
|
|
|
eventListContainerSummary.appendChild(document.createTextNode(" "));
|
|
|
|
|
2024-06-04 22:54:40 +00:00
|
|
|
// if (this.floormanager.currentRoomItem == null) {
|
|
|
|
// const eventListContainerSummaryRoom = document.createElement("button");
|
|
|
|
// eventListContainerSummaryRoom.classList.add("link");
|
|
|
|
// eventListContainerSummaryRoom.addEventListener("click", () => {
|
|
|
|
// this.floormanager.setCurrentRoom(eventFloor.id);
|
|
|
|
// });
|
|
|
|
// eventListContainerSummaryRoom.textContent =
|
|
|
|
// currentLocalization.parenthesis(eventFloor.name);
|
2024-06-03 03:54:02 +00:00
|
|
|
|
2024-06-04 22:54:40 +00:00
|
|
|
// eventListContainerSummary.appendChild(eventListContainerSummaryRoom);
|
|
|
|
// }
|
2024-06-03 03:54:02 +00:00
|
|
|
|
|
|
|
eventListContainerSummary.appendChild(document.createElement("br"));
|
|
|
|
|
|
|
|
const eventListContainerSummarySmall = document.createElement("small");
|
|
|
|
|
|
|
|
const eventListContainerSummaryTime = document.createElement("span");
|
|
|
|
eventListContainerSummaryTime.classList.add("clarification");
|
|
|
|
eventListContainerSummaryTime.title = eventDateStart.toLocaleString(
|
2024-06-04 22:54:40 +00:00
|
|
|
// this.floormanager.lang.replace(/_/g, "-"),
|
|
|
|
{
|
|
|
|
dateStyle: "short",
|
|
|
|
timeStyle: "short",
|
|
|
|
}
|
2024-06-03 03:54:02 +00:00
|
|
|
);
|
|
|
|
eventListContainerSummaryTime.textContent =
|
|
|
|
currentLocalization.date_summary(
|
|
|
|
datePrefix,
|
|
|
|
getRelativeTime(
|
|
|
|
eventDateStart,
|
2024-06-04 22:54:40 +00:00
|
|
|
currentDate
|
|
|
|
// this.floormanager.lang.replace(/_/g, "-")
|
2024-06-03 03:54:02 +00:00
|
|
|
)
|
|
|
|
);
|
|
|
|
|
|
|
|
eventListContainerSummarySmall.appendChild(eventListContainerSummaryTime);
|
|
|
|
|
|
|
|
eventListContainerSummarySmall.appendChild(document.createTextNode(" "));
|
|
|
|
|
|
|
|
const eventListContainerSummaryLength = document.createElement("span");
|
|
|
|
eventListContainerSummaryLength.textContent =
|
|
|
|
currentLocalization.parenthesis(
|
|
|
|
currentLocalization.minutes_long(
|
|
|
|
getMinutesDifference(eventDateStart, eventDateEnd)
|
|
|
|
)
|
|
|
|
);
|
|
|
|
|
|
|
|
eventListContainerSummarySmall.appendChild(
|
|
|
|
eventListContainerSummaryLength
|
|
|
|
);
|
|
|
|
|
|
|
|
eventListContainerSummary.appendChild(eventListContainerSummarySmall);
|
2024-06-02 05:39:23 +00:00
|
|
|
|
|
|
|
eventListContainer.appendChild(eventListContainerSummary);
|
|
|
|
|
|
|
|
this.uiElements.eventList.appendChild(eventListContainer);
|
|
|
|
});
|
|
|
|
|
2024-06-03 19:35:45 +00:00
|
|
|
if (currentEvents.size < 1) {
|
|
|
|
this.uiElements.eventsContainer.classList.add("empty");
|
2024-06-02 05:39:23 +00:00
|
|
|
this.eventsEmpty = true;
|
|
|
|
} else {
|
2024-06-03 19:35:45 +00:00
|
|
|
this.uiElements.eventsContainer.classList.remove("empty");
|
2024-06-02 05:39:23 +00:00
|
|
|
this.eventsEmpty = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
__updateFloorsHard() {
|
|
|
|
// Remove all children
|
|
|
|
this.uiElements.floorButtons.replaceChildren();
|
2024-06-03 03:54:02 +00:00
|
|
|
this.uiElements.floorsHeading.textContent =
|
|
|
|
currentLocalization.floors_header;
|
2024-06-02 05:39:23 +00:00
|
|
|
|
|
|
|
// Put them back
|
2024-06-04 22:54:40 +00:00
|
|
|
// this.floormanager.floors.forEach(({ name }, id) => {
|
|
|
|
// const floorButton = document.createElement("button");
|
|
|
|
// floorButton.textContent = name;
|
|
|
|
// floorButton.classList.add("floor-button");
|
|
|
|
// floorButton.id = "floor-" + id;
|
|
|
|
// if (id === this.floormanager.currentFloor)
|
|
|
|
// floorButton.classList.add("selected");
|
|
|
|
// floorButton.addEventListener("click", () =>
|
|
|
|
// this.floormanager.changeFloor(id)
|
|
|
|
// );
|
|
|
|
|
|
|
|
// this.uiElements.floorButtons.appendChild(floorButton);
|
|
|
|
// });
|
|
|
|
|
|
|
|
// if (this.floormanager.floors.size < 1) {
|
|
|
|
// this.uiElements.floors.classList.add("empty");
|
|
|
|
// this.floorsEmpty = true;
|
|
|
|
// } else {
|
|
|
|
// this.uiElements.floors.classList.remove("empty");
|
|
|
|
// this.floorsEmpty = false;
|
|
|
|
// }
|
2024-06-02 05:39:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
__updateFloorsSoft() {
|
2024-06-03 03:54:02 +00:00
|
|
|
this.uiElements.floorsHeading.textContent =
|
|
|
|
currentLocalization.floors_header;
|
|
|
|
|
2024-06-04 22:54:40 +00:00
|
|
|
// this.floormanager.floors.forEach(({ name }, id) => {
|
|
|
|
// const child = this.uiElements.floorButtons.querySelector("#floor-" + id);
|
|
|
|
// if (id === this.floormanager.currentFloor)
|
|
|
|
// child.classList.add("selected");
|
|
|
|
// else child.classList.remove("selected");
|
|
|
|
// });
|
2024-06-02 05:39:23 +00:00
|
|
|
}
|
|
|
|
}
|