コード例 #1
0
        public App()
        {
            // The root page of your application
            MainPage = FreshPageModelResolver.ResolvePageModel <MainPageModel>();

            // TODO This DOES work
            //var page = new FreshTabbedNavigationContainer();
            //page.AddTab<Tab1PageModel>("Tab 1", null);
            //page.AddTab<Tab2PageModel>("Tab 2", null);

            //MainPage = page;
        }
コード例 #2
0
        void PushSecondNavigationStack()
        {
            _coreMethods = new PageModelCoreMethods(_page, _pageModel);
            _coreMethods.PushPageModel <MockContentPageModel> ();

            _pageSecond            = FreshPageModelResolver.ResolvePageModel <MockContentPageModel>();
            _pageModelSecond       = _pageSecond.BindingContext as MockContentPageModel;
            _coreMethodsSecondPage = new PageModelCoreMethods(_pageSecond, _pageModelSecond);
            _secondNavService      = new FreshNavigationContainer(_pageSecond, "secondNav");

            _coreMethods.PushNewNavigationServiceModal(_secondNavService, new FreshBasePageModel[] { _pageModelSecond });
        }
コード例 #3
0
        public App()
        {
            InitializeComponent();

            Xamarin.Forms.DataGrid.DataGridComponent.Init();
            FreshIOC.Container.Register <IDataService, MyDataService>();

            var tablePage = FreshPageModelResolver.ResolvePageModel <MyTablePageModel>();
            var container = new FreshNavigationContainer(tablePage);

            MainPage = container;
        }
コード例 #4
0
        public App()
        {
            InitializeComponent();

            // Registers the service that retrevies your stripe token for Dependency injection
            FreshIOC.Container.Register <IConnectionTokenProviderService, MyStripeTokenFetchService>();

            // Set the main page
            var settingsPage = FreshPageModelResolver.ResolvePageModel <SettingsPageModel>();

            MainPage = new FreshNavigationContainer(settingsPage);
        }
コード例 #5
0
        public App()
        {
            InitializeComponent();

            FreshIOC.Container.Register <IUsersService, ApiUsersService>();
            FreshIOC.Container.Register <IAddressesService, ApiAddressesService>();
            FreshIOC.Container.Register <IDriversService, ApiDriversService>();
            FreshIOC.Container.Register <ICompaniesService, ApiCompaniesService>();
            FreshIOC.Container.Register <IOrdersService, ApiOrdersService>();

            MainPage = new FreshNavigationContainer(FreshPageModelResolver.ResolvePageModel <StartViewModel>());
        }
コード例 #6
0
        public MasterDetail()
        {
            var master = new HamburgerPage();

            Master = master;

            // The root page of your application
            var navContainer = new FreshNavigationContainer(FreshPageModelResolver.ResolvePageModel <FoodPageModel>());

            navContainer.BarTextColor = Color.FromHex("#3c3947");
            Detail = navContainer;
        }
コード例 #7
0
 internal void SwitchTo <T>(bool hasNavigation = true, object initData = null) where T : BasePageModel
 {
     if (hasNavigation)
     {
         var navigation = new FreshNavigationContainer(FreshPageModelResolver.ResolvePageModel <T>(initData), typeof(T).ToString());
         Current.MainPage = navigation;
     }
     else
     {
         Current.MainPage = FreshPageModelResolver.ResolvePageModel <T>(initData);
     }
 }
