private object GetAppropriateArgsForPage(PageIndex page)
 {
     switch (page)
     {
         case PageIndex.PageSeasonal:
             return AnimeListPageNavigationArgs.Seasonal;
         case PageIndex.PageMangaList:
             return AnimeListPageNavigationArgs.Manga;
         case PageIndex.PageMangaSearch:
             return new SearchPageNavigationArgs { Anime = false };
         case PageIndex.PageSearch:
             return new SearchPageNavigationArgs();
         case PageIndex.PageTopAnime:
             return AnimeListPageNavigationArgs.TopAnime(TopAnimeType.General);
         case PageIndex.PageTopManga:
             return AnimeListPageNavigationArgs.TopManga;
         case PageIndex.PageArticles:
             return MalArticlesPageNavigationArgs.Articles;
         case PageIndex.PageNews:
             return MalArticlesPageNavigationArgs.News;
         case PageIndex.PageProfile:
             return new ProfilePageNavigationArgs { TargetUser = Credentials.UserName };
         case PageIndex.PageWallpapers:
             return new WallpaperPageNavigationArgs();
         default:
             return null;
     }
 }
        private void AccessTokenWizard_Load(object sender, EventArgs e)
        {
            // Initialize objects.

            Pages = new List <Panel>
            {
                panel_Page00,
                panel_Page01,
                panel_Page02,
                panel_Page03,
                panel_Page04,
                panel_Page05,
                panel_Page06,
                panel_Page07,
                panel_Page08,
                panel_Page09,
                panel_Page10,
                panel_Page11,
                panel_Page12,
                panel_Page13,
                panel_Page14
            };

            previousPages    = new List <PageIndex>();
            currentPageIndex = PageIndex.None;

            // Initialize UI.

            Pages.ForEach(p => p.Enabled = false);

            button_Back.BringToFront();
            button_Next.BringToFront();
            button_Cancel.BringToFront();

            // Go to the first page.
            ShowPage(PageIndex.Page00_PortalSelection);

            button_Back.Enabled = false;

            foreach (string item in Util.ResourceNames)
            {
                comboBox_Page03_Resource.Items.Add(item);
                comboBox_Page04_Resource.Items.Add(item);
                comboBox_Page05_Resource.Items.Add(item);
                comboBox_Page08_Resource.Items.Add(item);
                comboBox_Page09_Resource.Items.Add(item);
            }

            comboBox_Page03_Resource.SelectedIndex = 1;
            comboBox_Page04_Resource.SelectedIndex = 1;
            comboBox_Page05_Resource.SelectedIndex = 1;
            comboBox_Page08_Resource.SelectedIndex = 1;
            comboBox_Page09_Resource.SelectedIndex = 1;

            Size = new Size(433, 286);
            CenterToParent();
        }
Esempio n. 3
0
        private HtmlAnchor GetMainButton(PageIndex page)
        {
            if (page.Equals(PageIndex.Home))
            {
                return(Desktop_Home);
            }
            if (page.Equals(PageIndex.Photos))
            {
                return(Desktop_Photos);
            }
            if (page.Equals(PageIndex.Videos))
            {
                return(Desktop_Videos);
            }
            if (page.Equals(PageIndex.Memes))
            {
                return(Desktop_Memes);
            }
            if (page.Equals(PageIndex.Bios))
            {
                return(Selected_Page);
            }
            if (page.Equals(PageIndex.Krakow))
            {
                return(Selected_Page);
            }
            if (page.Equals(PageIndex.Portugal))
            {
                return(Selected_Page);
            }
            if (page.Equals(PageIndex.Amsterdam))
            {
                return(Selected_Page);
            }
            if (page.Equals(PageIndex.EditMedia))
            {
                return(Selected_Page);
            }
            if (page.Equals(PageIndex.Tag))
            {
                return(Selected_Page);
            }
            if (page.Equals(PageIndex.MyUploads))
            {
                return(Selected_Page);
            }
            if (page.Equals(PageIndex.View))
            {
                return(Selected_Page);
            }
            if (page.Equals(PageIndex.Search))
            {
                return(Selected_Page);
            }

            return(null);
        }
Esempio n. 4
0
 private void ReName_Click(object sender, RoutedEventArgs e)
 {
     MainWindow.RenameIndex        = OverallIndex.ToString();
     MainWindow.RenamePage         = PageIndex.ToString();
     this.textBox1.IsReadOnly      = false;
     this.textBox1.BorderThickness = new Thickness(1);
     this.textBox1.Focus();
     this.textBox1.SelectAll();
 }
Esempio n. 5
0
 public void BtnPageDnOnClick()
 {
     PageIndex        = (PageIndex < mMaxPageCount) ? PageIndex + 1 : 1;
     mLbPageText.text = PageIndex.ToString();
     if (e_PageIndexChange != null)
     {
         e_PageIndexChange(PageIndex);
     }
 }
Esempio n. 6
0
 public void BtnPageUpOnClick()
 {
     PageIndex        = (PageIndex > 1) ? PageIndex - 1 : mMaxPageCount;
     mLbPageText.text = PageIndex.ToString();
     if (e_PageIndexChange != null)
     {
         e_PageIndexChange(PageIndex);
     }
 }
Esempio n. 7
0
        public static HamburgerButtons GetButtonForPage(PageIndex page)
        {
            switch (page)
            {
            case PageIndex.PageAnimeList:
                return(HamburgerButtons.AnimeList);

            case PageIndex.PageAnimeDetails:
                return(HamburgerButtons.AnimeList);

            case PageIndex.PageSettings:
                return(HamburgerButtons.Settings);

            case PageIndex.PageSearch:
                return(HamburgerButtons.AnimeSearch);

            case PageIndex.PageLogIn:
                return(HamburgerButtons.LogIn);

            case PageIndex.PageProfile:
                return(HamburgerButtons.Profile);

            case PageIndex.PageAbout:
                return(HamburgerButtons.About);

            case PageIndex.PageRecomendations:
                return(HamburgerButtons.Recommendations);

            case PageIndex.PageSeasonal:
                return(HamburgerButtons.Seasonal);

            case PageIndex.PageMangaList:
                return(HamburgerButtons.MangaList);

            case PageIndex.PageMangaSearch:
                return(HamburgerButtons.MangaSearch);

            case PageIndex.PageTopAnime:
                return(HamburgerButtons.TopAnime);

            case PageIndex.PageTopManga:
                return(HamburgerButtons.TopManga);

            case PageIndex.PageCalendar:
                return(HamburgerButtons.Calendar);

            case PageIndex.PageArticles:
                return(HamburgerButtons.Articles);

            case PageIndex.PageNews:
                return(HamburgerButtons.News);

            default:
                throw new ArgumentOutOfRangeException(nameof(page), page, null);
            }
        }
Esempio n. 8
0
 public virtual ActionResult Index()
 {
     pageIndex = new PageIndex();
     pageIndex.Btn_Delete_ApiUrl      = Url.Action("Del");
     pageIndex.Btn_ExportExcel_ApiUrl = Url.Action("ExportExcel");
     this.DrawIndex(pageIndex);
     ViewBag.ColModel  = jss.Serialize(this.GetPagingEntity(null, 1, 1).ColModel);
     ViewBag.Html_List = MvcHtmlString.Create(pageIndex.GetHtml);
     return(View());
 }
