Files
Megamenu/ToDo.md
Torsten Brendgen 50b85468f1 feat: Enhance MegaMenu with localization, caching, and new properties
- Added localization support for loading states, empty navigation, and submenu actions in both German and English.
- Introduced new properties in IMenuItem for description, openInNewWindow, and external links.
- Updated SPTermStorePickerService to handle cache versioning and language-specific caching.
- Implemented a new MegaMenuCore service for handling term properties, cache management, and navigation URL resolution.
- Refactored TaxonomyNavigationService to build menu hierarchy and filter hidden terms.
- Added automated tests for MegaMenu core functionalities and static asset validation.
- Removed unused ItemDictionary service.
- Created a comprehensive ToDo document outlining the implementation status and future tasks.
2026-07-20 21:34:24 +02:00

60 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MegaMenu Arbeitsplan Version 2.2
Status: Implementierung abgeschlossen; Ship-Build auf der vorgesehenen Node-8-Buildumgebung ausstehend
## Funktionsumfang
- [x] Mobile Navigation als Hamburger-Menü mit aufklappbaren Unterebenen umsetzen.
- [x] Hover als Komfortfunktion beibehalten; Bedienung per Klick, Touch und Tastatur gleichwertig unterstützen.
- [x] Für Menüpunkte mit Ziel und Unterpunkten eine getrennte Öffnen-Schaltfläche anbieten.
- [x] Navigations-URLs validieren und unsichere Protokolle blockieren.
- [x] Externe Links und `MegaMenu.OpenInNewWindow` sicher unterstützen.
- [x] Lade-, Leer- und Fehlerzustände verständlich und barrierearm darstellen.
## Lokale Term-Eigenschaften
- [x] `MegaMenu.Hidden` zum gezielten Ausblenden eines Terms unterstützen.
- [x] `MegaMenu.OpenInNewWindow` für ein neues Browserfenster unterstützen.
- [x] `MegaMenu.Description` als optionale Linkbeschreibung unterstützen.
- [x] Eigenschaften in Modern und Classic identisch auswerten.
Die Eigenschaften werden im Term Store als lokale benutzerdefinierte Eigenschaften am jeweiligen Term gepflegt. Styling bleibt Aufgabe der Solution Custom Branding.
## Cache
- [x] Cache-Schlüssel um Site Collection, Sprache und Schemaversion erweitern.
- [x] Konfigurierbare `cacheVersion` zur administrativen Invalidierung ergänzen.
- [x] Abgelaufene und ungültige Cache-Einträge sicher entfernen.
- [x] Bei einem temporären Taxonomy-Fehler auf den letzten vorhandenen Cache zurückfallen.
## Mehrsprachigkeit
- [x] Sämtliche sichtbaren Status- und ARIA-Texte lokalisieren.
- [x] Bevorzugtes Term-Label anhand der aktuellen SharePoint-Sprache verwenden.
- [x] Cache nach Sprache trennen.
- [x] Deutsche und englische Ressourcen pflegen.
## Barrierefreiheit
- [x] Semantische Schaltflächen für das Öffnen von Untermenüs verwenden.
- [x] Vollständige Tastaturbedienung inklusive Pfeiltasten und Escape sicherstellen.
- [x] Fokus beim Öffnen und Schließen nachvollziehbar führen.
- [x] Mobile Accordion-Zustände über `aria-expanded` kommunizieren.
- [x] Fokusdarstellung, Hochkontrast und reduzierte Bewegung berücksichtigen.
## Qualitätssicherung
- [x] Automatisierte Tests für URL-Validierung und externe Links ergänzen.
- [x] Automatisierte Tests für lokale Term-Eigenschaften ergänzen.
- [x] Automatisierte Tests für Cache-Schlüssel und Cache-Verhalten ergänzen.
- [x] Automatisierte Tests für Hierarchie, Sortierung und aktive URLs ergänzen.
- [x] TypeScript-, Classic-Syntax-, Classic-Build- und statische Asset-Prüfungen ausführen.
- [ ] `npm run package` mit Node.js 8.17.0 auf der vorgesehenen Buildumgebung ausführen.
Der lokale SPFx-Gulp-Build wurde mit Node.js 24 gestartet und erwartungsgemäß durch die alte Gulp-3-Abhängigkeit mit `primordials is not defined` beendet. Das ist kein TypeScript- oder Projektfehler; SPFx 1.4.1 benötigt für diesen Schritt Node.js 8.17.0.
## Nicht Bestandteil dieses Durchlaufs
- [ ] PortalSettings in Version 3 als SPFx-Webpart neu aufbauen.
- [ ] MegaMenu-Diagnose und Live-Vorschau in PortalSettings integrieren.