Пример #1
0
        public MasterPage(sdk.Models.Profiles.ME me)
        {
            InitializeComponent();
            main       = this;
            Properties = DependencyService.Get <IProperties>();

            //if (Device.OS == TargetPlatform.Windows && Device.Idiom == TargetIdiom.Desktop)
            //    Lb_Copyrate.IsVisible = false;

            // Заполняем меню кнопками
            AddMenuItem("Лента", "flash.png", OnTappedFeed);
            AddMenuItem("Сообщения", "message.png", OnTappedMessage);
            //AddMenuItem("Подписки", "settings.png", OnTappedHome);
            AddMenuItem("Настройки", "settings.png", OnTappedSettings);
            AddMenuItem("Выход", "exit.png", OnTappedExit);


            // Присваем список в "navigationDrawerList"
            navigationDrawerList.ItemsSource = menuList;


            // Данные профайла
            lb_Login.Text     = me.login;
            lb_UserName.Text  = me.fname + " " + me.sname;
            img_Avatar.Source = me.avatar;


            NavPage.PushAsync(ph);
        }
Пример #2
0
        private void ItemSelected(object sender, SelectedItemChangedEventArgs args)
        {
            var itemText    = (string)args.SelectedItem;
            var tripDisplay = new FavouriteTripDisplay(NavPage, Map, Utility.InBraces(itemText));

            NavPage.PushAsync(tripDisplay.Content);
        }
Пример #3
0
        public IActionResult Index(bool ajax, int page = 1, string search = null)
        {
            var db      = AccessIP.List().Where(i => search == null || i.IP.Contains(search) || i.host.Contains(search));
            var navPage = new NavPage <AccessIPModel>(db, HttpContext, 20, page);

            return(View("~/Views/RequestsFilter/Access.cshtml", navPage, ajax));
        }
Пример #4
0
        private async void NavigateTo(NavPageType pageType, string title = null, bool inner = true, Subject subject = null)
        {
            var newPage = GetPage <Page>(pageType, title, subject);

            if (newPage != null)
            {
                _isOnMain = pageType == NavPageType.MainPage || pageType == NavPageType.AboutPage;
                _lastType = pageType;
                if (inner)
                {
                    await NavPage.PushAsync(newPage);
                }
                else
                {
                    NavPage = new NavigationPage(newPage)
                    {
                        Title = newPage.Title,
                        BarBackgroundColor = _topBarColor,
                        BarTextColor       = _topBarTextColor,
                        BackgroundColor    = _mainBgColor
                    };
                    _mdp.Detail = NavPage;
                }
                _mdp.IsPresented = false;
            }
        }
Пример #5
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T">Тип модели</typeparam>
        /// <param name="viewName">Путь к шаблону .cshtml</param>
        /// <param name="_navPage">Навигация</param>
        /// <param name="_ajax">ajax запрос</param>
        public ViewResult View <T>(string viewName, NavPage <T> _navPage, bool _ajax)
        {
            navPage = _navPage;
            var page = new PageToView <T>(_navPage, _ajax, jsonDB, coreDB, memoryCache);

            return(viewName == null?base.View(page) : base.View(viewName, page));
        }
Пример #6
0
        public IActionResult Index(bool ajax, int page = 1, string search = null)
        {
            var domains = coreDB.RequestsFilter_Domains.AsNoTracking().Include(t => t.Templates).Where(i => search == null || i.host.Contains(search));
            var navPage = new NavPage <Domain>(domains, HttpContext, 12, page);

            return(View("~/Views/RequestsFilter/Domains.cshtml", navPage, ajax));
        }
		void UpdateHideNavigationBarSeparator()
		{
			bool shouldHide = NavPage.OnThisPlatform().HideNavigationBarSeparator();

			// Just setting the ShadowImage is good for iOS11
			if (_defaultNavBarShadowImage == null)
				_defaultNavBarShadowImage = NavigationBar.ShadowImage;

			if (shouldHide)
				NavigationBar.ShadowImage = new UIImage();
			else
				NavigationBar.ShadowImage = _defaultNavBarShadowImage;

			if (!Forms.IsiOS11OrNewer)
			{
				// For iOS 10 and lower, you need to set the background image. 
				// If you set this for iOS11, you'll remove the background color.
				if (_defaultNavBarBackImage == null)
					_defaultNavBarBackImage = NavigationBar.GetBackgroundImage(UIBarMetrics.Default);

				if (shouldHide)
					NavigationBar.SetBackgroundImage(new UIImage(), UIBarMetrics.Default);
				else
					NavigationBar.SetBackgroundImage(_defaultNavBarBackImage, UIBarMetrics.Default);
			}
		}
