2.4 KiB
CurrentNavigation
CurrentNavigation 1.1.6 ist ein SPFx-1.4.1-Application-Customizer für moderne Seiten in SharePoint Server Subscription Edition. Die Solution ergänzt unterhalb der vorhandenen Einträge im modernen SiteNavigation-Bereich einen Treeview für das aktuelle Web. Native Einträge wie Documents bleiben unverändert sichtbar.
Term-Konfiguration
Die Steuerung erfolgt über Local Custom Properties:
- CurrentNavigation.Root = true: Dieser Term ist der Navigationswurzelpunkt einer Website.
- CurrentNavigation.Hidden = true: Dieser Term und sein kompletter Unterbaum werden ausgeblendet.
Die URL des Root-Terms wird mit pageContext.web.absoluteUrl verglichen. Sowohl die Web-URL selbst als auch eine Homepage unterhalb der Web-URL werden erkannt. Der nächstgelegene Root-Term gilt außerdem für alle darunterliegenden Webs. Der Root-Term wird standardmäßig nicht dargestellt; seine direkten Kinder bilden die erste Navigationsebene.
TopNavigation.Hidden beeinflusst die Current Navigation nicht. Ausschließlich CurrentNavigation.Hidden blendet
einen Term und seinen Unterbaum aus.
Der Treeview unterstützt auf- und zuklappbare Zweige, aktive Seitenpfade sowie die Navigation mit den Pfeiltasten, Pos1 und Ende.
Der initiale Aufklappzustand ist über initialExpansion steuerbar: activePath öffnet wie bisher nur den aktiven
Pfad, expanded öffnet alle Zweige und collapsed startet mit vollständig geschlossenen Zweigen.
Für activePath wird die Term-URL sowohl mit der aktuellen Seite als auch mit der aktuellen SharePoint-Web-URL
verglichen. Dadurch wird der Pfad auch auf modernen SitePages und in Listen oder Bibliotheken korrekt geöffnet.
Wenn kein passender Root-Term gefunden wird oder das Termset nicht geladen werden kann, bleibt ausschließlich die native SharePoint-Sitenavigation sichtbar.
Für moderne Teamwebsites wird unter anderem das stabile Fabric-Muster nav[role="navigation"].ms-Nav mit enthaltener ms-Nav-navItems-Liste erkannt. Dynamisch erzeugte Klassen wie root-70 werden nicht verwendet.
Build und Bereitstellung
Voraussetzungen: Node.js 8.17.0, npm 6.x und lokales Gulp 3.9.1.
Build: npm install, npm test, npm run package.
Das Paket entsteht unter sharepoint/solution/current-navigation.sppkg. Es wird im App Catalog zentral bereitgestellt und anschließend über PortalSettings 3.1.0 aktiviert. Alternativ dient deployment/add-currentnavigation.ps1 zur site-collection-weiten Registrierung.