protected override IScreenFlowConfigurator OnRegisterUserActions( IScreenFlowConfigurator screenConfiguration, IUiFlowContextData contextData) { return(screenConfiguration .OnEventReentriesCurrent(ScreenEvent.ErrorOccurred) .OnEventNavigatesTo(ScreenInputEvent.Submit, ModelTesterFlowStep.FlowCompletedScreen)); }
protected override IScreenFlowConfigurator OnRegisterUserActions( IScreenFlowConfigurator screenConfiguration, IUiFlowContextData contextData) { var prestart = contextData.GetStepData <FlowInitializer.StartScreenModel>(ScreenName.PreStart); return(screenConfiguration.OnEventReentriesCurrent(ScreenEvent.ErrorOccurred) .OnEventNavigatesTo(ScreenInputEvent.Reset, BlueFlowScreenName.Step0Screen) .OnEventNavigatesTo(ScreenInputEvent.FlowTransitionCompleted, BlueFlowScreenName.FlowCompletedScreen, () => !prestart.MustReturnToCaller, "Not Called from another flow expecting result") .OnEventNavigatesTo(ScreenInputEvent.FlowTransitionCompleted, BlueFlowScreenName.EndAndReturnToCaller, () => prestart.MustReturnToCaller, "Called from another flow expecting result") .OnEventNavigatesTo(ScreenInputEvent.Previous, BlueFlowScreenName.FillDataStep_StepBScreen, () => !ByPassedStepAandB(), "Comes from B") .OnEventNavigatesTo(ScreenInputEvent.Previous, BlueFlowScreenName.Step0Screen, ByPassedStepAandB, "Comes from step0") .OnEventExecutes(ScreenInputEvent.Reset, (e, ctx) => ctx.Reset())); bool ByPassedStepAandB() { var stepValue1 = contextData .GetStepData <InitialScreen.InitialScreenScreenModel>(BlueFlowScreenName.Step0Screen).StepValue1; return(stepValue1 != null && stepValue1.StartsWith('a')); } }
protected override IScreenFlowConfigurator OnRegisterUserActions( IScreenFlowConfigurator screenConfiguration, IUiFlowContextData contextData) { return(screenConfiguration .OnEventNavigatesTo(ScreenInputEvent.BlueFlowCompleted, GreenFlowScreenName.FlowCompletedScreen) .OnEventExecutes(ScreenInputEvent.BlueFlowCompleted, (e, ctx) => ctx.GetCurrentStepData <StepData>().BlueFlowCompletedEventHandled = true)); }
protected override IScreenFlowConfigurator OnRegisterUserActions( IScreenFlowConfigurator screenConfiguration, IUiFlowContextData contextData) { return(screenConfiguration.OnEventReentriesCurrent(ScreenEvent.ErrorOccurred) .OnEventNavigatesTo(ScreenInputEvent.Reset, GreenFlowScreenName.Step0Screen) .OnEventNavigatesTo(ScreenInputEvent.Next, GreenFlowScreenName.StepCScreen) .OnEventNavigatesTo(ScreenInputEvent.Previous, GreenFlowScreenName.StepAScreen) .OnEventExecutes(ScreenInputEvent.Reset, (e, ctx) => ctx.Reset()) .OnEventExecutes(ScreenInputEvent.Previous, (e, ctx) => ctx.GetCurrentStepData <StepBScreenScreenModel>().StepBValue1 = null)); }
public IScreenFlowConfigurator DefineActionHandlersOnCurrentScreen(IScreenFlowConfigurator screenConfiguration, IUiFlowContextData contextData) { TraceBegin(nameof(DefineActionHandlersOnCurrentScreen), contextData); LifecycleStage = ScreenLifecycleStage.DefiningTransitionsFromCurrentScreen; var cfg = OnRegisterUserActions(screenConfiguration, contextData); var internalScreenFlowConfigurator = ((IInternalScreenFlowConfigurator)cfg); internalScreenFlowConfigurator.AddErrorTransitionIfUndefined(); this.Transitions = internalScreenFlowConfigurator.Transitions; this._eventHandlers = internalScreenFlowConfigurator.Handlers; LifecycleStage = ScreenLifecycleStage.DefineTransitionsFromCurrentScreenCompleted; TraceEnd(nameof(DefineActionHandlersOnCurrentScreen), contextData); return(cfg); }
protected override IScreenFlowConfigurator OnRegisterUserActions( IScreenFlowConfigurator screenConfiguration, IUiFlowContextData contextData) { bool ToStepC() { var stepValue1 = contextData.GetCurrentStepData <InitialScreenScreenModel>().StepValue1; return(stepValue1 != null && stepValue1.StartsWith('a')); } return(screenConfiguration .OnEventReentriesCurrent(ScreenEvent.ErrorOccurred) .OnEventReentriesCurrent(ScreenInputEvent.Reset) .OnEventNavigatesTo(ScreenInputEvent.Next, GreenFlowScreenName.StepAScreen, () => !ToStepC(), "input is NOT a*") .OnEventNavigatesTo(ScreenInputEvent.Next, GreenFlowScreenName.StepCScreen, ToStepC, "input is a*") .OnEventExecutes(ScreenInputEvent.Reset, (e, ctx) => ctx.Reset()) ); }
protected override IScreenFlowConfigurator OnRegisterUserActions( IScreenFlowConfigurator screenConfiguration, IUiFlowContextData contextData) { bool ByPassedStepAandB() { var stepValue1 = contextData.GetStepData <InitialScreen.InitialScreenScreenModel>(GreenFlowScreenName.Step0Screen).StepValue1; return(stepValue1 != null && stepValue1.StartsWith('a')); } return(screenConfiguration.OnEventReentriesCurrent(ScreenEvent.ErrorOccurred) .OnEventNavigatesTo(ScreenInputEvent.Reset, GreenFlowScreenName.Step0Screen) .OnEventNavigatesTo(ScreenInputEvent.FlowTransitionCompleted, GreenFlowScreenName.FlowCompletedScreen) .OnEventNavigatesTo(ScreenInputEvent.Previous, GreenFlowScreenName.StepBScreen, () => !ByPassedStepAandB(), "Comes from B") .OnEventNavigatesTo(ScreenInputEvent.Previous, GreenFlowScreenName.Step0Screen, ByPassedStepAandB, "Comes from step0") .OnEventNavigatesTo(ScreenInputEvent.StartBlueFlow, GreenFlowScreenName.RunBlueFlow) .OnEventExecutes(ScreenInputEvent.Reset, (e, ctx) => ctx.Reset())); }
protected override IScreenFlowConfigurator OnRegisterUserActions( IScreenFlowConfigurator screenConfiguration, IUiFlowContextData contextData) { ThrowIfMustFail(contextData, ScreenLifecycleStage.DefiningTransitionsFromCurrentScreen); return(screenConfiguration .OnEventReentriesCurrent(ScreenEvent.ErrorOccurred, () => contextData.LastError.LifecycleStage == ScreenLifecycleStage.ValidateTransitionCompletedWithErrors, "Validation error") .OnEventNavigatesTo(ScreenEvent.ErrorOccurred, BlueFlowScreenName.ErrorScreen, () => contextData.LastError.LifecycleStage != ScreenLifecycleStage.ValidateTransitionCompletedWithErrors, "Not a validation error") .OnEventReentriesCurrent(ScreenInputEvent.Reset) .OnEventNavigatesTo(ScreenInputEvent.Next, BlueFlowScreenName.FillDataStep_StepAScreen, () => !ToStepC(), "input is NOT a*") .OnEventNavigatesTo(ScreenInputEvent.Next, BlueFlowScreenName.StepCScreen, ToStepC, "input is a*") .OnEventExecutes(ScreenInputEvent.Reset, OnReset)); bool ToStepC() { var stepValue1 = contextData.GetCurrentStepData <InitialScreenScreenModel>().StepValue1; return(stepValue1 != null && stepValue1.StartsWith('a')); } }
public override IScreenFlowConfigurator OnDefiningAdditionalInitialStateTransitions(IScreenFlowConfigurator preStartCfg, UiFlowContextData contextData) { return(preStartCfg.OnEventNavigatesTo(ScreenEvent.ErrorOccurred, StartFailureFlowScreenName.FailureScreen)); }
protected virtual IScreenFlowConfigurator OnRegisterUserActions( IScreenFlowConfigurator screenConfiguration, IUiFlowContextData contextData) { return(screenConfiguration); }
protected override IScreenFlowConfigurator OnRegisterUserActions(IScreenFlowConfigurator screenConfiguration, IUiFlowContextData contextData) { return(screenConfiguration.OnEventNavigatesTo(ScreenInputEvent.BackToEditValues, ModelTesterFlowStep.InputScreen)); }
protected override IScreenFlowConfigurator OnRegisterUserActions( IScreenFlowConfigurator screenConfiguration, IUiFlowContextData contextData) { return(screenConfiguration.OnEventReentriesCurrent(ScreenEvent.ErrorOccurred) .OnEventNavigatesTo(ScreenInputEvent.ToStep2, ContainersFlow3ScreenName.Number2ContainerScreen)); }
public override IScreenFlowConfigurator OnDefiningAdditionalInitialStateTransitions(IScreenFlowConfigurator preStartCfg, UiFlowContextData contextData) { return(preStartCfg.OnEventNavigatesTo(ScreenEvent.Start, ModelTesterFlowStep.InputScreen)); }
public override IScreenFlowConfigurator OnDefiningAdditionalInitialStateTransitions(IScreenFlowConfigurator preStartCfg, UiFlowContextData contextData) { return(preStartCfg.OnEventNavigatesTo(ScreenEvent.Start, GreenFlowScreenName.Step0Screen , () => contextData.GetCurrentStepData <StartScreenModel>().SampleParameter != "Finish" , "normal start" ) .OnEventNavigatesTo(ScreenEvent.Start, GreenFlowScreenName.FlowCompletedScreen , () => contextData.GetCurrentStepData <StartScreenModel>().SampleParameter == "Finish" , "straight to the end" )); }
OnDefiningAdditionalInitialStateTransitions(IScreenFlowConfigurator preStartCfg, UiFlowContextData contextData) { return(preStartCfg); }
public override IScreenFlowConfigurator OnDefiningAdditionalInitialStateTransitions(IScreenFlowConfigurator preStartCfg, UiFlowContextData contextData) { return(preStartCfg.OnEventNavigatesTo(ScreenEvent.Start, ContainersFlowScreenName.Number1ContainerScreen)); }
public override IScreenFlowConfigurator OnDefiningAdditionalInitialStateTransitions(IScreenFlowConfigurator preStartCfg, UiFlowContextData contextData) { return(preStartCfg.OnEventNavigatesTo(ScreenEvent.Start, MetadataTestFlowScreenScreenName.Step0Screen)); }