コード例 #8
0
        public void pagemodel_should_be_link_to_when_created_firsttime()
        {
            //master detail navigation
            var masterDetailNavigation = new FreshMasterDetailNavigationContainer("TestingLinking");

            masterDetailNavigation.AddPage <MockContentPageModel> ("Page1", null);
            masterDetailNavigation.AddPage <MockContentPageModel> ("Page2", null);
            var pageModel1 = masterDetailNavigation.Pages ["Page1"].GetPageFromNav().GetModel();
            var pageModel2 = masterDetailNavigation.Pages ["Page2"].GetPageFromNav().GetModel();

            pageModel1.CurrentNavigationServiceName.Should().Be("TestingLinking");
            pageModel2.CurrentNavigationServiceName.Should().Be("TestingLinking");

            if (FreshIOC.Container.Resolve <IFreshNavigationService> ("TestingLinking") == null)
            {
                throw new Exception("Should contain navigation service");
            }

            //tabbed navigation
            var tabbedNavigation = new FreshTabbedNavigationContainer("TestingLinking2");

            tabbedNavigation.AddTab <MockContentPageModel> ("Page1", null);
            tabbedNavigation.AddTab <MockContentPageModel> ("Page2", null);
            var tabbedPageModel1 = tabbedNavigation.TabbedPages.First().GetModel();
            var tabbedPageModel2 = tabbedNavigation.TabbedPages.Skip(1).Take(1).First().GetModel();

            tabbedPageModel1.CurrentNavigationServiceName.Should().Be("TestingLinking2");
            tabbedPageModel2.CurrentNavigationServiceName.Should().Be("TestingLinking2");

            if (FreshIOC.Container.Resolve <IFreshNavigationService> ("TestingLinking2") == null)
            {
                throw new Exception("Should contain navigation service");
            }

            //standard navigation should set named navigation
            var page      = FreshPageModelResolver.ResolvePageModel <MockContentPageModel>();
            var pageModel = page.BindingContext as MockContentPageModel;

            new FreshNavigationContainer(page, "testingLinking3");
            pageModel.CurrentNavigationServiceName.Should().Be("testingLinking3");

            if (FreshIOC.Container.Resolve <IFreshNavigationService> ("testingLinking3") == null)
            {
                throw new Exception("Should contain navigation service");
            }

            //standard navigation should throw exception when binding context isn't a FreshBasePageModel
            var    pageEx = new Page();
            Action standardNavExeption = () => new FreshNavigationContainer(pageEx, "testingLinking");

            standardNavExeption.ShouldThrow <Exception> ().WithMessage("BindingContext was not a FreshBasePageModel on this Page");
        }
        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, page);
            _pageNames.Add(title);
            if (_pages.Count == 1)
            {
                Detail = page;
                _menuList.SelectedItem = _pageNames[0];
            }
        }
コード例 #10
0
        public App()
        {
            FreshIOC.Container.Register <IDatabaseService, DatabaseService> ();

            var welcomePage = FreshPageModelResolver.ResolvePageModel <WelcomePageModel> ();
            var loginStack  = new FreshNavigationContainer(welcomePage, NavigationStacks.LoginNavigationStack);

            var mainMasterDetail = new MainMasterDetail();

            mainMasterDetail.Init("Menu");

            MainPage = loginStack;
        }
コード例 #11
0
        private Task OpenComic()
        {
            // Needed to use page navigation from a non-page
            var navService = FreshIOC.Container.Resolve <IFreshNavigationService>(Constants.DefaultNavigationServiceName);

            // Manually create PageModel to inject data into the constructor
            var pageModel = new ComicDetailPageModel(PageTarget);

            // Use already created PageModel to push Page
            var page = FreshPageModelResolver.ResolvePageModel(Comic, pageModel);

            return(navService.PushPage(page, null));
        }
コード例 #12
0
        /// <summary>
        /// Setups the start page.
        /// </summary>
        /// <author>
        /// Aaron Coppock
        /// </author>
        /// <date>
        /// 5/29/2018
        /// </date>
        private void SetupStartPage()
        {
            Page mainPage = FreshPageModelResolver.ResolvePageModel <MainPageModel>();

            FreshNavigationContainer navContainer = new FreshNavigationContainer(mainPage)
            {
                BarTextColor = Color.White
            };

            FreshIOC.Container.Register(navContainer.Navigation);

            MainPage = navContainer;
        }
コード例 #13
0
ファイル: App.xaml.cs プロジェクト: xhanix/managego
        public App()
        {
            InitializeComponent();
            Tags       = new List <Tags>();
            Users      = new List <User>();
            Categories = new List <Categories>();
            var page         = FreshPageModelResolver.ResolvePageModel <LoginPageModel>();
            var navContainer = new FreshNavigationContainer(page);

            MainPage = navContainer;
            ((LoginPageModel)page.BindingContext).OnSuccessfulLogin += Handle_OnSuccessfulLogin;
            //OnAppStarted += App_OnAppStarted;
        }
コード例 #14
0
 private void RegisterNavigationContainers()
 {
     try
     {
         var loginPage      = FreshPageModelResolver.ResolvePageModel <LoginPageModel>();
         var loginContainer = new FreshNavigationContainer(loginPage, NavigationContainerNames.AuthenicationContainer);
         MainPage = loginContainer;
     }
     catch (Exception ex)
     {
         throw;
     }
 }
コード例 #15
0
ファイル: App.xaml.cs プロジェクト: VadyaVL/Spender
        public App()
        {
            InitializeComponent();

            AppSetup.Instance.Setup();

            // Set Localization.
            // Set default data.
            // Redo InitViewModel to First Show Page: with set lang and loa default or not. Imlement localization
            var initViewModel = FreshPageModelResolver.ResolvePageModel <InitViewModel>();  // Call Init model - bad solution. Find better

            this.MainPage = new FreshNavigationContainer(initViewModel);
        }
