Beispiel #1
0
 private async Task OnHandlingStepEvent(ScreenEvent triggeredEvent, IUiFlowContextData contextData)
 {
     if (_eventHandlers.ContainsKey(triggeredEvent))
     {
         var eventHandler = _eventHandlers[triggeredEvent];
         await eventHandler(triggeredEvent, contextData);
     }
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 protected virtual bool OnValidate(ScreenEvent triggeredEvent,
                                   IUiFlowContextData contextData, out string errorMessage)
 {
     errorMessage = null;
     return(true);
 }
Beispiel #5
0
 public virtual bool MustExecuteAnotherTransition(out ScreenEvent screenEvent)
 {
     screenEvent = null;
     return(false);
 }