Esempio n. 9
0
        protected void btn_Normal_Move_Click(object sender, EventArgs e)
        {
            if (!DataEval.IsEmptyQuery(_pageindexid))
            {
                PageMgr myPageMgr = new PageMgr();

                PageIndex myPageIndex = myPageMgr.Get_PageIndex(_pageindexid);

                switch (droplist_Normal_Folders.SelectedValue)
                {
                case "1":
                    // move to active folder
                    if (myPageIndex.Page_CategoryID == "2")
                    {
                        e2Data[] UpdateData_Active =
                        {
                            new e2Data("PageIndexID",     _pageindexid),
                            new e2Data("Page_CategoryID", "1")
                        };

                        myPageMgr.Edit_PageIndex(UpdateData_Active);
                    }
                    else
                    {
                        SiteMenu mySiteMenu = new SiteMenu();
                        mySiteMenu.Reset_Menu_RootOrder();

                        int Count_Child = myPageMgr.Count_Child_PageIndex("-1", "1,2") + 1;

                        e2Data[] UpdateData_Active =
                        {
                            new e2Data("PageIndexID",        _pageindexid),
                            new e2Data("Parent_PageIndexID", "-1"),
                            new e2Data("Page_CategoryID",    "1"),
                            new e2Data("SortOrder",          Count_Child.ToString())
                        };

                        myPageMgr.Edit_PageIndex(UpdateData_Active);
                    }
                    break;

                default:
                    e2Data[] UpdateData_Default =
                    {
                        new e2Data("PageIndexID",     _pageindexid),
                        new e2Data("Page_CategoryID", droplist_Normal_Folders.SelectedValue)
                    };

                    myPageMgr.Edit_PageIndex(UpdateData_Default);
                    break;
                }

                OnClick(sender, e);
            }
        }
Esempio n. 10
0
 //根据点击的对象获取物品的ID
 public static int GetItemID(string name, ITEM [] ShowPannel, PageIndex pageIndex)
 {
     foreach (AwardItem item in ShowPannel[pageIndex.current - 1].AwardList)
     {
         if (item.obj.name == name)
         {
             return(item.itemID);                        //返回物品的ID
         }
     }
     return(0);
 }
Esempio n. 11
0
        private void OnHamburgerItemClick(PageIndex page)
        {
            if (!_allowHamburgerNavigation)
            {
                return;
            }

            SetActiveButton(Utilities.GetButtonForPage(page));
            ViewModelLocator.GeneralMain.Navigate(page, GetAppropriateArgsForPage(page));
            _drawer.CloseDrawer();
        }
Esempio n. 12
0
        protected void tbx_PageName_TextChanged(object sender, EventArgs e)
        {
            PageMgr   myPageMgr   = new PageMgr();
            PageIndex myPageIndex = myPageMgr.Get_PageIndex(_pageindexid);

            URLrewriter.UrlMgr myUrlMgr = new URLrewriter.UrlMgr();
            tbx_PageURL.Text = myUrlMgr.Get_PageIndex_URL(myPageIndex.Parent_PageIndexID)
                               + "/"
                               + tbx_PageName.Text
                               + ".aspx";
        }
Esempio n. 13
0
        public string GetNextLink()
        {
            FormDataCollection form = new FormDataCollection();

            form.AddString("id", this.BranchId.ToString())
            .AddString("day", this.Today)
            .AddString("flag", this.DataFlag)
            .AddString("page", (PageIndex.GetValueOrDefault() + 1).ToString());

            return("/ajax/scan/Result/ShowScanResult.ppx?" + form.ToString());
        }
Esempio n. 14
0
        private void DataFill_PageURLs()
        {
            // PageURL
            PageMgr   myPageMgr   = new PageMgr();
            PageIndex myPageIndex = myPageMgr.Get_PageIndex(_pageindexid);

            URLrewriter.UrlMgr myUrlMgr = new URLrewriter.UrlMgr();
            tbx_PageURL.Text = myUrlMgr.Get_PageIndex_URL(myPageIndex.Parent_PageIndexID)
                               + "/"
                               + tbx_PageName.Text
                               + ".aspx";
        }
Esempio n. 15
0
        public string ToQueryString()
        {
            var queryString = System.Web.HttpUtility.ParseQueryString(string.Empty);

            queryString.Add(nameof(OrderBy), OrderBy.ToString());
            queryString.Add(nameof(OrderByDescending), OrderByDescending ? "true" : "false");
            queryString.Add(nameof(PageIndex), PageIndex.ToString());
            queryString.Add(nameof(PageSize), PageSize.ToString());
            queryString.Add(nameof(SearchTerm), SearchTerm);

            return(queryString.ToString());
        }
Esempio n. 16
0
        private PageUnit[] GetTableColumn(Page page, PageIndex index, string type)
        {
            bool stopAtNextEmpty = false;
            bool active          = true;
            var  columnMatches   = new List <PageUnit>();

            var traverser = new PageTraverser(page, index);

            traverser.Traverse(Direction.Down, 1);

            while (active && !traverser.ErrorOccurred)
            {
                string match = string.Empty;
                var    surroundingPageUnits = new PageUnit[9][]
                {
                    traverser.Peek(Direction.Left),
                    traverser.GetCurrentPageUnits(),
                    traverser.Peek(Direction.Right),
                    traverser.Peek(Direction.Left, 2),
                    traverser.Peek(Direction.Right, 2),
                    traverser.Peek(Direction.Left, 3),
                    traverser.Peek(Direction.Right, 3),
                    traverser.Peek(Direction.Left, 4),
                    traverser.Peek(Direction.Right, 4)
                };

                var pageUnits = surroundingPageUnits
                                .Where(x => x != null)
                                .Where(x => x.Any(p => p.TextType == type))
                                .OrderBy(x => Math.Abs(traverser.GetCurrentPosition().Coordinate.X - x.First().Coordinate.X));

                var matchingPageUnit = pageUnits.FirstOrDefault();

                if (matchingPageUnit != null)
                {
                    columnMatches.Add(matchingPageUnit.Where(x => x.TextType == type).First());
                }

                traverser.Traverse(Direction.Down, 1);

                if (!string.IsNullOrWhiteSpace(match))
                {
                    stopAtNextEmpty = true;
                }

                if (string.IsNullOrWhiteSpace(match) && stopAtNextEmpty)
                {
                    active = false;
                }
            }

            return(columnMatches.ToArray());
        }
Esempio n. 17
0
        /// <summary>
        /// 页面控件呈现
        /// </summary>
        private void Page(bool callEvent)
        {
            if (this.toolStrip1.InvokeRequired)//等待异步
            {
                PageDelegate myDelegate = new PageDelegate(SetCtrolEnabled);

                if (this.Parent != null && !this.Parent.IsHandleCreated)
                {
                    return;
                }

                if (IsDisposed || !this.IsHandleCreated || !this.toolStrip1.IsHandleCreated)
                {
                    return;
                }

                this.Invoke(myDelegate, new object[] { false });//通过委托调用
            }
            else
            {
                if (PageIndex == 0)
                {
                    PageIndex = 1;
                }

                txt_CurrentIndex.Text = PageIndex.ToString();
                lbl_PageCount.Text    = PageCount.ToString();
                lbl_RecordCount.Text  = string.Format("每页{0}条记录,共{1}条记录", PageSize, RecordCount);

                if (callEvent && OnPageChanged != null)
                {
                    OnPageChanged(this, null);//当前分页数字改变时,触发委托事件
                }
                SetCtrolEnabled();
                if (PageCount == 1)//有且仅有一页
                {
                    btn_First.Enabled    = false;
                    btn_Last.Enabled     = false;
                    btn_Next.Enabled     = false;
                    btn_Previous.Enabled = false;
                }
                else if (PageIndex == 1)//第一页
                {
                    btn_First.Enabled    = false;
                    btn_Previous.Enabled = false;
                }
                else if (PageIndex == PageCount)//最后一页
                {
                    btn_Next.Enabled = false;
                    btn_Last.Enabled = false;
                }
            }
        }
