private async Task OnHandlingStepEvent(ScreenEvent triggeredEvent, IUiFlowContextData contextData) { if (_eventHandlers.ContainsKey(triggeredEvent)) { var eventHandler = _eventHandlers[triggeredEvent]; await eventHandler(triggeredEvent, contextData); } }
public bool ValidateTransitionAttempt(ScreenEvent triggeredEvent, IUiFlowContextData contextData, out string errorMessage) { TraceBegin(nameof(HandleStepEvent), contextData, triggeredEvent); LifecycleStage = ScreenLifecycleStage.ValidatingTransition; var isValid = OnValidate(triggeredEvent, contextData, out errorMessage); LifecycleStage = isValid ? ScreenLifecycleStage.ValidateTransitionCompleted : ScreenLifecycleStage.ValidateTransitionCompletedWithErrors; TraceEnd(nameof(HandleStepEvent), contextData, triggeredEvent); return(isValid); }
public async Task HandleStepEvent(ScreenEvent triggeredEvent, IUiFlowContextData contextData) { TraceBegin(nameof(HandleStepEvent), contextData, triggeredEvent); LifecycleStage = ScreenLifecycleStage.HandlingEvent; //TDO: inline next await OnHandlingStepEvent(triggeredEvent, contextData); var uiFlowStepData = contextData.GetCurrentStepData <UiFlowScreenModel>(); if (uiFlowStepData != null) { uiFlowStepData.Errors = new List <UiFlowUserInputError>(); } LifecycleStage = ScreenLifecycleStage.HandleEventCompleted; TraceEnd(nameof(HandleStepEvent), contextData, triggeredEvent); }
protected virtual bool OnValidate(ScreenEvent triggeredEvent, IUiFlowContextData contextData, out string errorMessage) { errorMessage = null; return(true); }
public virtual bool MustExecuteAnotherTransition(out ScreenEvent screenEvent) { screenEvent = null; return(false); }