コード例 #16
0
        public App()
        {
            InitializeComponent();

            //FreshIOC.Container.Register<IAppSettingsService, AppSettingsInMemoryService>();
            //FreshIOC.Container.Register<IUsersService, UsersInMemoryService>();
            //FreshIOC.Container.Register<IBucketsService, BucketsInMemoryService>();
            FreshIOC.Container.Register <IAppSettingsService>(new AppSettingsSQLiteService());
            FreshIOC.Container.Register <IUsersService>(new UsersSQLiteService());
            FreshIOC.Container.Register <IBucketsService>(new BucketsSQLiteService());

            MainPage = new FreshNavigationContainer(FreshPageModelResolver.ResolvePageModel <MainViewModel>());
        }
コード例 #17
0
 async Task EditContribution()
 {
     if (Contribution.StartDate.IsWithinCurrentAwardPeriod())
     {
         var page = FreshPageModelResolver.ResolvePageModel <WizardTechnologyPageModel>(Contribution);
         var basicNavContainer = new FreshNavigationContainer(page, nameof(WizardTechnologyPageModel));
         await CoreMethods.PushNewNavigationServiceModal(basicNavContainer, page.GetModel(), true).ConfigureAwait(false);
     }
     else
     {
         // TODO: Message
     }
 }
コード例 #18
0
        public App()
        {
            InitializeComponent();

            //set current orientation
            _orientation = DeviceDisplay.MainDisplayInfo.Orientation;
            MonitorOrientationChanges();

            var page = FreshPageModelResolver.ResolvePageModel <MainPageModel>();
            var basicNavContainer = new FreshNavigationContainer(page);

            MainPage = basicNavContainer;
        }
コード例 #19
0
        public App()
        {
            InitializeComponent();

            //FreshIOC.Container.Register<IValidator, AfspraakValidator>();
            //FreshIOC.Container.Register<IAfsprakenService, AfsprakenMemoryService>();

            //MainPage = new B4.EE.AlderweireldR.AfsprakenApp.MainPage();
            var pagina = FreshPageModelResolver.ResolvePageModel <AgendaPageModel>();
            var houder = new FreshNavigationContainer(pagina);

            MainPage = houder;
        }
コード例 #20
0
        protected override async void OnStart()
        {
            ApplyTheme();
            var path = Path.Combine(FileSystem.AppDataDirectory, "user.json");

            if (File.Exists(path))
            {
                var user = JsonConvert.DeserializeObject <User>(await File.ReadAllTextAsync(path));

                MainPage = user.UserType == UserType.Customer
                    ? new FreshNavigationContainer(FreshPageModelResolver.ResolvePageModel <MainViewModel>())
                    : new FreshNavigationContainer(FreshPageModelResolver.ResolvePageModel <DriverMainViewModel>());
            }
        }
コード例 #21
0
        public async Task NavigateFromMenu(int id)
        {
            if (!MenuPages.ContainsKey(id))
            {
                switch (id)
                {
                case (int)MenuItemType.Classes:
                    MenuPages.Add(id, new NavigationPage(new ClassesPage()));
                    break;

                case (int)MenuItemType.Download:
                    MenuPages.Add(id, new NavigationPage(new ItemsPage()));
                    break;

                case (int)MenuItemType.Evaluation:
                    MenuPages.Add(id, new NavigationPage(new EvaluationDisciplinePage()));
                    break;

                case (int)MenuItemType.Financial:
                    MenuPages.Add(id, new NavigationPage(new FinancialPage()));
                    break;

                case (int)MenuItemType.Message:
                    MenuPages.Add(id, new NavigationPage(new MessageUserPage()));
                    break;

                case (int)MenuItemType.YouTubeChannelPage:
                    MenuPages.Add(id, new NavigationPage(FreshPageModelResolver.ResolvePageModel <YouTubeChannelPageModel>()));
                    break;

                case (int)MenuItemType.Configuration:
                    MenuPages.Add(id, new NavigationPage(new ConfigurationPage()));
                    break;
                }
            }

            var newPage = MenuPages[id];

            if (newPage != null && Detail != newPage)
            {
                Detail = newPage;

                if (Device.RuntimePlatform == Device.Android)
                {
                    await Task.Delay(100);
                }

                IsPresented = false;
            }
        }
コード例 #22
0
ファイル: App.xaml.cs プロジェクト: RinorVuniqi/LunchBoxApp
        public App()
        {
            InitializeComponent();

            FreshIOC.Container.Register <IUserService>(new UserService());
            FreshIOC.Container.Register <ICategoryService>(new CategoryService());
            FreshIOC.Container.Register <ISubcategoryService>(new SubcategoryService());
            FreshIOC.Container.Register <IProductService>(new ProductService());
            FreshIOC.Container.Register <IOrderService>(new OrderService());
            FreshIOC.Container.Register <IPaymentService>(new PaymentService());
            FreshIOC.Container.Register <ISoundPlayer>(DependencyService.Get <ISoundPlayer>());

            MainPage = new FreshNavigationContainer(FreshPageModelResolver.ResolvePageModel <LoginPageModel>());
        }
