feat: erweitere DemoEventFlow und EventWizardViewModel um neue Schritte
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
This commit is contained in:
+13
-1
@@ -10,12 +10,20 @@ import at.mocode.frontend.core.wizard.runtime.WizardState
|
||||
sealed interface DemoEventStep : StepId {
|
||||
data object ZnsCheck : DemoEventStep
|
||||
data object VeranstalterSelection : DemoEventStep
|
||||
data object AnsprechpersonMapping : DemoEventStep
|
||||
data object MetaData : DemoEventStep
|
||||
}
|
||||
|
||||
data class DemoEventAcc(val dummy: String = "")
|
||||
data class DemoEventAcc(
|
||||
val veranstalterId: String? = null,
|
||||
val veranstalterNr: String = ""
|
||||
)
|
||||
|
||||
object DemoEventGuards {
|
||||
val hasZns: Guard<DemoEventStep, DemoEventAcc> = { ctx, _ -> (ctx.stats?.vereinCount ?: 0) > 0 }
|
||||
// Platzhalter-Guard: aktuell stets true, damit Verhalten dem Legacy-Pfad entspricht.
|
||||
// Wird später durch echte Domänenlogik ersetzt (Veranstalter-Typ/ID etc.).
|
||||
val needsContactPerson: Guard<DemoEventStep, DemoEventAcc> = { _, _ -> true }
|
||||
}
|
||||
|
||||
val DemoEventFlow = flow<DemoEventStep, DemoEventAcc>(start = DemoEventStep.ZnsCheck) {
|
||||
@@ -23,6 +31,10 @@ val DemoEventFlow = flow<DemoEventStep, DemoEventAcc>(start = DemoEventStep.ZnsC
|
||||
whenGuard("hasZns", DemoEventGuards.hasZns, go = DemoEventStep.VeranstalterSelection)
|
||||
otherwise(DemoEventStep.VeranstalterSelection)
|
||||
}
|
||||
step(DemoEventStep.VeranstalterSelection) {
|
||||
whenGuard("needsContactPerson", DemoEventGuards.needsContactPerson, go = DemoEventStep.AnsprechpersonMapping)
|
||||
otherwise(DemoEventStep.MetaData)
|
||||
}
|
||||
}
|
||||
|
||||
// Hilfsfunktion für einfache manuelle Nutzung im Spike
|
||||
|
||||
Reference in New Issue
Block a user