feat: Update version to 3.0.4 and enhance CustomBranding functionality

This commit is contained in:
Torsten Brendgen
2026-08-19 21:05:17 +02:00
parent 0bf62ecadf
commit 583964a792
8 changed files with 74 additions and 30 deletions
+8 -6
View File
@@ -1,6 +1,6 @@
# CustomBranding
CustomBranding 3.0.3 ist ein zentraler SPFx-1.4.1-Application-Customizer für SharePoint Server Subscription Edition. Die Solution lädt freigegebene Stylesheets und rendert eine kontrollierte Komponentenstruktur im oberen oder unteren SharePoint-Placeholder. Moderne und klassische Seiten verwenden dieselben `ClientSideComponentProperties`.
CustomBranding 3.0.4 ist ein zentraler SPFx-1.4.1-Application-Customizer für SharePoint Server Subscription Edition. Die Solution lädt freigegebene Stylesheets und rendert eine kontrollierte Komponentenstruktur im oberen oder unteren SharePoint-Placeholder. Moderne und klassische Seiten verwenden dieselben `ClientSideComponentProperties`.
Die Konfiguration liegt in genau einer `SPSite.UserCustomAction` pro Site Collection. Es werden weder eine versteckte Liste noch ein Property Bag benötigt. Dadurch gilt das Branding automatisch für das Root Web, vorhandene Subwebs und später angelegte Subwebs.
@@ -16,14 +16,16 @@ Site Collection
└── klassische Seiten: optionaler SPSite ScriptLink
CustomHeader
├── CustomBrandingTopHost
└── MegaMenuHost (wird nicht verändert)
├── Branding-Elemente mit `data-custom-branding-placement="top"`
└── CustomNavigation (wird nicht verändert)
CustomFooter
└── CustomBrandingBottomHost
```
CustomBranding verändert nur seine eigenen Host-Elemente. Das MegaMenu und andere Erweiterungen im selben Placeholder bleiben bei Navigation und erneutem Rendern erhalten.
CustomBranding rendert seine Top-Elemente direkt in `CustomHeader` und entfernt beim erneuten Rendern nur die über `data-custom-branding-owner` markierten eigenen Knoten. `CustomNavigation` und andere Erweiterungen im selben Placeholder bleiben erhalten.
Die zentrale Custom-Branding-Action verwendet `Sequence = 90`. MegaMenu verwendet `100` und Current Navigation `110`, sodass Custom Branding den gemeinsamen Header zuerst vorbereitet. Die DOM-Integration bleibt trotzdem unabhängig von der tatsächlichen asynchronen Fertigstellungsreihenfolge.
## Voraussetzungen und Build
@@ -193,8 +195,8 @@ performance.getEntriesByType('resource')
({
header: !!document.getElementById('CustomHeader'),
branding: !!document.getElementById('CustomBrandingTopHost'),
megaMenu: !!document.getElementById('MegaMenuHost')
branding: document.querySelectorAll('#CustomHeader > [data-custom-branding-placement="top"]').length,
megaMenu: !!document.getElementById('CustomNavigation')
});
```