← Alle Beiträge

Aktionstypen

BUTTON: die einfachste JustZix-Aktion — Fire-and-forget mit Anpassung pro Button

Ein Aktionstyp ist so simpel, dass er in Beiträgen übersprungen wird. BUTTON — Klick → Code ausführen → fertig. Kein Zustand, keine Memory, keine Optionsliste zur Auswahl. Es ist eine „zustandslose Funktion" in der Aktionsleiste. Aber genau diese Einfachheit macht ihn am stärksten: BUTTON ist 80 % aller Aktionen in einem typischen JustZix-Setup, weil die meisten Dinge, die du tun willst, „Klick = X" sind.

Wann BUTTON, wann etwas anderes?

BedarfAktionstypMemory?
„Klick = X ausführen"BUTTONNein
„Eine von N Optionen wählen"SELECTJa
„Text tippen und ausführen"INPUTJa
„Einen Entwurf / Notizen halten"TEXTAREAJa
„Bereich 0-100 steuern"SLIDERJa
„3 bekannte Zustände (Dev/Stg/Prod)"TOGGLE3Ja

Nur BUTTON ist zustandslos. Alle anderen Typen halten einen Wert pro action.id (sessionStorage + chrome.storage.local-Backup). BUTTON = reine Funktion: Eingabe (Klick) → Ausgabe (Effekt auf der Seite).

Erste BUTTON-Aktion

Im JustZix-Editor → Regel → Aktionsleiste → „+ BUTTON". Konfiguration:

label: "🚀 Demo füllen"   // Button-Text + Icon
code: |
  // value, $el, $action werden automatisch als Extras injiziert
  document.querySelector('[name=email]').value = 'demo@test.com';
  document.querySelector('[name=name]').value = 'Demo User';
  document.querySelectorAll('input, textarea').forEach(el =>
    el.dispatchEvent(new Event('input', { bubbles: true }))
  );
  JUSTZIX.log('Demo-Daten gefüllt.');

Klick „🚀 Demo füllen" → Formularfelder gefüllt, das Framework der Seite (React/Vue/Angular) sieht das input-Event → Zustand aktualisiert.

Zwei Farben + customStyles

BUTTON hat 2 Grundfarben:

color       → Button-Hintergrund
colorText   → Label-Textfarbe (und Icon, falls Emoji)

Dazu ein optionales customStyles-Objekt — granulares CSS-Override:

customStyles: {
  padding: '8px 16px',         // Standard 6px 12px
  fontSize: '14px',             // Standard 12px
  borderRadius: '4px',          // Standard 6px
  fontFamily: 'Fira Code, monospace',
  fontWeight: '600',
  letterSpacing: '0.5px',
}

Rendering: jede customStyles-Eigenschaft läuft durch el.style.setProperty(key, value, 'important') — schlägt JustZix-Standardregeln. So kannst du Buttons an den Markenstil der Seite anpassen, die du modifizierst (z. B. Bootstrap-Blau, Material-Design-Ripple, Anpassung pro Domain).

Was im Code-Feld verfügbar ist

BUTTON-Code läuft im MAIN world (chrome.scripting.executeScript world:'MAIN') über background.js. Automatisch verfügbar:

Anwendungsfall 1 — Schnelle Ketten

Häufig wiederholte Aktionssequenzen lassen sich mit einem einzigen Button automatisieren:

// Aktion „🔥 Test-Flow"
JZ.click('Login');               // klickt die BUTTON-Aktion mit Label „Login"
await new Promise(r => setTimeout(r, 500));
JZ.click('In den Warenkorb');
await new Promise(r => setTimeout(r, 500));
JZ.click('Checkout');
JUSTZIX.log('Test-Flow abgeschlossen.');

Kette aus 3 Buttons in 1 → ein Klick auf „Test-Flow" feuert sie nacheinander. Jeder der 3 Sub-Buttons kann weiterhin einzeln wiederverwendet werden.

Anwendungsfall 2 — Bedingte Ausführung

BUTTON ist „bei Bedarf ausführen", also perfekt für destruktive Skripte mit einem URL-Schutz:

// Aktion „🗑️ Staging-Warenkorb leeren"
if (!location.hostname.includes('staging')) {
  JUSTZIX.error('Nur auf Staging! Abbruch.');
  alert('Dieser Button funktioniert nur auf Staging.');
  return;
}
const items = document.querySelectorAll('.cart-item .remove-btn');
items.forEach(btn => btn.click());
JUSTZIX.log(`${items.length} Artikel geleert.`);

Kein Auto-Run-Risiko (wie beim JS pane), kein manuell zu füllendes Textfeld — nur ein Klick, wann du willst, wo du willst.

Anwendungsfall 3 — Visuelles Feedback nach dem Klick

Alter Klassiker: ein Button, der bei Erfolg sein Label ändert:

// Aktion „💾 Zustand speichern"
const oldLabel = $el.textContent;
$el.textContent = '⏳ Speichern...';
$el.style.opacity = '0.6';
try {
  await fetch('/api/state', {
    method: 'POST',
    body: JSON.stringify(getState()),
  });
  $el.textContent = '✓ Gespeichert';
  setTimeout(() => {
    $el.textContent = oldLabel;
    $el.style.opacity = '';
  }, 2000);
} catch (e) {
  $el.textContent = '✗ Fehler';
  JUSTZIX.error('Speichern fehlgeschlagen', e);
}

$el ist die DOM-Referenz des Buttons — ändere ihn direkt. Visuelles Feedback ohne externen Zustand.

Anwendungsfall 4 — Mehrere Buttons, ein Flow

Statt eines „Voller QA-Flow"-Buttons, 5 separate in einem visuellen Cluster:

// Aktion „1️⃣"
JUSTZIX.log('Schritt 1: Login');
JZ.click('Als Testuser anmelden');

// Aktion „2️⃣"
JUSTZIX.log('Schritt 2: navigieren');
location.href = '/admin/orders';

// Aktion „3️⃣"
JUSTZIX.log('Schritt 3: filtern');
document.querySelector('select.status').value = 'pending';
document.querySelector('select.status').dispatchEvent(new Event('change'));

Jeder Schritt als separater Button → der User sieht visuell, wo er im Flow steht. Außerdem kann er jeden Schritt wiederholen, ohne neu zu starten.

Fallstricke

Wie es weitergeht

BUTTON ist das Rückgrat aller JustZix-Toolbars. Sieh dir auch andere Aktionstypen an:

Installiere JustZix — komplett kostenlos, kein Konto, kein Server.

Bewerte diesen Beitrag

Noch keine Bewertungen — sei der Erste.

Probiere es selbst aus

Installiere JustZix und füge ein beliebiges Snippet aus diesem Artikel ein. Zwei Minuten von null bis zu einer funktionierenden Regel auf allen deinen Geräten.

JustZix holen

Funktionen · So funktioniert es · Beispiele · Anwendungsfälle