DataStore Struktur
Das Quantum Viewports System verwaltet viewport-spezifische Styles in einem Redux DataStore. Dieser Store enthält sowohl den Editor-Zustand als auch den berechneten Style-Zustand der Blöcke, sodass responsive Styles aus einer zentralen Quelle in der Editor-Vorschau angewendet werden können.
Inhaltsverzeichnis
- Den DataStore aufrufen
- Basis-Struktur
- Viewport-Konfiguration
- SpectrumSets und CSS-Generierung
- Actions und Selektoren
Den DataStore aufrufen
Erreichbar ist der Store über den Store Namen quantumpress/viewports
Im folgenden als Beispiel angewendet:
wp.data.select( 'quantumpress/viewports' );
Basis-Struktur
Der Store wird mit einem Standardzustand initialisiert, der Basiswerte für Viewports, Block-Styles und Editor-Interaktionsflags bereitstellt. Wichtige Eigenschaften sind:
- viewports – Eine Liste vordefinierter Viewport-Breiten mit beschreibenden Labels. Die Konfiguration kann über die Konstante
QUANTUM_VIEWPORTS_EXTENDED=truein der wp-config.php oder in der .env-Datei erweitert werden. In späteren Versionen wird die Auswahl der Viewports über die Benutzeroberfläche editierbar sein. - viewport / iframeViewport – Der aktuell ausgewählte Viewport oder
0für den Standardwert. - isActive / isSaving / isLoading – Flags zur Verfolgung der Simulation und der Speicherprozesse.
- desktop / tablet / mobile – Standardmäßige numerische Viewport-Breakpoints für Desktop, Tablet und Mobile.
- saves / changes / removes / valids / defaults – Objekte, die nach Block-
clientIdorganisiert sind und den gespeicherten Zustand, Editor-Änderungen, explizite Löschungen, validierte Styles und Standard-Styles darstellen. - renderer – Zuordnung von Style-Properties zu registrierten Renderern, jeweils mit Callback-Funktion, Panel- und Gruppen-Zuordnungen sowie optionalen block-spezifischen Mappings.
- lastEdit – Zeitstempel der letzten Blockbearbeitung, zur Synchronisation der Benutzeroberfläche.
In zukünftigen Versionen werden Änderungen und Löschungen auch in den Block-Attributen gespiegelt, um vollständige Undo/Redo-Funktionalität über die Editor-History zu ermöglichen.
Viewport-Konfiguration
Standard-Viewportwerte werden für Desktop, Tablet und Mobile bereitgestellt:
- Desktop: 1360px (Standard)
- Tablet: 780px (Standard)
- Mobile: 360px (Standard)
Mit einer Konstante in Ihrer wp-config.php kann die Palette erweitert werden: QUANTUM_VIEWPORTS_EXTENDED=true
SpectrumSets und CSS-Generierung
Die Style-Regeln jedes Blocks werden in SpectrumSets aufgelöst, die den berechneten Style-Zustand pro Viewport darstellen. SpectrumSets entstehen aus der Kombination von:
- Gespeicherten Werten (
saves) - Validierten Styles (
valids) - Expliziten Löschungen (
removes) - Editor-Änderungen (
changes)
In zukünftigen Versionen wird jedes Spectrum-Objekt als Klasse definiert, um die Zugänglichkeit zu erhöhen und eine programmgesteuerte Manipulation zu ermöglichen. CSS wird aus diesen SpectrumSets unter Verwendung der registrierten Renderer generiert und in der cssSet-Eigenschaft des Stores gespeichert.
Actions und Selektoren
Interaktionen mit dem Store erfolgen über Actions und Selectors:
- Actions werden verwendet, um den Store zu aktualisieren, z. B. um neue Style-Änderungen anzuwenden oder einen Block zu registrieren.
- Selektoren liefern abgeleitete Zustände, einschließlich aufgelöstem CSS, aktiven Viewport-Styles und berechneten SpectrumSets.