Esempio n. 18
0
        public void HighlightButtonsForPage(PageIndex page, string buttonText)
        {
            if (string.IsNullOrEmpty(buttonText))
            {
                throw new InvalidOperationException();
            }

            var mainButton   = GetMainButton(page);
            var mobileButton = GetMobileButton(page);

            HighlightButtons(mainButton, mobileButton, buttonText);
        }
Esempio n. 19
0
        public override int GetHashCode()
        {
            unchecked
            {
                int hash = PageIndex.GetHashCode();
                hash = 31 * hash + PageSize.GetHashCode();

                //for performance, just calculate Count of list
                hash = 31 * hash + OrderOptions.Count.GetHashCode();
                hash = 31 * hash + WhereOptions.Count.GetHashCode();
                return(hash);
            }
        }
Esempio n. 20
0
        /// <summary>
        /// 填充参数
        /// </summary>
        /// <param name="args">原有参数</param>
        /// <returns>填充后的参数</returns>
        public virtual Dictionary <string, string> FillArgs(Dictionary <string, string> args)
        {
            if (args == null)
            {
                args = new Dictionary <string, string>();
            }
            args["fence_id"] = FenceId.ToString();

            args["page_index"] = PageIndex.ToString();
            args["page_size"]  = PageSize.ToString();

            return(args);
        }
Esempio n. 21
0
        public override int GetHashCode()
        {
            int hashCode = -1859068553;

            hashCode = hashCode * -1521134295 + EqualityComparer <ICollection <SearchyCondition> > .Default.GetHashCode(Conditions);

            hashCode = hashCode * -1521134295 + EqualityComparer <ICollection <SearchySort> > .Default.GetHashCode(Sorts);

            hashCode = hashCode * -1521134295 + PageSize.GetHashCode();
            hashCode = hashCode * -1521134295 + PageIndex.GetHashCode();
            hashCode = hashCode * -1521134295 + CountRows.GetHashCode();
            return(hashCode);
        }
Esempio n. 22
0
        public static Node DeserilizeNode(PageIndex pageIndex, byte[] data)
        {
            var isLeaf = data[0];

            if (isLeaf == 0)
            {
                return(new InternalNode(pageIndex, data));
            }
            else
            {
                return(new LeafNode(pageIndex, data));
            }
        }
