class UIManager { constructor(roomManager, wallManager) { this.roomManager = roomManager; this.wallManager = wallManager; this.selectedElement = null; } // Set selected element setSelectedElement(element) { this.selectedElement = element; this.updatePropertiesPanel(); } // Clear selection clearSelection() { this.selectedElement = null; this.updatePropertiesPanel(); } // Update properties panel updatePropertiesPanel() { const panel = document.getElementById('propertiesPanel'); if (this.selectedElement) { let propertiesHTML = this.getBasicPropertiesHTML(); if (this.selectedElement.type === 'wall') { propertiesHTML += this.getWallPropertiesHTML(); } else if (this.selectedElement.type === 'room') { propertiesHTML += this.getRoomPropertiesHTML(); } propertiesHTML += this.getDeleteButtonHTML(); panel.innerHTML = propertiesHTML; } else { panel.innerHTML = this.getDefaultPanelHTML(); } } // Get basic properties HTML getBasicPropertiesHTML() { return `
Select an element to edit properties
G - Toggle Grid
M - Toggle Measurements
S - Toggle Snap to Grid
+/- - Zoom In/Out
0 - Reset Zoom
Ctrl+Drag - Pan Canvas
Delete - Delete Selected