Пример #8
0
        public async Task <IActionResult> OnGetAsync(int pageid)
        {
            navPage = await _navpage.GetPopularAsync(pageid);

            Shows = await _show.GetPopularAsync((navPage.CurPage - 1) * 25, 25);

            return(Page());
        }
Пример #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="navPage">Навигация</param>
 /// <param name="ajax">ajax запрос</param>
 /// <param name="jsonDB">База Json</param>
 /// <param name="coreDB">База SQL</param>
 /// <param name="memoryCache">Кеш</param>
 public PageToView(NavPage <T> navPage, bool ajax, JsonDB jsonDB, CoreDB coreDB, IMemoryCache memoryCache)
 {
     this.Page        = navPage;
     this.ajax        = ajax;
     this.jsonDB      = jsonDB;
     this.coreDB      = coreDB;
     this.memoryCache = memoryCache;
 }
Пример #10
0
        private void ItemSelected(object sender, SelectedItemChangedEventArgs args)
        {
            var itemText   = (string)args.SelectedItem;
            var subcontent = new FavouriteSubContent(NavPage, Map, Routes.GetRouteWithShortName(
                                                         Utility.InBraces(itemText)
                                                         ).Id);

            NavPage.PushAsync(subcontent.Content);
        }
Пример #11
0
        public ActionResult Nouvelles()
        {
            if (Session["Channel"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            string channel = (string)Session["Channel"];
            //string hname = (string)Session["HName"];
            int    hPage     = (int)Session["HPage"];
            int    nPage     = (int)Session["NPage"];
            int    size      = (int)Session["Size"];
            string newsTitle = (string)Session["News"];

            Channel Channel = Channels.Find(channel);
            //News news = Channel.WebTVService.FindNews();
            News        news = null;
            List <News> list = Channels.News;

            foreach (News n in list)
            {
                if (n.Title == newsTitle)
                {
                    news = n;
                }
            }
            if (news == null)
            {
                news         = new News();
                news.Channel = channel;
            }

            IEnumerable <Hourly> hourlys = Channel.WebTVService.FindHourlyAll();

            int     htotalpage = (int)Math.Ceiling(((double)hourlys.Count() / size));
            NavPage hpage      = new NavPage(hPage, htotalpage);
            int     hposition  = hpage.CurrentPage * size;

            hourlys = hourlys.Skip(hposition).Take(size).ToList();

            int     ntotalpage = (int)Math.Ceiling(((double)list.Count() / size));
            NavPage npage      = new NavPage(nPage, ntotalpage);
            int     nposition  = npage.CurrentPage * size;

            list = list.Skip(nposition).Take(size).ToList();

            ViewBag.Title       = channel;
            ViewBag.Channel     = channel;
            ViewBag.ChannelList = Channels.Names;
            //ViewBag.HName = hname;
            ViewBag.HPage   = hpage;
            ViewBag.NPage   = npage;
            ViewBag.Hourlys = hourlys;
            ViewBag.News    = Channels.News;

            return(View("Nouvelles", news));
        }
Пример #12
0
        public IActionResult Index(bool ajax, int page = 1, int TaskId = -1)
        {
            // Список операций
            var db = coreDB.SyncBackup_db_Reports.FindAll(i => TaskId == -1 || i.TaskId == TaskId);

            // Выводим контент
            var navPage = new NavPage <Models.SyncBackup.Database.Report>(db, HttpContext, 15, page);

            return(View("~/Views/SyncBackup/Database/Operation.cshtml", navPage, ajax));
        }
Пример #13
0
 /// <summary>
 /// Переход на страницу
 /// </summary>
 /// <param name="page">Имя страницы</param>
 public void Navigate(NavPage page, bool forcibly = false)
 {
     if (CurrentPage != page)
     {
         Uri uri = new Uri($"View/{page.ToString()}View.xaml", UriKind.Relative);
         ((NavigationWindow)App.Current.MainWindow).Navigate(uri);
         CurrentPage = page;
     }
     else if (forcibly)
     {
         ((NavigationWindow)App.Current.MainWindow).Refresh();
     }
 }
Пример #14
0
        public async Task GoToMyProfile(ProfilePersonStateEnum state, bool forceReload)
        {
            if (rootPage == null)
            {
                return;
            }

            await NavPage.PopToRootAsync();

            rootPage.InitAsMyProfile(state, forceReload);

            this.UpdateNavigationMenuButtons(true);
        }
Пример #15
0
        public App()
        {
            var navPage = new NavPage();

            NavigationPage = new NavigationPage(new HomePage())
            {
                BarBackgroundColor = Color.Teal
            };
            RootPage        = new RootPage();
            RootPage.Master = navPage;
            RootPage.Detail = NavigationPage;
            MainPage        = RootPage;
        }
Пример #16
0
        public async Task GoToEvents()
        {
            if (rootPage == null)
            {
                return;
            }

            await NavPage.PopToRootAsync();

            rootPage.InitAsEvents();

            this.UpdateNavigationMenuButtons(true);
        }
Пример #17
0
        public async Task <IActionResult> OnGetAsync(string quote, string tag, string order, int pageid)
        {
            atNames = await _tag.GetAllNamesAsync();

            navPage = await _navpage.GetSearchAsync(quote, tag, order, pageid);

            Shows = await _show.GetSearchAsync((navPage.CurPage - 1) * 25, 25, quote, tag, order);

            Quote = quote;
            Order = order;
            Tag   = tag;
            return(Page());
        }
Пример #18
0
        public IActionResult Index(bool ajax, int page = 1)
        {
            // Убираем количиство новых уведомлений
            if (jsonDB.Base.CountNotification != 0)
            {
                jsonDB.Base.CountNotification = 0;
                jsonDB.Save();
            }

            // Выводим контент
            var navPage = new NavPage <Notation>(coreDB.Notations.AsNoTracking().Include(n => n.More), HttpContext, 15, page);

            return(View(navPage, ajax));
        }
Пример #19
0
 public override async void NavigateToPage(Page page, bool removePrevious = false)
 {
     if (NavPage.CurrentPage == page)
     {
         NavPage.Title = page.Title;
     }
     else
     {
         if (removePrevious)
         {
             await NavPage.PopAsync(false);
         }
         await NavPage.PushAsync(page);
     }
 }
Пример #20
0
        private void ItemSelected(object sender, SelectedItemChangedEventArgs args)
        {
            var itemText = (string)args.SelectedItem;

            if (itemText == AddMessage)
            {
                FavouriteContent content = new FavouriteContent(NavPage, Map);
                NavPage.PushAsync(content.Content);
            }
            else
            {
                FavouriteTripDisplay subcontent = new FavouriteTripDisplay(NavPage, Map, Utility.InBraces(itemText));
                NavPage.PushAsync(subcontent.Content);
            }
        }
Пример #21
0
        private void OnGoto(object sender, EventArgs args)
        {
            var vert = Trip.GetBusLocation(new StopTime(DateTime.Now));

            if (vert != null)
            {
                Map.MoveToRegion(MapSpan.FromCenterAndRadius(vert.AsPosition(), MapUtil.DefaultMapRadius));
                NavPage.PopToRootAsync();
            }
            else
            {
                _issueLabel.Text      = "Bus is not on map.";
                _issueLabel.TextColor = Color.FromHex("#ff0000");
            }
        }
Пример #22
0
        private void Window_PreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            if (login.submitted)
            {
                //changin the submit propery
                login.submitted = false;
                //initializing pages
                grid = new GridPage();
                Nav  = new NavPage();
                grid.CreateTheGrid(login.columns, login.rows, login.mines);

                //Calling the Content Creator method
                Content = ContentCreator(Nav, grid);
            }
        }
Пример #23
0
        public async Task GoToPersonProfile(int athleteID, ProfilePersonStateEnum state = ProfilePersonStateEnum.Unknown)
        {
            var openedPage = this.GetOpenedPage(typeof(MainSnookerPage)) as MainSnookerPage;

            if (openedPage != null && openedPage.State == MainSnookerPage.StateEnum.Person && openedPage.AthleteID == athleteID)
            {
                return;
            }

            var newPage = new MainSnookerPage();

            newPage.InitAsPersonProfile(athleteID, state);
            await NavPage.PushAsync(newPage);

            this.UpdateNavigationMenuButtons(true);
        }
Пример #24
0
        public async Task GoToVenueProfile(int venueID)
        {
            var openedPage = this.GetOpenedPage(typeof(MainSnookerPage)) as MainSnookerPage;

            if (openedPage != null && openedPage.State == MainSnookerPage.StateEnum.Venue && openedPage.VenueID == venueID)
            {
                return;
            }

            var newPage = new MainSnookerPage();

            newPage.InitAsVenueProfile(venueID);
            await NavPage.PushAsync(newPage);

            this.UpdateNavigationMenuButtons(true);
        }
Пример #25
0
		void SetStatusBarStyle()
		{
			var barTextColor = NavPage.BarTextColor;
			var statusBarColorMode = NavPage.OnThisPlatform().GetStatusBarTextColorMode();

			if (statusBarColorMode == StatusBarTextColorMode.DoNotAdjust || barTextColor.Luminosity <= 0.5)
			{
				// Use dark text color for status bar
				UIApplication.SharedApplication.StatusBarStyle = UIStatusBarStyle.Default;
			}
			else
			{
				// Use light text color for status bar
				UIApplication.SharedApplication.StatusBarStyle = UIStatusBarStyle.LightContent;
			}
		}
Пример #26
0
        public IActionResult Index(bool ajax, int page = 1, int TaskId = -1)
        {
            // Список операций
            var db = coreDB.SyncBackup_Notations.AsNoTracking().Include(n => n.More).AsEnumerable().Where(i => TaskId == -1 || i.TaskId == TaskId);

            // Список активных операций
            if (page == 1)
            {
                ViewBag.WorkNote = CoreDB.SyncBackupWorkNote.Where(i => TaskId == -1 || i.TaskId == TaskId);
            }

            // Выводим контент
            var navPage = new NavPage <Notation>(db, HttpContext, 15, page);

            return(View("~/Views/SyncBackup/Operation.cshtml", navPage, ajax));
        }
Пример #27
0
        public IActionResult Index(bool ajax, string ShowReportToFolderPath, int page = 1)
        {
            // Дополнительные переметры
            ViewBag.ShowProgres    = page == 1 && ShowReportToFolderPath == null;
            ShowReportToFolderPath = ShowReportToFolderPath?.Replace("/", "_-_");

            // Получаем список файлов и сортируем по LastWriteTime
            var ReportsAV = new DirectoryInfo(Folders.ReportsAV).GetFiles("*.html").
                            Where(i => ShowReportToFolderPath == null || i.Name.Contains(ShowReportToFolderPath)).
                            OrderByDescending(b => b.LastWriteTime).
                            Select(f => f.Name);

            // Выводим контент
            var navPage = new NavPage <string>(ReportsAV, HttpContext, 20, page, reverse: false);

            return(View("~/Views/Security/AntiVirus/Index.cshtml", navPage, ajax));
        }
Пример #28
0
        public async Task GoToCommunity()
        {
            if (rootPage == null)
            {
                return;
            }

            TraceHelper.TraceInfoForResponsiveness("GoToCommunity - Starting");
            await NavPage.PopToRootAsync();

            TraceHelper.TraceInfoForResponsiveness("GoToCommunity - Popped pages");
            rootPage.InitAsCommunity();
            TraceHelper.TraceInfoForResponsiveness("GoToCommunity - InitAsCommunity finished");

            this.UpdateNavigationMenuButtons(true);
            TraceHelper.TraceInfoForResponsiveness("GoToCommunity - Done");
        }
Пример #29
0
        public async Task NavigateToMember(BaseViewModel vm, NavPage P = NavPage.Unknown)
        {
            Type T = null;

            if (P == NavPage.Unknown)
            {
                if (vm is MemberViewModel)
                {
                    T = typeof(MemberDetailPage);
                    P = NavPage.MemberDetail;
                }
                else if (vm is BillViewModel)
                {
                    T = typeof(BillDetailPage);
                    P = NavPage.BillDetail;
                }
            }
            else
            {
                switch (P)
                {
                case (NavPage.UserInterest):
                    T = typeof(UserInterestPage);
                    break;

                case (NavPage.BillList):
                    T = typeof(BillListPage);
                    break;

                case (NavPage.MemberList):
                    T = typeof(MemberListPage);
                    break;
                }
            }
            if (T != null)
            {
                var obj = T.GetConstructor(new Type[] { }).Invoke(new object[] { });
                if (obj is Page page)
                {
                    page.BindingContext = vm;
                    await(App.Current as App).Navigation.PushAsync(page);
                }
            }
        }
Пример #30
0
        public ActionResult Media()
        {
            if (Session["Channel"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            string channel  = (string)Session["Channel"];
            string pname    = (string)Session["PName"];
            string mname    = (string)Session["MName"];
            int    mPage    = (int)Session["MPage"];
            string mKeyword = (string)Session["MKeyword"];
            int    size     = (int)Session["Size"];

            Channel     Channel     = Channels.Find(channel);
            Proprietary proprietary = Channel.WebTVService.FindProprietaryByName(pname);
            Media       media       = Channel.WebTVService.FindMediaByName(mname, pname);

            if (media == null)
            {
                media = new Media {
                    ProprietaryName = pname
                };
            }

            IEnumerable <Media> med = Channel.WebTVService.FindMediaByProprietary(pname).Where(p => p.Name.Contains(mKeyword));

            int     mtotalpage = (int)Math.Ceiling(((double)med.Count() / size));
            NavPage mpage      = new NavPage(mPage, mtotalpage);
            int     mposition  = mpage.CurrentPage * size;

            ViewBag.Videoplayer = new VideoPlayer();
            ViewBag.Channel     = channel;
            ViewBag.MPage       = mpage;
            ViewBag.Medias      = med
                                  .Skip(mposition)
                                  .Take(size)
                                  .ToList();
            ViewBag.Keyword     = mKeyword;
            ViewBag.PName       = pname;
            ViewBag.Proprietary = proprietary;

            return(View("Media", media));
        }
Пример #31
0
        static void Main()
        {
            Handle.GET("/KitchenSink/standalone", () => {
                Session session = Session.Current;

                if (session != null && session.Data != null)
                    return session.Data;

                var standalone = new StandalonePage();

                if (session == null) {
                    session = new Session(SessionOptions.PatchVersioning);
                    standalone.Html = "/KitchenSink/StandalonePage.html";
                }
                else {
                    standalone.Html = "/KitchenSink/LauncherWrapperPage.html";
                }

                var nav = new NavPage();
                standalone.CurrentPage = nav;

                standalone.Session = session;
                return standalone;
            });

            Handle.GET("/KitchenSink", () => {
                return Self.GET("/KitchenSink/text");
            });

            Handle.GET("/KitchenSink/button", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is ButtonPage)) {
                    var page = new ButtonPage();
                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/chart", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is ChartPage)) {
                    var page = new ChartPage();

                    page.AddChartData("January", 4);
                    page.AddChartData("February", 7);
                    page.AddChartData("March", 9);
                    page.AddChartData("April", 12);
                    page.AddChartData("May", 15);
                    page.AddChartData("June", 19);

                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/checkbox", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is CheckboxPage)) {
                    var page = new CheckboxPage();
                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/datagrid", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is DatagridPage)) {
                    var page = new DatagridPage();

                    DatagridPagePetsElementJson pet;
                    pet = page.Pets.Add();
                    pet.Name = "Rocky";
                    pet.Kind = "Dog";

                    pet = page.Pets.Add();
                    pet.Name = "Tigger";
                    pet.Kind = "Cat";

                    pet = page.Pets.Add();
                    pet.Name = "Bella";
                    pet.Kind = "Rabbit";

                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/decimal", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is DecimalPage)) {
                    var page = new DecimalPage();
                    page.Price = 10;
                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/dropdown", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is DropdownPage)) {
                    var page = new DropdownPage();

                    DropdownPage.PetsElementJson pet;
                    pet = page.Pets.Add();
                    pet.Label = "dogs";

                    pet = page.Pets.Add();
                    pet.Label = "cats";

                    pet = page.Pets.Add();
                    pet.Label = "rabbit";

                    page.SelectedPet = "dogs";

                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/html", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is HtmlPage)) {
                    var page = new HtmlPage();
                    page.Bio = @"<h1>This is a markup text</h1>

            You can put <strong>any</strong> <a href=""https://en.wikipedia.org/wiki/HTML"">HTML</a> in it.";
                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/integer", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is IntegerPage)) {
                    var page = new IntegerPage();
                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/Geo", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is MapPage)) {
                    var page = new MapPage();
                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/markdown", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is MarkdownPage)) {
                    var page = new MarkdownPage();
                    page.Bio = @"# This is a strucured text

            It supports **markdown** *syntax*.";
                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/radiolist", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is RadiolistPage)) {
                    var page = new RadiolistPage();
                    MenuOptionsElement a;
                    a = page.MenuOptions.Add();
                    a.Label = "Dogs";
                    a = page.MenuOptions.Add();
                    a.Label = "Cats";
                    page.SelectOption(0);
                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/multiselect", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is MultiselectPage)) {
                    var page = new MultiselectPage() {
                        Data = null
                    };
                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/password", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is PasswordPage)) {
                    var page = new PasswordPage();
                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/table", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is TablePage)) {
                    var page = new TablePage();

                    TablePage.PetsElementJson pet;
                    pet = page.Pets.Add();
                    pet.Name = "Rocky";
                    pet.Kind = "Dog";

                    pet = page.Pets.Add();
                    pet.Name = "Tigger";
                    pet.Kind = "Cat";

                    pet = page.Pets.Add();
                    pet.Name = "Bella";
                    pet.Kind = "Rabbit";

                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/text", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is TextPage)) {
                    var page = new TextPage();
                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/textarea", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is TextareaPage)) {
                    var page = new TextareaPage();
                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/radio", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is RadioPage)) {
                    var page = new RadioPage();

                    RadioPage.PetsElementJson pet;
                    pet = page.Pets.Add();
                    pet.Label = "dogs";

                    pet = page.Pets.Add();
                    pet.Label = "cats";

                    pet = page.Pets.Add();
                    pet.Label = "rabbit";

                    page.SelectedPet = "dogs";

                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            Handle.GET("/KitchenSink/url", () => {
                var master = (StandalonePage)Self.GET("/KitchenSink/standalone");
                if (!((master.CurrentPage as NavPage).CurrentPage is UrlPage)) {
                    var page = new UrlPage();
                    page.Url = "/KitchenSink";
                    page.Label = "Go to home page";
                    (master.CurrentPage as NavPage).CurrentPage = page;
                }
                return master;
            });

            //for a launcher
            Handle.GET("/KitchenSink/app-name", () => {
                return new AppName();
            });

            Handle.GET("/KitchenSink/menu", () => {
                return new Page() { Html = "/KitchenSink/AppMenuPage.html" };
            });

            UriMapping.Map("/KitchenSink/menu", UriMapping.MappingUriPrefix + "/menu");
            UriMapping.Map("/KitchenSink/app-name", UriMapping.MappingUriPrefix + "/app-name");
        }