/// <summary> /// Creates a new instance of <see cref="SectionsNavigatorRequest"/>. /// </summary> /// <param name="requestType">The type of request.</param> /// <param name="sectionName">The sections name associated to this request.</param> /// <param name="modalName">The modal name associated to this request.</param> /// <param name="modalPriority">The modal priority associated to this request.</param> /// <param name="newModalStackNavigationRequest">The <see cref="StackNavigatorRequest"/> associated to this request.</param> /// <param name="transitionInfo">The transition info of this request.</param> /// <param name="newModalClosingTransitionInfo">The default transiton info of the future close modal request.</param> public SectionsNavigatorRequest(SectionsNavigatorRequestType requestType, string sectionName, string modalName, int?modalPriority, StackNavigatorRequest newModalStackNavigationRequest, SectionsTransitionInfo transitionInfo, SectionsTransitionInfo newModalClosingTransitionInfo) { RequestType = requestType; SectionName = sectionName; ModalName = modalName; ModalPriority = modalPriority; NewModalStackNavigationRequest = newModalStackNavigationRequest; TransitionInfo = transitionInfo; }
/// <summary> /// Creates a new instance of <see cref="SectionStackNavigator"/>. /// </summary> /// <param name="inner">The decorated stack navigator.</param> /// <param name="name">The name of this section.</param> /// <param name="isModal">Flag indicating whether this section is a modal.</param> /// <param name="priority">The priority of the section.</param> /// <param name="closeModalTransitionInfo">The default transition info for the close modal operation. This is only relevant for modals.</param> public SectionStackNavigator(IStackNavigator inner, string name, bool isModal, int priority, SectionsTransitionInfo closeModalTransitionInfo = null) { _inner = inner; Name = name; IsModal = isModal; Priority = priority; CloseModalTransitionInfo = closeModalTransitionInfo; _inner.StateChanged += OnInnerStateChanged; }
/// <summary> /// Create a new instance of <see cref="SectionsNavigatorRequest"/> of type <see cref="SectionsNavigatorRequestType.OpenModal"/>. /// </summary> /// <param name="newModalStackNavigationRequest">The initial <see cref="StackNavigatorRequest"/> for the new <see cref="IModalStackNavigator"/>.</param> /// <param name="modalName">The optional modal name.</param> /// <param name="modalPriority">The optional modal priority.</param> /// <param name="transitionInfo">The optional transition info.</param> /// <param name="newModalClosingTransitionInfo">The optional transition info for the future close modal request.</param> /// <returns>The newly created request.</returns> public static SectionsNavigatorRequest GetOpenModalRequest(StackNavigatorRequest newModalStackNavigationRequest, string modalName = null, int?modalPriority = null, SectionsTransitionInfo transitionInfo = null, SectionsTransitionInfo newModalClosingTransitionInfo = null) => new SectionsNavigatorRequest( SectionsNavigatorRequestType.OpenModal, sectionName: null, modalName: modalName, modalPriority: modalPriority, newModalStackNavigationRequest: newModalStackNavigationRequest, transitionInfo: transitionInfo, newModalClosingTransitionInfo: newModalClosingTransitionInfo );
/// <summary> /// Create a new instance of <see cref="SectionsNavigatorRequest"/> of type <see cref="SectionsNavigatorRequestType.SetActiveSection"/>. /// </summary> /// <param name="sectionName">The section name.</param> /// <param name="transitionInfo">The optional transition info.</param> /// <returns>The newly created request.</returns> public static SectionsNavigatorRequest GetSetActiveSectionRequest(string sectionName, SectionsTransitionInfo transitionInfo = null) => new SectionsNavigatorRequest( SectionsNavigatorRequestType.SetActiveSection, sectionName: sectionName, modalName: null, modalPriority: null, newModalStackNavigationRequest: null, transitionInfo: transitionInfo, newModalClosingTransitionInfo: null );
/// <inheritdoc/> protected override Task InnerSetActiveSection(ISectionStackNavigator previousSection, ISectionStackNavigator nextsection, SectionsTransitionInfo transitionInfo) { // Don't do anything. return(Task.CompletedTask); }
/// <inheritdoc/> protected override Task InnerCloseModal(IModalStackNavigator modalToClose, SectionsTransitionInfo transitionInfo) { // Don't do anything. return(Task.CompletedTask); }
/// <inheritdoc/> protected override Task InnerOpenModal(IModalStackNavigator navigator, bool isTopModal, SectionsTransitionInfo transitionInfo) { // Don't do anything. return(Task.CompletedTask); }
/// <inheritdoc/> protected override Task <IStackNavigator> CreateStackNavigator(string name, int priority, SectionsTransitionInfo transitionInfo) { return(Task.FromResult <IStackNavigator>(new BlindStackNavigator())); }