window.JZ als Mini-Framework — dein eigenes Werkzeugpanel aus Aktionen
Eine einzelne Aktion ist ein Button und etwas Code. Aber Aktionen können einander aufrufen — und ab diesem Moment hältst du ein kleines Framework in der Hand. window.JZ lässt dich komplexe, mehrstufige Workflows aus Buttons bauen.
Was window.JZ ist
Im Code jeder Regel oder Aktion ist das window.JZ-Objekt verfügbar — eine API zum Steuern der JustZix-Aktionsleiste:
JZ.click('LBL')— klicke die mit „LBL" beschriftete Aktion programmatisch.JZ.action('LBL')— hole das DOM-Element des Buttons.JZ.actions()— ein Array aller sichtbaren Aktionen.JZ.labels()— ein Array der Beschriftungen.
Die Suche ignoriert Groß-/Kleinschreibung: JZ.click('save') ist gleich JZ.click('SAVE').
Muster 1 — eine Orchestrator-Aktion
Drei Aktionen tun je eine Sache, eine vierte komponiert sie zu einer Sequenz:
// Aktion "AUTO" — führt drei andere der Reihe nach aus
JZ.click('LOAD');
setTimeout(() => JZ.click('PROC'), 500);
setTimeout(() => JZ.click('SAVE'), 1500);
Jede der drei Komponenten-Aktionen testest du für sich; „AUTO" dirigiert sie nur. Es ist dasselbe Prinzip wie Funktionen, die Funktionen aufrufen.
Muster 2 — eine bedingte Aktion
// Aktion "SMART" — Verhalten hängt vom Seitenzustand ab
if (document.querySelector('.logged-in')) {
JZ.click('EXPORT');
} else {
JZ.click('LOGIN');
}
Muster 3 — eine Schleife über Aktionen
JZ.actions() und JZ.labels() lassen dich die Leiste als Daten behandeln:
// Aktion "ALL" — feuert jede Aktion, deren Beschriftung mit "T" beginnt
JZ.labels()
.filter(l => l.startsWith('T'))
.forEach(l => JZ.click(l));
Warum das wie ein Framework funktioniert
Du hast Einheiten (Aktionen), eine Möglichkeit, sie aufzurufen (JZ.click), Introspektion (JZ.actions/labels) und Komposition (eine Aktion, die Aktionen aufruft). Das reicht, um aus einer Button-Leiste ein mehrstufiges Werkzeug zu bauen — ohne externe Bibliothek.
Fallstricke
- Timing.
JZ.clickist sofortig, aber der Effekt einer Aktion (z. B. ein fetch) nicht. Deshalb nutzt der OrchestratorsetTimeout; besser noch lassen Aktionen den Abschluss über eine gemeinsame Variable signalisieren. - Beschriftungen sind ein Vertrag. Eine Orchestrator-Aktion ruft andere per Beschriftung auf — das Umbenennen der „LOAD"-Beschriftung trennt „AUTO" ab. Behandle Beschriftungen wie Funktionsnamen.
Siehe auch
- window.JZ helpers — die vollständige Aktions-API
- Die BUTTON-Aktion — die Einheit, die du orchestrierst
- Drei Aktionen, die einen Platz wert sind — fertige Aktionen zum Komponieren
Installiere JustZix — und bau aus Buttons etwas Größeres als einen Button.
Bewerte diesen Beitrag
Noch keine Bewertungen — sei der Erste.