コード例 #23
0
        protected void SetupAllPagesNav()
        {
            var homePage    = FreshPageModelResolver.ResolvePageModel <HomePageModel>();
            var archivePage = FreshPageModelResolver.ResolvePageModel <ArchivePageModel>();
            var reportPage  = FreshPageModelResolver.ResolvePageModel <ReportPageModel>();
            var settingPage = FreshPageModelResolver.ResolvePageModel <SettingPageModel>();
            var aboutPage   = FreshPageModelResolver.ResolvePageModel <AboutPageModel>();

            _homeNav    = new FreshNavigationContainer(homePage);
            _archiveNav = new FreshNavigationContainer(archivePage);
            _reportNav  = new FreshNavigationContainer(reportPage);
            _settingNav = new FreshNavigationContainer(settingPage);
            _aboutNav   = new FreshNavigationContainer(aboutPage);
        }
        public void BasicCustomNav()
        {
            //Get the first page to be displayed
            var page = FreshPageModelResolver.ResolvePageModel <MainMenuPageModel> ();

            //create our navigation service
            var customNavigationService = new SimpleCustomNavigationService(page);

            //register the Navigation service in the app, this enables us to push model to model
            FreshIOC.Container.Register <IFreshNavigationService> (customNavigationService);

            //display navigation service in main page
            MainPage = customNavigationService;
        }
コード例 #25
0
        protected override async void OnAppearing()
        {
            base.OnAppearing();
            await splashImage.ScaleTo(1, 2000);

            await splashImage.ScaleTo(0.9, 1500, Easing.Linear);

            await splashImage.ScaleTo(150, 1200, Easing.Linear);

            var page = FreshPageModelResolver.ResolvePageModel <EquipmentsViewModel>();
            var basicNavContainer = new FreshNavigationContainer(page);

            Application.Current.MainPage = basicNavContainer;
        }
コード例 #26
0
        private async Task DeleteOrder(int id)
        {
            using (HttpClient client = new HttpClient())
            {
                client.BaseAddress = baseAddress;
                var response = await client.DeleteAsync("api/Order/delete/" + id);

                if (response.StatusCode == HttpStatusCode.OK)
                {
                    var navpage = new FreshNavigationContainer(FreshPageModelResolver.ResolvePageModel <MainPageModel>(Order.Costumer));
                    Application.Current.MainPage = navpage;
                }
            }
        }
コード例 #27
0
        public App()
        {
            InitializeComponent();

            //MainPage = new MainPage();

            ConfigureContainer();

            var loginPage = FreshPageModelResolver.ResolvePageModel <LoginViewModel>();

            var navPage = new FreshNavigationContainer(loginPage);

            MainPage = navPage;
        }
コード例 #28
0
        public async Task <string> PushPageModelWithNewNavigation <T>(object data, bool animate = true) where T : FreshBasePageModel
        {
            var page           = FreshPageModelResolver.ResolvePageModel <T>(data);
            var navigationName = "CustomNavigation";

            FreshIOC.Container.Resolve <IFreshNavigationService>(this.CurrentNavigationServiceName);
            var navigationContainer = new CustomNavigationContainer(page, navigationName)
            {
                BarTextColor = Color.White
            };
            await CoreMethods.PushNewNavigationServiceModal(navigationContainer, page.GetModel(), animate);

            return(navigationName);
        }
コード例 #29
0
        public App()
        {
            RegisterDependencies();
            FreshPageModelResolver.PageModelMapper = new PageModelMapper();
            var view = FreshPageModelResolver.ResolvePageModel <LoginViewModel>();

            _navigationContainer = new FreshNavigationContainer(view)
            {
                BarBackgroundColor = Constants.Colors.NavigationBarColor,
                BarTextColor       = Color.White,
            };

            MainPage = _navigationContainer;
        }
コード例 #30
0
ファイル: App.xaml.cs プロジェクト: lhmrodrigues/Pokedex
        public App()
        {
            InitializeComponent();
            InitializeIoC();

            var page      = FreshPageModelResolver.ResolvePageModel <PokemonPageModel>();
            var navegacao = new FreshNavigationContainer(page)
            {
                BarBackgroundColor = Color.FromHex("#e61919"),
                BarTextColor       = Color.White
            };

            MainPage = navegacao;
        }