Esempio n. 23
0
        private static string LoadUser(object pageIndex)
        {
            PageIndex           pageInfo = (PageIndex)pageIndex;
            WebClientEx         client   = new WebClientEx();
            NameValueCollection data     = new NameValueCollection();

            data.Add("__EVENTTARGET", pageInfo.page != 1? "NextLBtn":"");
            data.Add("__EVENTARGUMENT", "");
            data.Add("__VIEWSTATE", pageInfo.viewstate.ToString()); //your string
            data.Add("__VIEWSTATEGENERATOR", "3C84D956");
            //data.Add("ToPage", "7");

            // IDomObject
            CsQuery.Config.HtmlEncoder = new TT();
            string Page = client.Post(url, data);
            CQ     dom  = CQ.Create(Page);

            pageInfo.viewstate = dom["input#__VIEWSTATE"].Val();
            var value = dom["#data_field"]["tr.ListItem,tr.ListAltern"]
                        .Elements
                        .Select(
                t =>
            {
                CQ tdCq  = CQ.Create(t.InnerHTML)["td"];
                var user = new
                {
                    name      = tdCq[0].InnerText,
                    company   = tdCq[1].InnerText,
                    state     = tdCq[2].InnerText,
                    gv        = tdCq[3].InnerText,
                    begindate = tdCq[4].InnerText,
                    enddate   = tdCq[5].InnerText
                };
                return(user);
            });

            using (FileStream fs = File.Open("1.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite)) {
                StringBuilder sb = new StringBuilder();
                foreach (var item in value)
                {
                    sb.AppendLine(item.name + "," + item.company + "," + item.state + "," + item.gv + "," + item.begindate + "," + item.enddate);
                }
                byte[] targetByte = Encoding.UTF8.GetBytes(sb.ToString());
                fs.Position = fs.Length;
                fs.Write(targetByte, 0, targetByte.Length);
                fs.Flush();
                Console.WriteLine(pageInfo.page + " success to write in file");
                return(pageInfo.viewstate.ToString());
            }
        }
Esempio n. 24
0
        public void PageIndex_Selected()
        {
            if (!DataEval.IsEmptyQuery(_pageindexid))
            {
                PageMgr   myPageMgr   = new PageMgr();
                PageIndex myPageIndex = myPageMgr.Get_PageIndex(_pageindexid);

                lbl_PageName.Text = myPageIndex.Page_Name;
            }
            else
            {
                lbl_PageName.Text = "Page unselected";
            }
        }
Esempio n. 25
0
 /// <summary>
 /// 设置请求前的参数
 /// </summary>
 private void SetRequestParams()
 {
     this.ClearParamters();
     this.AddParamter("key", this.KeyWord);
     this.AddParamter("p", PageIndex <= 0 ? "1" : PageIndex.ToString());
     this.AddParamter("f", "select");
     this.AddParamter("jsversion", "v5");
     this.AddParamter("listStyle", "bigPhoto");
     this.AddParamter("pri_uid", "0");
     this.AddParamter("sex", "f");
     this.AddParamter("sn", "default");
     this.AddParamter("stc", "1:4401,2:19.25,3:155.168,23:1");
     this.AddParamter("sv", "1");
 }
Esempio n. 26
0
        public void PageIndex_CreatePageIndexWithEntries()
        {
            using (target = new PageIndex(stream))
            {
                //PageSummary summary1 = new PageSummary() { AddressSpaceId = id1, Allocated = true, Offset = 0, Size = 1024, Used = 1024 };
                //PageSummary summary2 = new PageSummary() { AddressSpaceId = id2, Allocated = true, Offset = 1024, Size = 1024, Used = 100 };
                //PageSummary summary3 = new PageSummary() { AddressSpaceId = id1, Allocated = true, Offset = 2048, Size = 1024, Used = 200 };
                //PageSummary summary4 = new PageSummary() { AddressSpaceId = Guid.Empty, Allocated = false, Offset = 3072, Size = 1024, Used = 0 };

                //target.AddOrUpdateEntry(summary1);
                //target.AddOrUpdateEntry(summary2);
                //target.AddOrUpdateEntry(summary3);
                //target.AddOrUpdateEntry(summary4);

                Assert.IsNotNull(target[id1]);
                Assert.IsNotNull(target[id2]);
                Assert.AreEqual(2, target[id1].Count());
                Assert.AreEqual(1, target[id2].Count());
                Assert.AreEqual(1, target[Guid.Empty].Count());

                Assert.AreEqual(0, target[id1][0].DataFileOffset);
                Assert.AreEqual(1024, target[id1][0].Size);
                Assert.AreEqual(1024, target[id1][0].Used);
                Assert.IsTrue(target[id1][0].Allocated);
                Assert.AreEqual(0, target[id1][0].PageFileIndex);
                Assert.AreEqual(id1, target[id1][0].AddressSpaceId);

                Assert.AreEqual(2048, target[id1][1].DataFileOffset);
                Assert.AreEqual(1024, target[id1][1].Size);
                Assert.AreEqual(200, target[id1][1].Used);
                Assert.IsTrue(target[id1][1].Allocated);
                Assert.AreEqual(66, target[id1][1].PageFileIndex);
                Assert.AreEqual(id1, target[id1][1].AddressSpaceId);

                Assert.AreEqual(1024, target[id2][0].DataFileOffset);
                Assert.AreEqual(1024, target[id2][0].Size);
                Assert.AreEqual(100, target[id2][0].Used);
                Assert.IsTrue(target[id2][0].Allocated);
                Assert.AreEqual(33, target[id2][0].PageFileIndex);
                Assert.AreEqual(id2, target[id2][0].AddressSpaceId);

                Assert.AreEqual(3072, target[Guid.Empty][0].DataFileOffset);
                Assert.AreEqual(1024, target[Guid.Empty][0].Size);
                Assert.AreEqual(0, target[Guid.Empty][0].Used);
                Assert.IsFalse(target[Guid.Empty][0].Allocated);
                Assert.AreEqual(99, target[Guid.Empty][0].PageFileIndex);
                Assert.AreEqual(Guid.Empty, target[Guid.Empty][0].AddressSpaceId);
                Assert.AreEqual(4096, target.EndOfPageIndex);
            }
        }
Esempio n. 27
0
        public void PageIndex_Selected()
        {
            if (!DataEval.IsEmptyQuery(_pageindexid) && _pageindexid != "-1")
            {
                PageMgr   myPageMgr   = new PageMgr();
                PageIndex myPageIndex = myPageMgr.Get_PageIndex(_pageindexid);

                lbl_PageName.Text = myPageIndex.Menu_Title;
            }
            else
            {
                lbl_PageName.Text = "Unselected";
            }
        }
Esempio n. 28
0
 public JsonResult GetSucceedListResult(object list, int recordCount)
 {
     return(GetSucceedResult(new
     {
         list = list,
         RecordCount = recordCount,
         PageCount = PageCount,
         PageIndex = (recordCount > 0 ? PageIndex : 0),
         EnPageCount = DESEncrypt.Encrypt(PageCount.ToString(), DESEncrypt.Keys.SplitPage),
         EnPageIndex = DESEncrypt.Encrypt(PageIndex.ToString(), DESEncrypt.Keys.SplitPage),
         HasPrev = (PageIndex > 1),
         HasNext = (PageIndex < PageCount),
     }, ""));
 }
Esempio n. 29
0
        /// <summary>
        /// 填充参数
        /// </summary>
        /// <param name="args">原有参数</param>
        /// <returns>填充后的参数</returns>
        public virtual Dictionary <string, string> FillArgs(Dictionary <string, string> args)
        {
            if (args == null)
            {
                args = new Dictionary <string, string>();
            }

            args["start_time"]        = StartTime.ToUtcTicks().ToString();
            args["end_time"]          = EndTime.ToUtcTicks().ToString();
            args["coord_type_output"] = CoordTypeOutput.ToString();
            args["page_index"]        = PageIndex.ToString();
            args["page_size"]         = PageSize.ToString();
            return(args);
        }
Esempio n. 30
0
        private void GetNextPage()
        {
            if (PageIndex == LastPage)
            {
                PageIndex = 1;
            }
            else
            {
                PageIndex++;
            }

            LoadData();
            Pagination = PageIndex.ToString() + "/" + LastPage.ToString();
        }
Esempio n. 31
0
        private void GetPreviousPage()
        {
            if (PageIndex == 1)
            {
                PageIndex = LastPage;
            }
            else
            {
                PageIndex--;
            }

            LoadData();
            Pagination = PageIndex.ToString() + "/" + LastPage.ToString();
        }
Esempio n. 32
0
 public static bool PageRequiresAuth(PageIndex page)
 {
     switch (page)
     {
         case PageIndex.PageAnimeDetails:
         case PageIndex.PageSearch:
         case PageIndex.PageProfile:
         case PageIndex.PageRecomendations:
         case PageIndex.PageMangaSearch:
         case PageIndex.PageHistory:
             return true;
         default:
             return false;
     }
 }
Esempio n. 33
0
 public void RegisterBackNav(PageIndex page, object args, PageIndex source = PageIndex.PageAbout)
 {
     if (page == PageIndex.PageAnimeDetails || page == PageIndex.PageCharacterDetails ||
         page == PageIndex.PageStaffDetails ||
         ((page == PageIndex.PageSearch || page == PageIndex.PageMangaSearch) &&
          (args as SearchPageNavArgsBase)?.DisplayMode == SearchPageDisplayModes.Off))
     {
         _randomNavigationStackOff.Push(new Tuple<PageIndex, object>(page, args));
         ViewModelLocator.GeneralMain.NavigateOffBackButtonVisibility = true;
     }
     else if (page == PageIndex.PageProfile || page == PageIndex.PageArticles || page == PageIndex.PageForumIndex)
     {
         _randomNavigationStackMain.Push(new Tuple<PageIndex, object>(page, args));
         ViewModelLocator.GeneralMain.NavigateMainBackButtonVisibility = true;
     }
 }
Esempio n. 34
0
        public bool AllowDetailsNavigation { private get; set; } = true; //Disabled when draggig grid item

        public async void NavigateDetails(PageIndex? sourceOverride = null, object argsOverride = null)
        {
            if (!AllowDetailsNavigation || (Settings.SelectedApiType == ApiType.Hummingbird && !ParentAbstraction.RepresentsAnime) || ViewModelLocator.AnimeDetails.Id == Id)
                return;
            var id = Id;
            if (_seasonalState && Settings.SelectedApiType == ApiType.Hummingbird) //id switch
            {
                id = await new AnimeDetailsHummingbirdQuery(id).GetHummingbirdId();
            }
            var navArgs = new AnimeDetailsPageNavigationArgs(id, Title, null, this,
                argsOverride ?? ViewModelLocator.GeneralMain.GetCurrentListOrderParams())
            {
                Source =
                    sourceOverride ??
                    (ParentAbstraction.RepresentsAnime ? PageIndex.PageAnimeList : PageIndex.PageMangaList),
                AnimeMode = ParentAbstraction.RepresentsAnime
            };
            if (sourceOverride != null)
                navArgs.Source = sourceOverride.Value;
            ViewModelLocator.GeneralMain.Navigate(PageIndex.PageAnimeDetails,navArgs);
        }
        private async Task FetchData(bool force = false, PageIndex? sourcePage = null)
        {
            LoadingGlobal = true;

            try
            {
                var data =
                    await
                        new AnimeGeneralDetailsQuery().GetAnimeDetails(force, Id.ToString(), Title, AnimeMode,
                            sourcePage != null
                                ? sourcePage == PageIndex.PageCharacterDetails ||
                                  sourcePage == PageIndex.PageStaffDetails
                                    ? (ApiType?) ApiType.Mal
                                    : null
                                : null);
                ExtractData(data);
            }
            catch (Exception)
            {
                LoadingGlobal = false;
                // no internet?              
            }
        }
Esempio n. 36
0
		public override void Navigate(PageIndex index, object args = null)
		{
			//throw new NotImplementedException();
		}
Esempio n. 37
0
        public override async void Navigate(PageIndex index, object args = null)
        {
            PageIndex originalIndex = index;
            var wasOnSearchPage = SearchToggleLock;
            SearchToggleLock = false;
            if(View.CurrentDisplayMode == SplitViewDisplayMode.CompactOverlay)
                MenuPaneState = false;
            CurrentStatusSub = "";
            IsCurrentStatusSelectable = false;
            if (!Credentials.Authenticated && PageUtils.PageRequiresAuth(index))
            {
                var msg = new MessageDialog("Log in first in order to access this page.");
                await msg.ShowAsync();
                return;
            }
            ResourceLocator.TelemetryProvider.TelemetryTrackEvent(TelemetryTrackedEvents.Navigated, index.ToString());
            ScrollToTopButtonVisibility = false;
            RefreshButtonVisibility = false;

            if (index == PageIndex.PageMangaList && args == null) // navigating from startup
                args = AnimeListPageNavigationArgs.Manga;

            if (index == PageIndex.PageSeasonal || //index is always angry btw
                index == PageIndex.PageMangaList ||
                index == PageIndex.PageTopManga ||
                index == PageIndex.PageTopAnime)
                index = PageIndex.PageAnimeList;

            MobileViewModelLocator.Hamburger.ChangeBottomStackPanelMargin(index == PageIndex.PageAnimeList || //and she likes to bit certain individual
                                                                    index == PageIndex.PageMessanging || 
                                                                    index == PageIndex.PageSearch || 
                                                                    index == PageIndex.PageWallpapers);

            if (index == PageIndex.PageAnimeList && _searchStateBeforeNavigatingToSearch != null)
            {
                SearchToggleStatus = (bool) _searchStateBeforeNavigatingToSearch;
                if (SearchToggleStatus)
                    ShowSearchStuff();
                else
                    HideSearchStuff();
            }

            ResetSearchFilter();
            switch (index) //his head specifficaly
            {
                case PageIndex.PageAnimeList:
                    if (MobileViewModelLocator.AnimeList.Initializing)
                    {
                        if (!_subscribed)
                        {
                            MobileViewModelLocator.AnimeList.Initialized += AnimeListOnInitialized;
                            _subscribed = true;
                        }
                        _postponedNavigationArgs = new Tuple<PageIndex, object>(originalIndex, args);
                        return;
                    }
                    MobileViewModelLocator.Hamburger.SetActiveButton(HamburgerButtons.AnimeList);
                    ShowSearchStuff();
                    if ((_searchStateBeforeNavigatingToSearch == null || !_searchStateBeforeNavigatingToSearch.Value) &&
                        (wasOnSearchPage || _wasOnDetailsFromSearch))
                    {
                        CurrentSearchQuery = "";
                        _wasOnDetailsFromSearch = false;
                        UnToggleSearchStuff();
                    }
                    if (CurrentMainPage == PageIndex.PageAnimeList)
                        MobileViewModelLocator.AnimeList.Init(args as AnimeListPageNavigationArgs);
                    else
                        MainNavigationRequested?.Invoke(typeof(AnimeListPage), args);
                    break;
                case PageIndex.PageAnimeDetails:
                    HideSearchStuff();
                    var detail = ViewModelLocator.AnimeDetails;
                    detail.DetailImage = null;
                    detail.LeftDetailsRow.Clear();
                    detail.RightDetailsRow.Clear();
                    RefreshButtonVisibility = true;
                    RefreshDataCommand = new RelayCommand(() => ViewModelLocator.AnimeDetails.RefreshData());
                    _wasOnDetailsFromSearch = (args as AnimeDetailsPageNavigationArgs).Source == PageIndex.PageSearch;
                    //from search , details are passed instead of being downloaded once more
                    if (CurrentMainPage == PageIndex.PageAnimeDetails)
                        ViewModelLocator.AnimeDetails.Init(args as AnimeDetailsPageNavigationArgs);
                    else
                        MainNavigationRequested?.Invoke(typeof(AnimeDetailsPage), args);
                    break;
                case PageIndex.PageSettings:
                    HideSearchStuff();
                    MainNavigationRequested?.Invoke(typeof(SettingsPage));
                    break;
                case PageIndex.PageSearch:
                case PageIndex.PageMangaSearch:
                    if(CurrentMainPage != PageIndex.PageSearch && CurrentMainPage != PageIndex.PageMangaSearch && CurrentMainPage != PageIndex.PageCharacterSearch)
                        _searchStateBeforeNavigatingToSearch = SearchToggleStatus;

                    var searchArg = args as SearchPageNavigationArgs;
                    if (string.IsNullOrWhiteSpace(searchArg.Query))
                    {
                        searchArg.Query = CurrentSearchQuery;
                    }
                    if (!searchArg.ByGenre && !searchArg.ByStudio)
                    {
                        View.SearchInputFocus(FocusState.Keyboard);
                        SearchToggleLock = true;
                        ShowSearchStuff();
                        ToggleSearchStuff();
                    }
                    else
                    {
                        HideSearchStuff();
                        CurrentStatus = searchArg.ByGenre ? "Anime by Genre" : "Anime By Studio";
                    }
                    MainNavigationRequested?.Invoke(typeof(AnimeSearchPage), args);
                    break;
                case PageIndex.PageLogIn:
                    HideSearchStuff();
                    MainNavigationRequested?.Invoke(typeof(LogInPage));
                    break;
                case PageIndex.PageProfile:
                    HideSearchStuff();
                    RefreshButtonVisibility = true;
                    if (Settings.SelectedApiType == ApiType.Mal)
                        RefreshDataCommand =
                            new RelayCommand(() => ViewModelLocator.ProfilePage.LoadProfileData(null, true));
                    else
                        RefreshDataCommand = new RelayCommand(() => ViewModelLocator.HumProfilePage.Init(true));
                    if (Settings.SelectedApiType == ApiType.Mal)
                    {
                        if (CurrentMainPage == PageIndex.PageProfile)
                            MobileViewModelLocator.ProfilePage.LoadProfileData(args as ProfilePageNavigationArgs);
                        else
                            MainNavigationRequested?.Invoke(typeof(ProfilePage), args);
                    }
                    else
                        MainNavigationRequested?.Invoke(typeof(HummingbirdProfilePage), args);
                    break;
                case PageIndex.PageRecomendations:
                    HideSearchStuff();
                    MainNavigationRequested?.Invoke(typeof(RecommendationsPage), args);
                    break;
                case PageIndex.PageCalendar:
                    HideSearchStuff();
                    CurrentStatus = "Calendar";
                    RefreshButtonVisibility = true;
                    RefreshDataCommand = new RelayCommand(() => { ViewModelLocator.CalendarPage.Init(true); });
                    MainNavigationRequested?.Invoke(typeof(CalendarPage), args);
                    break;
                case PageIndex.PageArticles:
                case PageIndex.PageNews:
                    HideSearchStuff();
                    RefreshButtonVisibility = true;
                    RefreshDataCommand = new RelayCommand(() => ViewModelLocator.MalArticles.Init(null));
                    if (CurrentMainPage == PageIndex.PageArticles)
                        ViewModelLocator.MalArticles.Init(args as MalArticlesPageNavigationArgs);
                    else
                        MainNavigationRequested?.Invoke(typeof(MalArticlesPage), args);
                    break;
                case PageIndex.PageMessanging:
                    HideSearchStuff();
                    CurrentStatus = $"{Credentials.UserName} - Messages";
                    RefreshButtonVisibility = true;
                    RefreshDataCommand = new RelayCommand(() => { ViewModelLocator.MalMessaging.Init(true); });
                    MainNavigationRequested?.Invoke(typeof(MalMessagingPage), args);
                    break;
                case PageIndex.PageMessageDetails:
                    var msgModel = args as MalMessageDetailsNavArgs;
                    RefreshButtonVisibility = true;
                    RefreshDataCommand = new RelayCommand(() => ViewModelLocator.MalMessageDetails.RefreshData());
                    CurrentOffStatus = msgModel.WorkMode == MessageDetailsWorkMode.Message
                        ? (msgModel.Arg != null
                            ? $"{(msgModel.Arg as MalMessageModel)?.Sender} - {(msgModel.Arg as MalMessageModel)?.Subject}"
                            : "New Message")
                        : $"Comments {Credentials.UserName} - {(msgModel.Arg as MalComment)?.User.Name}";
                    MainNavigationRequested?.Invoke(typeof(MalMessageDetailsPage), args);
                    break;
                case PageIndex.PageForumIndex:
                    HideSearchStuff();
                    CurrentStatus = "Forums";
                    if (args == null || (args as ForumsNavigationArgs)?.Page == ForumsPageIndex.PageIndex)
                    {
                            RefreshButtonVisibility = true;
                            RefreshDataCommand = new RelayCommand(() => { ViewModelLocator.ForumsIndex.Init(true); });
                    }
                    else
                    {
                        var navArgs = args as ForumsNavigationArgs;
                        if (navArgs?.Page == ForumsPageIndex.PageBoard)
                        {
                            RefreshButtonVisibility = true;
                            RefreshDataCommand = new RelayCommand(() => { ViewModelLocator.ForumsBoard.Reload(); });
                        }
                    }
                    if (CurrentMainPage == PageIndex.PageForumIndex)
                        ViewModelLocator.ForumsMain.Init(args as ForumsNavigationArgs);
                    else
                        MainNavigationRequested?.Invoke(typeof(ForumsMainPage), args);
                    break;
                case PageIndex.PageHistory:
                    HideSearchStuff();
                    RefreshButtonVisibility = true;
                    RefreshDataCommand = new RelayCommand(() => { ViewModelLocator.History.Init(null, true); });
                    CurrentStatus = $"History - {(args as HistoryNavigationArgs)?.Source ?? Credentials.UserName}";
                    MainNavigationRequested?.Invoke(typeof(HistoryPage), args);
                    break;
                case PageIndex.PageCharacterDetails:
                    HideSearchStuff();
                    RefreshButtonVisibility = true;
                    RefreshDataCommand = new RelayCommand(() => ViewModelLocator.CharacterDetails.RefreshData());
                    OffContentVisibility = true;

                    if (CurrentOffPage == PageIndex.PageCharacterDetails)
                        ViewModelLocator.CharacterDetails.Init(args as CharacterDetailsNavigationArgs);
                    else
                        MainNavigationRequested?.Invoke(typeof(CharacterDetailsPage), args);
                    break;
                case PageIndex.PageStaffDetails:
                    HideSearchStuff();
                    RefreshButtonVisibility = true;
                    RefreshDataCommand = new RelayCommand(() => ViewModelLocator.StaffDetails.RefreshData());
                    OffContentVisibility = true;

                    if (CurrentOffPage == PageIndex.PageStaffDetails)
                        ViewModelLocator.StaffDetails.Init(args as StaffDetailsNaviagtionArgs);
                    else
                        MainNavigationRequested?.Invoke(typeof(StaffDetailsPage), args);
                    break;
                case PageIndex.PageCharacterSearch:
                    if (CurrentMainPage != PageIndex.PageSearch && CurrentMainPage != PageIndex.PageMangaSearch && CurrentMainPage != PageIndex.PageCharacterSearch)
                        _searchStateBeforeNavigatingToSearch = SearchToggleStatus;
                    ShowSearchStuff();
                    ToggleSearchStuff();

                    SearchToggleLock = true;

                    MainNavigationRequested?.Invoke(typeof(CharacterSearchPage));
                    await Task.Delay(10);
                    View.SearchInputFocus(FocusState.Keyboard);
                    break;
                case PageIndex.PageWallpapers:
                    HideSearchStuff();
                    RefreshButtonVisibility = false;
                    MainNavigationRequested?.Invoke(typeof(WallpapersPage),args);
                    break;
                case PageIndex.PagePopularVideos:
                    HideSearchStuff();
                    CurrentStatus = "Popular Videos";
                    MainNavigationRequested?.Invoke(typeof(PopularVideosPage), args);
                    break;
                default:
                    throw new ArgumentOutOfRangeException(nameof(index), index, null);
            }
            CurrentMainPage = index;
            CurrentMainPageKind = index;
            RaisePropertyChanged(() => SearchToggleLock);


        }
Esempio n. 38
0
 public void RegisterBackNav(PageIndex page, object args, PageIndex source = PageIndex.PageAbout)
 {
     _randomNavigationStackMain.Push(new Tuple<PageIndex, object>(page, args));
     ViewModelLocator.GeneralMain.NavigateMainBackButtonVisibility = true;
 }
Esempio n. 39
0
        public override async void Navigate(PageIndex index, object args = null)
        {
            PageIndex? currPage = null;
            PageIndex? currOffPage = null;
            var mainPage = true;
            var originalIndex = index;
            var wasOnSearchPage = SearchToggleLock;
            if (!Credentials.Authenticated && PageUtils.PageRequiresAuth(index))
            {
                var msg = new MessageDialog("Log in first in order to access this page."
                    ,"Login required.");
                await msg.ShowAsync();
                return;
            }
            _navigating = true;
            ResourceLocator.TelemetryProvider.TelemetryTrackEvent(TelemetryTrackedEvents.Navigated, index.ToString());
           

            DesktopViewModelLocator.Hamburger.UpdateAnimeFiltersSelectedIndex();
            //prepare for some index mess
            if (index == PageIndex.PageMangaList && args == null) // navigating from startup
                args = AnimeListPageNavigationArgs.Manga;

            if (index == PageIndex.PageAbout ||
                index == PageIndex.PageSettings ||
                index == PageIndex.PageAbout ||
                index == PageIndex.PageAnimeDetails ||
                index == PageIndex.PageMessageDetails ||
                index == PageIndex.PageCharacterDetails ||
                index == PageIndex.PageStaffDetails ||
                index == PageIndex.PageLogIn)
            {
                OffRefreshButtonVisibility = false;
                mainPage = false;
                IsCurrentStatusSelectable = false;
                currOffPage = index;
                if (index != PageIndex.PageAnimeDetails)
                {
                    ViewModelLocator.AnimeDetails.Id = 0; //reset this because we no longer are there
                    if(index != PageIndex.PageCharacterDetails && index != PageIndex.PageStaffDetails)
                        ViewModelLocator.NavMgr.ResetOffBackNav();
                }
                if(CurrentOffPage == PageIndex.PageSettings)
                    ViewModelLocator.NavMgr.ResetOffBackNav();
            }
            else //naviagating main page
            {
                ScrollToTopButtonVisibility = false;
                RefreshButtonVisibility = false;
                ResetSearchFilter();
                SearchToggleLock = false;
                CurrentHintSet = null;
            }

            switch (index)
            {
                case PageIndex.PageSeasonal:
                case PageIndex.PageMangaList:
                case PageIndex.PageTopManga:
                case PageIndex.PageTopAnime:
                case PageIndex.PageAnimeList:
                    if (index == PageIndex.PageSeasonal || index == PageIndex.PageTopAnime ||
                        index == PageIndex.PageTopManga || index == PageIndex.PageMangaList)
                        currPage = index; //used by hamburger's filters
                    else
                        currPage = PageIndex.PageAnimeList;
                    DesktopViewModelLocator.Hamburger.ChangeBottomStackPanelMargin(true);
                    index = PageIndex.PageAnimeList;
                    break;
                case PageIndex.PageSearch:
                case PageIndex.PageRecomendations:
                case PageIndex.PageProfile:
                case PageIndex.PageMangaSearch:
                case PageIndex.PageCalendar:
                case PageIndex.PageArticles:
                case PageIndex.PageNews:
                case PageIndex.PageMessanging:
                case PageIndex.PageForumIndex:
                case PageIndex.PageHistory:
                case PageIndex.PageCharacterSearch:
                case PageIndex.PageWallpapers:
                case PageIndex.PagePopularVideos:

                    if (index == PageIndex.PageSearch || index == PageIndex.PageMangaSearch ||
                        ((index == PageIndex.PageSearch || index == PageIndex.PageMangaSearch) &&
                         CurrentOffPage == PageIndex.PageSearch))
                    {
                        var arg = args as SearchPageNavigationArgs;
                        if (Settings.ForceSearchIntoOffPage || CurrentMainPage == PageIndex.PageForumIndex ||
                            CurrentMainPage == PageIndex.PageProfile || CurrentOffPage == PageIndex.PageSearch)
                        {
                            arg.DisplayMode = SearchPageDisplayModes.Off;
                            args = arg;
                        }
                        if ((args as SearchPageNavArgsBase).DisplayMode == SearchPageDisplayModes.Main)
                        {
                            CurrentStatusSub = "";
                            DesktopViewModelLocator.Hamburger.ChangeBottomStackPanelMargin(index == PageIndex.PageMessanging || index == PageIndex.PageWallpapers);
                        }
                    }
                    else
                    {
                        CurrentStatusSub = "";
                        DesktopViewModelLocator.Hamburger.ChangeBottomStackPanelMargin(index == PageIndex.PageMessanging || index == PageIndex.PageWallpapers);
                    }
                    currPage = index;
                    break;
            }            

            if (index == PageIndex.PageAnimeList && _searchStateBeforeNavigatingToSearch != null)
            {
                SearchToggleStatus = (bool) _searchStateBeforeNavigatingToSearch;
                if (SearchToggleStatus)
                    ShowSearchStuff();
                else
                    HideSearchStuff();
            }

            switch (index)
            {
                case PageIndex.PageAnimeList:
                    if (ViewModelLocator.AnimeList.Initializing)
                    {
                        if (!_subscribed)
                        {
                            ViewModelLocator.AnimeList.Initialized += AnimeListOnInitialized;
                            _subscribed = true;
                        }
                        _postponedNavigationArgs = new Tuple<PageIndex, object>(originalIndex, args);
                        return;
                    }
                    _postponedNavigationArgs = null;
                    ShowSearchStuff();
                    if ((_searchStateBeforeNavigatingToSearch == null || !_searchStateBeforeNavigatingToSearch.Value) &&
                        (wasOnSearchPage || _wasOnDetailsFromSearch))
                    {
                        CurrentSearchQuery = "";
                        _wasOnDetailsFromSearch = false;
                        UnToggleSearchStuff();
                    }
                    if (CurrentMainPageKind == PageIndex.PageAnimeList)
                        ViewModelLocator.AnimeList.Init(args as AnimeListPageNavigationArgs);
                    else
                        MainNavigationRequested?.Invoke(typeof(AnimeListPage), args);
                    break;
                case PageIndex.PageAnimeDetails:
                    var detail = ViewModelLocator.AnimeDetails;
                    detail.DetailImage = null;
                    detail.LeftDetailsRow.Clear();
                    detail.RightDetailsRow.Clear();
                    OffRefreshButtonVisibility = true;
                    RefreshOffDataCommand = new RelayCommand(() => ViewModelLocator.AnimeDetails.RefreshData());
                    _wasOnDetailsFromSearch = (args as AnimeDetailsPageNavigationArgs).Source == PageIndex.PageSearch;
                    //from search , details are passed instead of being downloaded once more
                    OffContentVisibility = true;

                    if (CurrentOffPage == PageIndex.PageAnimeDetails)
                        ViewModelLocator.AnimeDetails.Init(args as AnimeDetailsPageNavigationArgs);
                    else
                        OffNavigationRequested?.Invoke(typeof(AnimeDetailsPage), args);
                    break;
                case PageIndex.PageSettings:
                    OffContentVisibility = true;
                    OffNavigationRequested?.Invoke(typeof(SettingsPage));
                    break;
                case PageIndex.PageSearch:
                case PageIndex.PageMangaSearch:
                    var arg = args as SearchPageNavigationArgs;
                    if (Settings.ForceSearchIntoOffPage || CurrentMainPage == PageIndex.PageForumIndex || CurrentMainPage == PageIndex.PageProfile)
                        arg.DisplayMode = SearchPageDisplayModes.Off;
                    if (arg.DisplayMode == SearchPageDisplayModes.Off)
                    {
                        if (CurrentMainPage == PageIndex.PageCharacterSearch)
                        {
                            ToggleSearchStuff();
                            SearchToggleLock = true;
                        }
                        if (CurrentMainPage == PageIndex.PageSearch)
                        {
                            break; // we are already on the left
                        }
                        if (string.IsNullOrWhiteSpace(arg.Query))
                            arg.Query = CurrentSearchQuery;
                        arg.DisplayMode = SearchPageDisplayModes.Off;
                        OffContentVisibility = true;
                        currOffPage = PageIndex.PageSearch;
                        currPage = null;
                        OffRefreshButtonVisibility = false;
                        ViewModelLocator.AnimeDetails.Id = -1;
                        StatusFilterVisibilityLock = false;
                        CurrentOffStatus = "Search";
                        IsCurrentStatusSelectable = false;
                        OffNavigationRequested?.Invoke(typeof(AnimeSearchPage), args);
                    }
                    else
                    {
                        if (CurrentOffPage == PageIndex.PageSearch)
                        {
                            break; // we are already on the right
                        }
                        if (CurrentMainPage.Value != PageIndex.PageSearch &&
                            CurrentMainPage.Value != PageIndex.PageMangaSearch &&
                            CurrentMainPage.Value != PageIndex.PageCharacterSearch)
                            _searchStateBeforeNavigatingToSearch = SearchToggleStatus;
                        if (arg.ByGenre || arg.ByStudio)
                        {
                            CurrentStatus = $"Anime by {(arg.ByGenre ? "Genre" : "Studio")}";
                            HideSearchStuff();
                        }
                        else
                        {
                            SearchToggleLock = true;
                            ShowSearchStuff();
                            ToggleSearchStuff();
                        }

                        StatusFilterVisibilityLock = true;
                        if (string.IsNullOrWhiteSpace(arg.Query))
                            arg.Query = CurrentSearchQuery;
                        MainNavigationRequested?.Invoke(typeof(AnimeSearchPage), args);
                        await Task.Delay(10);
                        View.SearchInputFocus(FocusState.Keyboard);
                    }
                    break;
                case PageIndex.PageLogIn:
                    OffContentVisibility = true;
                    OffNavigationRequested?.Invoke(typeof(LogInPage));
                    break;
                case PageIndex.PageProfile:
                    HideSearchStuff();
                    RefreshButtonVisibility = true;
                    if (Settings.SelectedApiType == ApiType.Mal)
                        RefreshDataCommand =
                            new RelayCommand(() => DesktopViewModelLocator.ProfilePage.LoadProfileData(null, true));
                    else
                        RefreshDataCommand = new RelayCommand(() => ViewModelLocator.HumProfilePage.Init(true));
                    if (Settings.SelectedApiType == ApiType.Mal)
                    {
                        if (CurrentMainPage == PageIndex.PageProfile)
                            DesktopViewModelLocator.ProfilePage.LoadProfileData(args as ProfilePageNavigationArgs);
                        else
                            MainNavigationRequested?.Invoke(typeof(ProfilePage), args);
                    }

                    else
                        MainNavigationRequested?.Invoke(typeof(HummingbirdProfilePage), args);
                    break;
                case PageIndex.PageRecomendations:
                    HideSearchStuff();
                    MainNavigationRequested?.Invoke(typeof(RecommendationsPage), args);
                    break;
                case PageIndex.PageCalendar:
                    HideSearchStuff();
                    RefreshButtonVisibility = true;
                    RefreshDataCommand = new RelayCommand(() => ViewModelLocator.CalendarPage.Init(true));
                    CurrentStatus = "Calendar";
                    MainNavigationRequested?.Invoke(typeof(CalendarPage), args);
                    break;
                case PageIndex.PageArticles:
                case PageIndex.PageNews:
                    HideSearchStuff();
                    RefreshButtonVisibility = true;
                    RefreshDataCommand = new RelayCommand(() => { ViewModelLocator.MalArticles.Init(null); });
                    MainNavigationRequested?.Invoke(typeof(MalArticlesPage), args);
                    break;
                case PageIndex.PageMessanging:
                    HideSearchStuff();
                    CurrentStatus = $"{Credentials.UserName} - Messages";
                    RefreshButtonVisibility = true;
                    RefreshDataCommand = new RelayCommand(() => { ViewModelLocator.MalMessaging.Init(true); });
                    MainNavigationRequested?.Invoke(typeof(MalMessagingPage), args);
                    break;
                case PageIndex.PageMessageDetails:
                    var msgModel = args as MalMessageDetailsNavArgs;
                    OffRefreshButtonVisibility = true;
                    RefreshOffDataCommand = new RelayCommand(() => ViewModelLocator.MalMessageDetails.RefreshData());
                    CurrentOffStatus = msgModel.WorkMode == MessageDetailsWorkMode.Message
                        ? (msgModel.Arg != null
                            ? $"{(msgModel.Arg as MalMessageModel)?.Sender} - {(msgModel.Arg as MalMessageModel)?.Subject}"
                            : "New Message")
                        : $"Comments {Credentials.UserName} - {(msgModel.Arg as MalComment)?.User.Name}";
                    OffContentVisibility = true;
                    OffNavigationRequested?.Invoke(typeof(MalMessageDetailsPage), args);
                    break;
                case PageIndex.PageForumIndex:
                    HideSearchStuff();
                    CurrentStatus = "Forums";
                    if (args == null || (args as ForumsNavigationArgs)?.Page == ForumsPageIndex.PageIndex)
                    {
                        RefreshButtonVisibility = true;
                        RefreshDataCommand = new RelayCommand(() => { ViewModelLocator.ForumsIndex.Init(true); });
                    }
                    else
                    {
                        var navArgs = args as ForumsNavigationArgs;
                        if (navArgs?.Page == ForumsPageIndex.PageBoard)
                        {
                            RefreshButtonVisibility = true;
                            RefreshDataCommand = new RelayCommand(() => { ViewModelLocator.ForumsBoard.Reload(); });
                        }
                    }
                    if (CurrentMainPage != null && CurrentMainPage == PageIndex.PageForumIndex)
                        ViewModelLocator.ForumsMain.Init(args as ForumsNavigationArgs);
                    else
                        MainNavigationRequested?.Invoke(typeof(ForumsMainPage), args);
                    break;
                case PageIndex.PageHistory:
                    HideSearchStuff();
                    RefreshButtonVisibility = true;
                    RefreshDataCommand = new RelayCommand(() => { ViewModelLocator.History.Init(null, true); });
                    CurrentStatus = $"History - {(args as HistoryNavigationArgs)?.Source ?? Credentials.UserName}";
                    MainNavigationRequested?.Invoke(typeof(HistoryPage), args);
                    break;
                case PageIndex.PageCharacterDetails:
                    OffRefreshButtonVisibility = true;
                    RefreshOffDataCommand = new RelayCommand(() => ViewModelLocator.CharacterDetails.RefreshData());
                    OffContentVisibility = true;

                    if (CurrentOffPage == PageIndex.PageCharacterDetails)
                        ViewModelLocator.CharacterDetails.Init(args as CharacterDetailsNavigationArgs);
                    else
                        OffNavigationRequested?.Invoke(typeof(CharacterDetailsPage), args);
                    break;
                case PageIndex.PageStaffDetails:
                    OffRefreshButtonVisibility = true;
                    RefreshOffDataCommand = new RelayCommand(() => ViewModelLocator.StaffDetails.RefreshData());
                    OffContentVisibility = true;

                    if (CurrentOffPage == PageIndex.PageStaffDetails)
                        ViewModelLocator.StaffDetails.Init(args as StaffDetailsNaviagtionArgs);
                    else
                        OffNavigationRequested?.Invoke(typeof(StaffDetailsPage), args);
                    break;
                case PageIndex.PageCharacterSearch:
                    if (CurrentMainPage.Value != PageIndex.PageSearch &&
                        CurrentMainPage.Value != PageIndex.PageMangaSearch &&
                        CurrentMainPage.Value != PageIndex.PageCharacterSearch)
                        _searchStateBeforeNavigatingToSearch = SearchToggleStatus;
                    ShowSearchStuff();
                    ToggleSearchStuff();

                    SearchToggleLock = true;
                    if (CurrentMainPage != PageIndex.PageCharacterSearch)
                        MainNavigationRequested?.Invoke(typeof(CharacterSearchPage));
                    await Task.Delay(10);
                    View.SearchInputFocus(FocusState.Keyboard);
                    break;
                case PageIndex.PageWallpapers:
                    HideSearchStuff();
                    MainNavigationRequested?.Invoke(typeof(WallpapersPage),args);
                    break;
                case PageIndex.PagePopularVideos:
                    HideSearchStuff();
                    CurrentStatus = "Popular Videos";
                    MainNavigationRequested?.Invoke(typeof(PopularVideosPage), args);
                    break;
                default:
                    throw new ArgumentOutOfRangeException(nameof(index), index, null);
            }
            if (currPage != null)
                CurrentMainPage = currPage;
            if (mainPage)
                CurrentMainPageKind = index;
            if (currOffPage != null)
                CurrentOffPage = currOffPage;
            _navigating = false;
            RaisePropertyChanged(() => SearchToggleLock);
        }
Esempio n. 40
0
		public void RegisterBackNav(PageIndex page, object args, PageIndex source = PageIndex.PageAbout)
		{
			//throw new NotImplementedException();
		}
Esempio n. 41
0
 public abstract void Navigate(PageIndex index, object args = null);