public virtual void AddPage <T> (string title, object data = null) where T : FreshBasePageModel { var page = FreshPageModelResolver.ResolvePageModel <T> (data); var navigationContainer = CreateContainerPage(page); _pages.Add(title, navigationContainer); _pageNames.Add(title); if (_pages.Count == 1) { Detail = navigationContainer; } }
public virtual Page AddTab <T> (string title, string icon, object data = null) where T : FreshBasePageModel { var page = FreshPageModelResolver.ResolvePageModel <T> (data); var navigationContainer = CreateContainerPage(page); navigationContainer.Title = title; if (!string.IsNullOrWhiteSpace(icon)) { navigationContainer.Icon = icon; } Children.Add(navigationContainer); return(navigationContainer); }
private static async Task PushPopupPageModel(FreshBasePageModel pageModel, object data = null, bool animate = true) { var page = FreshPageModelResolver.ResolvePageModel(data, pageModel); FreshPageModelResolver.BindingPageModel(data, page, pageModel); if (page is PopupPage) { await PushPopupPageModel((PopupPage)page, animate); } else { throw new InvalidOperationException("Resolved page type is not PopupPage"); } }
public virtual void AddPage(string modelName, string title, object data = null) { var pageModelType = Type.GetType(modelName); var page = FreshPageModelResolver.ResolvePageModel(pageModelType, null); page.GetModel().CurrentNavigationServiceName = NavigationServiceName; _pagesInner.Add(page); var navigationContainer = CreateContainerPage(page); _pages.Add(title, navigationContainer); _pageNames.Add(title); if (_pages.Count == 1) { Detail = navigationContainer; } }
public virtual Page AddTab <T> (string title, string icon, object data = null) where T : FreshBasePageModel { var page = FreshPageModelResolver.ResolvePageModel <T> (data); page.GetModel().CurrentNavigationServiceName = NavigationServiceName; _tabs.Add(page); var container = CreateContainerPage(page); container.Title = title; if (!string.IsNullOrWhiteSpace(icon)) { container.Icon = icon; } _innerTabbedPage.Children.Add(container); return(container); }
public virtual Xamarin.Forms.Page AddTab <T>(string title, string icon, object data = null) where T : FreshBasePageModel { var page = FreshPageModelResolver.ResolvePageModel <T>(data); page.GetModel().CurrentNavigationServiceName = NavigationServiceName; _tabs.Add(page); var navigationContainer = CreateContainerPageSafe(page); navigationContainer.Title = title; if (!string.IsNullOrWhiteSpace(icon)) { navigationContainer.IconImageSource = icon; } Children.Add(navigationContainer); return(navigationContainer); }
async Task PushPageModel(FreshBasePageModel pageModel, object data, bool modal = false) { var page = FreshPageModelResolver.ResolvePageModel(data, pageModel); pageModel.PreviousPageModel = _currentPageModel; //This is the previous page model because it's push to a new one, and this is current pageModel.CurrentNavigationServiceName = _currentPageModel.CurrentNavigationServiceName; if (string.IsNullOrWhiteSpace(pageModel.PreviousNavigationServiceName)) { pageModel.PreviousNavigationServiceName = _currentPageModel.PreviousNavigationServiceName; } IFreshNavigationService rootNavigation = FreshIOC.Container.Resolve <IFreshNavigationService> (_currentPageModel.CurrentNavigationServiceName); await rootNavigation.PushPage(page, pageModel, modal); }
async Task PushPageModel(FreshBasePageModel pageModel, object data, bool modal = false) { var page = FreshPageModelResolver.ResolvePageModel(data, pageModel); PushPageModelWithPage(page, pageModel, data, modal); }
async Task PushPageModel(FreshBasePageModel pageModel, object data, bool modal = false, bool animate = true) { var page = FreshPageModelResolver.ResolvePageModel(data, pageModel); await PushPageModelWithPage(page, pageModel, data, modal, animate); }