Actions und Events
Actions beschreiben Zustandsänderungen und fachliche Events. Surfaces können DOM- oder Komponentenereignisse an Actions binden, ohne ausführbares JavaScript in die RMT-Quelle einzubetten.
Sicherer Event-Fluss
Halte Event-Selektoren deklarativ, übergib Payload-Werte über Action-Inputs und lass die Runtime Reducer anwenden.
template learn.rmt.interactions {
state page.counter type object preserve {
initial {
value 0
status "ready"
}
}
action page.increment {
input label string
reduce state.page.counter.status = "incremented"
emit page.counter.incremented with label input.label
}
surface counter.card kind card component x-status {
lane visible weight 90 {
mount counter-card
}
on click "[data-action=increment]" -> action page.increment {
payload label from target.dataset.label
}
}
}
Maraca Action Gates
Maraca verbindet Actions mit Validation, Scheduler-Zielen und Telemetrie. Ein emit Record wird im Strict-Pfad nur dann nützlich, wenn Payload-Namen stabil bleiben und die Surface-Bindung auf eine vorhandene Action zeigt. Für Formularflüsse prüft Maraca Orchestrierung, ob target action aus einer validation Gruppe tatsächlich zu dieser Action passt.
Collection- und Command-Events
Die eigene RMT-Oberfläche erweitert dieselbe Regel auf Data Display und Command/Search:
event.collection.selectsendet$event.keyanaction.orders.select.event.collection.sortsendet$event.sortanaction.orders.sort.event.command.querysendet$event.valueanaction.command.query.event.command.executesendet$event.commandIdan eine policy-gebundene Effect Action.
Command-Ausführung muss registriert und action-referenziert bleiben. Eine Search-Result-Selection sollte über action.command.execute laufen, und diese Action sollte policy: "registered-command-required" nutzen, bevor sie den Host Effect erreicht.
Siehe RMT Event Routing Runtime und RMT Action Effect Runtime für den vollständigen Vertrag.
Nächster Schritt
Ergänze externe Daten und Lifecycle-Cleanup mit Daten und Ressourcen.