/** * app/assets/js/dashboard.js */ window.Dashboard = (function () { const modules = [ { id: 'device_types', label: 'Geraetetypen', description: 'Geraetetypen und Port-Definitionen', url: '?module=device_types&action=list', icon: 'DT' }, { id: 'devices', label: 'Geraete', description: 'Physische Geraete in Racks und Raeumen', url: '?module=devices&action=list', icon: 'DV' }, { id: 'connections', label: 'Verbindungen', description: 'Kabel, Ports und VLANs', url: '?module=connections&action=list', icon: 'CN' }, { id: 'floors', label: 'Stockwerke', description: 'Standorte, Gebaeude und Etagen', url: '?module=floors&action=list', icon: 'FL' }, { id: 'racks', label: 'Racks', description: 'Racks und Positionierung', url: '?module=racks&action=list', icon: 'RK' }, { id: 'infra', label: 'Infrastruktur', description: 'Patchpanels und Wandbuchsen', url: '?module=floor_infrastructure&action=list', icon: 'IF' } ]; function init() { const container = document.querySelector('#dashboard-modules'); if (container) { renderModules(container); } loadStats(); showWarnings(); renderRecentChanges(); } function renderModules(container) { container.innerHTML = ''; modules.forEach((module) => { const el = document.createElement('a'); el.className = 'dashboard-tile'; el.href = module.url; el.innerHTML = `
${module.description}