🚀 Highlights
Blitzschnelles Chart-Loading! -- Charts mit großen Datentabellen warten nicht mehr darauf, dass die gesamte Seite gerendert wird. Datatable-Payloads werden jetzt asynchron im Hintergrund geladen, sodass sich eure Dashboards vom ersten Moment an spürbar schneller anfühlen. Zusammen mit optimiertem Menü-Rendering und smarterem Query-Caching liefert dieses Release einen deutlichen Performance-Schub.
✨ Neu
- 🗺️ Heatmap ein-/ausblenden: In den Chart-Einstellungen könnt ihr das Heatmap-Overlay bei unterstützten Chart-Typen ein- oder ausschalten. Perfekt, um zwischen farbcodierter Ansicht und klarer Datenanzeige zu wechseln, ohne den Chart neu konfigurieren zu müssen.
📈 Verbesserungen
⚡ Asynchrones Datatable-Loading: Charts mit großen Datentabellen laden ihre Daten jetzt über eine dedizierte Hintergrund-Anfrage, statt sie ins Seiten-HTML einzubetten. Das Ergebnis: deutlich schnellere Seitenaufbauzeiten, besonders bei Dashboards mit vielen datenintensiven Charts.
🧠 Smarteres Menü-Rendering: Dashboards mit vielen Kategorien erzeugten bisher Tausende von HTML-Elementen serverseitig. Menüs mit mehr als 20 Einträgen werden jetzt client-seitig gerendert -- das reduziert die Seitengröße und beschleunigt die Ladezeiten.
🔗 Schnellere Filter-Dropdowns: Filter-Dropdown-Kategorien werden mit eager-loaded Relations vorgeladen und Sortier-Maps vorab berechnet -- weniger redundante Datenbank-Abfragen und flüssigere Filter-Interaktionen.
🏗️ Sauberere Architektur: Der Chart-Controller wurde in fokussierte Klassen aufgeteilt (
ChartPageController,ChartManagementController,ChartDataController), was die Codebasis einfacher erweiterbar und wartbarer macht.🔧 Dev-Tooling-Upgrades: ESLint auf v10 und PHP_CodeSniffer auf v4 mit den neuesten Coding-Standard-Regeln aktualisiert -- für eine moderne Entwicklungsumgebung, die mehr Probleme frühzeitig erkennt. Laravel Telescope wurde entfernt, um den Dev-Stack zu vereinfachen.
🐛 Fehlerbehebungen
- Filter-Dropdowns mit Frage-Arrays: Filter-Dropdowns vom Typ „Frage" mit Array-artigen Filter-IDs lösen keine Konvertierungsfehler oder Redirect-Schleifen mehr in geteilten/eingebetteten Ansichten aus.
- Chart-Legende nach Async-Load: Die Chart-Legende berechnet sich jetzt korrekt neu, wenn Datatable-Daten asynchron eintreffen -- Fallzahlen und Labels bleiben akkurat.
- XSS-Härtung in Menüs: Das dynamische Menü-Rendering wurde gegen potentielles Cross-Site-Scripting in generierten Optionswerten gehärtet.
- Dropdown-Defaults: Veraltete Dropdown-Default-IDs werden jetzt gegen existierende Subkategorien validiert und fallen bei Bedarf auf Text-Matching zurück -- keine Redirect-Schleifen mehr.
- SQL-Ausdrücke: Komplexe SQL-Ausdrücke (einschließlich klammerbasierter Formen wie
((...))*100) werden jetzt korrekt normalisiert und geroutet, was leere Ergebnisse in bestimmten Chart-Queries behebt. - Route-Parameter-Erhaltung: Filter-Middleware-Redirects behalten jetzt alle erforderlichen Route-Parameter bei und verhindern so Abstürze bei Routen wie Chart-Hinzufügen und geteilten Reports.
- Benchmark-Dropdown-Schließverhalten: Globale Benchmark-Multiselect-Dropdowns schließen sich wieder beim Klick außerhalb und stellen das erwartete Apply-on-Close-Verhalten wieder her.