4.5 KiB
Vendoo 1.44.0 – UX Slice 18: Safe Action Adapters
Referenz
- Branch:
release/1.44.0-ux-foundation-production-update-v1 - Ausgangs-Head:
bd87f739992085bf0d06060b9b075bb5d2219175 - App-Ziel: Vendoo
1.44.0 - Updater:
3.4.0
Ziel
Die Universal Action Registry aus Slice 17 wird erstmals mit bestehenden Vendoo-Funktionen verbunden. Der Slice migriert ausschließlich nicht destruktive Aktionen. Jeder Adapter delegiert an einen bereits vorhandenen, geprüften DOM-Handler und enthält keine neue Fach-, Netzwerk- oder Persistenzlogik.
Migrierte Aktionen
Module & Extensions
workspace:modules:refresh- ruft ausschließlich den vorhandenen Button
#module-manager-refreshauf
- ruft ausschließlich den vorhandenen Button
workspace:modules:filter-all- delegiert an den vorhandenen Modulfilter
all
- delegiert an den vorhandenen Modulfilter
workspace:modules:filter-problems- delegiert an den vorhandenen Modulfilter
problems
- delegiert an den vorhandenen Modulfilter
Artikel
workspace:articles:open-current- öffnet den zuletzt fokussierten oder ausgewählten Artikel über
.history-article-title
- öffnet den zuletzt fokussierten oder ausgewählten Artikel über
workspace:articles:view-cards- delegiert an die bestehende Kartenansicht
workspace:articles:view-list- delegiert an die bestehende Listenansicht
Medien
workspace:media:open-current-preview- öffnet das zuletzt fokussierte oder ausgewählte Bild über den vorhandenen Preview-Handler
workspace:media:density-comfortable- delegiert an die vorhandene mittlere Galeriedichte
workspace:media:reset-filters- delegiert an den vorhandenen Medienfilter-Reset
Kontextmodell
Artikel- und Medienaktionen arbeiten nicht mit willkürlich gewählten Datensätzen. Der Adapter merkt sich ausschließlich den zuletzt per Fokus oder Pointer adressierten Artikel beziehungsweise die zuletzt adressierte Medienvorschau.
Falls kein solcher Kontext vorhanden ist, kann alternativ eine bereits ausgewählte Zeile beziehungsweise Medienkarte verwendet werden. Ohne eindeutigen Kontext bleibt die Action deaktiviert.
Zusätzlich wird jede Action gegen window.VendooNavigation.currentView geprüft. Modulaktionen sind nur in admin, Artikelaktionen nur in history und Medienaktionen nur in media-library sichtbar. Ein technisch noch vorhandener, aber inaktiver DOM-Bereich reicht ausdrücklich nicht aus.
Command-Palette-Integration
Alle neun Adapter werden über window.VendooActions.registerMany(...) registriert und nutzen ausschließlich die Surface command-palette.
Dadurch erscheinen sie in der bestehenden Ctrl+K-Palette, ohne eine zweite Command-Liste einzuführen. Sichtbarkeit und Enablement werden unmittelbar vor Darstellung und Ausführung erneut gegen den aktuellen DOM- und Workspace-Kontext geprüft.
Sicherheitsgrenzen
- ausschließlich
danger: none - keine destruktiven oder vorsichtigen Actions
- keine Veröffentlichung
- keine Löschung
- keine Installation oder Deinstallation
- keine Modulaktivierung oder -deaktivierung
- keine Statusänderung
- keine Speicherung
- keine Datenbankänderung
- keine Migration
- keine neuen API-Aufrufe
- kein Polling
- kein
window.confirm - kein
innerHTML
Die Adapter rufen nur vorhandene Buttons oder Links per click() auf. Serverseitige Berechtigungen, CSRF-Schutz, Validierungen und bestehende Handler bleiben unverändert maßgeblich.
Asset-Ladereihenfolge
public/module-extension-workspace.js lädt jetzt in dieser Reihenfolge:
- Command Platform
- Universal Action Registry
- Global Navigation
- Safe Action Adapters
Der Adapter wartet zusätzlich auf vendoo:actions-ready, falls die Action Registry beim Laden noch nicht verfügbar ist.
Verifikation
Neues Gate:
npm run verify:safe-action-adapters
Das Gate prüft statisch und in einer isolierten Runtime:
- alle neun stabilen Action-IDs
- ausschließliche Command-Palette-Surface
- ausschließlich Gefahrstufe
none - aktive Workspace-Grenzen über
VendooNavigation.currentView - korrekte Asset-Ladereihenfolge
- Modul-Refresh-Delegation
- Modulfilter-Delegation
- Artikelansicht-Delegation
- fokussierten Artikelkontext
- fokussierten Medienkontext
- Galeriedichte und Medienfilter-Reset
- Ready-Event
- Ausschluss von Netzwerk-, Polling-,
innerHTML-, Bestätigungs- und direkter Fachlogik - Einbindung in
verify:all
Lokal bestanden:
node --check public/safe-action-adapters.js
node --check tools/verify-safe-action-adapters-1.44.0.mjs
Safe Action Adapter Gate bestanden.
Daten- und Releasegrenzen
- keine bestehenden Routen, APIs, Feld-IDs oder Modul-IDs umbenannt
- keine bestehenden Handler ersetzt
- keine persistenten Nutzdaten verändert
- kein Merge
- kein Deployment
- kein Release