Exemple #1
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            NavMgr.RegisterBackNav(PageIndex.PageAnimeList, _lastArgs);
            _lastArgs = e.Parameter as ProfilePageNavigationArgs;

            base.OnNavigatedTo(e);
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            ToggleCache.IsOn = Settings.IsCachingEnabled;
            ComboCachePersistency.SelectedIndex = SecondsToIndexHelper(Settings.CachePersitence);
            SetSortOrder();
            BtnDescending.IsChecked  = Settings.IsSortDescending;
            BtnMDescending.IsChecked = Settings.IsMangaSortDescending;
            SetDesiredStatus();
            SliderSetup();
            ToggleSwitchSetup();
            ComboThemes.SelectedIndex       = (int)Settings.SelectedTheme;
            TxtThemeChangeNotice.Visibility = Settings.SelectedTheme != Application.Current.RequestedTheme
                ? Visibility.Visible
                : Visibility.Collapsed;
            if (Settings.DefaultMenuTab == "anime")
            {
                RadioTabAnime.IsChecked = true;
            }
            else
            {
                RadioTabManga.IsChecked = true;
            }
            Utils.GetMainPageInstance().CurrentStatus = $"Settings - {Utils.GetAppVersion()}";
            _initialized = true;

            NavMgr.RegisterBackNav(PageIndex.PageAnimeList, null);

            base.OnNavigatedTo(e);
        }
 protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
 {
     DataContext = null;
     NavMgr.DeregisterBackNav();
     DisplayInformation.GetForCurrentView().OrientationChanged -= OnOrientationChanged;
     base.OnNavigatingFrom(e);
 }
Exemple #4
0
 protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
 {
     if (_initialized)
     {
         NavMgr.DeregisterBackNav();
     }
     base.OnNavigatingFrom(e);
 }
Exemple #5
0
        public void Run()
        {
            Logger.Info($"{nameof(Run)}");
            var report = ExecutorService.Setup(ScriptService.Current, ScriptService);

            NavMgr.NavigateTo($"/executor/{report.Id}");
            ExecutorService.Run(report);
        }
Exemple #6
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            _lastArgs = e.Parameter as ProfilePageNavigationArgs;
            ViewModelLocator.Main.CurrentStatus = $"{Credentials.UserName} - Profile";

            NavMgr.RegisterBackNav(PageIndex.PageAnimeList, null);

            base.OnNavigatedTo(e);
        }
Exemple #7
0
 private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
 {
     NavMgr.RegisterBackNav(PageIndex.PageProfile, new ProfilePageNavigationArgs {
         TargetUser = ViewModel.CurrentUser
     }, PageIndex.PageProfile);
     ViewModelLocator.Main.Navigate(PageIndex.PageProfile, new ProfilePageNavigationArgs {
         TargetUser = (string)(sender as Button).Tag
     });
 }
Exemple #8
0
 public SettingsPage()
 {
     InitializeComponent();
     Loaded += (sender, args) => NavMgr.RegisterBackNav(PageIndex.PageAnimeList, null);
     ViewModel.NavigationRequest += ViewModelOnNavigationRequest;
     SettingsNavFrame.Navigate(typeof(SettingsHomePage), null);
     ViewModelLocator.Main.CurrentStatus = $"Settings - {Utils.GetAppVersion()}";
     _initialized = true;
 }
Exemple #9
0
 private void ListViewBase_OnItemClick(object sender, ItemClickEventArgs e)
 {
     NavMgr.RegisterBackNav(PageIndex.PageProfile, new ProfilePageNavigationArgs {
         TargetUser = ViewModel.CurrentUser
     }, PageIndex.PageProfile);
     ViewModelLocator.Main.Navigate(PageIndex.PageProfile, new ProfilePageNavigationArgs {
         TargetUser = (e.ClickedItem as MalUser).Name
     });
 }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (e.Parameter is RecommendationPageNavigationArgs)
            {
                (DataContext as RecommendationsViewModel).PivotItemIndex =
                    (e.Parameter as RecommendationPageNavigationArgs).Index;
            }

            NavMgr.RegisterBackNav(PageIndex.PageAnimeList, null);
        }
Exemple #11
0
 private async void LoadArticle(MalNewsUnitModel data)
 {
     LoadingVisibility      = Visibility.Visible;
     ArticleIndexVisibility = Visibility.Collapsed;
     ViewModelLocator.Main.CurrentStatus = data.Title;
     NavMgr.RegisterBackNav(PageIndex.PageArticles,
                            data.Type == MalNewsType.Article
             ? MalArticlesPageNavigationArgs.Articles
             : MalArticlesPageNavigationArgs.News);
     OpenWebView?.Invoke(await new MalArticleQuery(data.Url, data.Title, data.Type).GetArticleHtml(), Articles.IndexOf(data));
 }
Exemple #12
0
        public async void Init(MalArticlesPageNavigationArgs args, bool force = false)
        {
            NavMgr.RegisterBackNav(PageIndex.PageAnimeList, null);
            ArticleIndexVisibility = Visibility.Visible;
            WebViewVisibility      = Visibility.Collapsed;
            ViewModelLocator.Main.CurrentStatus = args.WorkMode == ArticlePageWorkMode.Articles ? "Articles" : "News";

            if (_prevWorkMode == args.WorkMode)
            {
                try
                {
                    if (args.NewsId != -1)
                    {
                        LoadArticle(Articles[args.NewsId]);
                    }
                }
                catch (Exception)
                {
                    //
                }
                return;
            }
            LoadingVisibility = Visibility.Visible;
            _loadingData      = true;

            switch (args.WorkMode)
            {
            case ArticlePageWorkMode.Articles:
                ThumbnailWidth = ThumbnailHeight = 150;
                break;

            case ArticlePageWorkMode.News:
                ThumbnailWidth  = 100;
                ThumbnailHeight = 150;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            _prevWorkMode = args.WorkMode;

            var data = new List <MalNewsUnitModel>();

            Articles = new List <MalNewsUnitModel>();

            await Task.Run(async() =>
            {
                data = await new MalArticlesIndexQuery(args.WorkMode).GetArticlesIndex(force);
            });

            Articles          = data;
            _loadingData      = false;
            LoadingVisibility = Visibility.Collapsed;
        }
Exemple #13
0
 private void OnItemClicked(string colName, Job report)
 {
     switch (colName)
     {
     case nameof(Script.Run):
         var newReport = ExecutorService.Setup(report, ScriptService);
         NavMgr.NavigateTo($"/executor/{report.Id}");
         ExecutorService.Run(newReport);
         break;
     }
 }
Exemple #14
0
        private void OnItemClicked(string colName, NatsMessage message)
        {
            switch (colName)
            {
            case nameof(NatsMessage.Inspect):
                Inspector.Data = message.Data;
                NavMgr.NavigateTo("/inspector");
                break;

            case nameof(NatsMessage.Pin):
                NatsService.Save(message.Clone());
                break;
            }
        }
Exemple #15
0
        private void OnItemClicked(string colName, Script script)
        {
            switch (colName)
            {
            case nameof(Script.Load):
                OnItemDoubleClicked(colName, script);
                break;

            case nameof(Script.Run):
                var report = ExecutorService.Setup(script, ScriptService);
                NavMgr.NavigateTo($"/executor/{report.Id}");
                ExecutorService.Run(report);
                break;
            }
        }
 protected void VldFrm()
 {
     try {
         if (EsEdt)
         {
             _PrdBO.Grd(Prd);
         }
         else
         {
             _ = _PrdBO.Cre(Prd);
         }
         NavMgr.NavigateTo("/Prds");
     } catch (Exception ex) {
         (Msg, MsgCls) = Util.Msg_Set(ex.Message, "alert-danger");
     }
 }
Exemple #17
0
        private void OnItemClicked(string colName, NatsMessage message)
        {
            switch (colName)
            {
            case nameof(NatsMessage.Inspect):
                Inspector.Data = message.Data;
                NavMgr.NavigateTo("/inspector");
                break;

            case nameof(NatsMessage.Run):
                Publish(message.Subject, message.Data);
                break;

            case nameof(NatsMessage.Trash):
                NatsService.Configuration.SavedMessages.Remove(message);
                NatsService.Save();
                MessageGrid.Remove(message);
                break;
            }
        }
 protected override void OnNavigatedFrom(NavigationEventArgs e)
 {
     DataContext = null;
     NavMgr.DeregisterBackNav();
 }
 protected void Back_Click()
 {
     NavMgr.NavigateTo("/prds");
 }
Exemple #20
0
 private void OnItemDoubleClicked(string colName, Job report)
 {
     Logger.Info($"Set current report: {report.Name}");
     NavMgr.NavigateTo($"/executor/{report.Id}");
 }
Exemple #21
0
 protected override void OnNavigatedFrom(NavigationEventArgs e)
 {
     (DataContext as ProfilePageViewModel).Cleanup();
     base.OnNavigatedFrom(e);
     NavMgr.DeregisterBackNav();
 }
Exemple #22
0
 private void OnItemDoubleClicked(string colName, Script script)
 {
     Logger.Info($"Set current script: {script.Name}");
     ScriptService.SetCurrent(script);
     NavMgr.NavigateTo("/editor");
 }
Exemple #23
0
        internal async Task Navigate(PageIndex index, object args = null)
        {
            var wasOnSearchPage = SearchToggleLock;

            await Task.Delay(1);

            if (!Credentials.Authenticated && PageUtils.PageRequiresAuth(index))
            {
                var msg = new MessageDialog("Log in first in order to access this page.");
                await msg.ShowAsync();

                return;
            }
            ScrollToTopButtonVisibility = Visibility.Collapsed;
            RefreshButtonVisibility     = Visibility.Collapsed;
            OffRefreshButtonVisibility  = Visibility.Collapsed;

            ViewModelLocator.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)
            {
                CurrentOffPage = index;
                NavMgr.ResetBackNav();
            }
            else
            {
                ResetSearchFilter();
                SearchToggleLock = false;
            }

            if (index == PageIndex.PageSeasonal ||
                index == PageIndex.PageMangaList ||
                index == PageIndex.PageTopManga ||
                index == PageIndex.PageTopAnime ||
                index == PageIndex.PageAnimeList)
            {
                if (index == PageIndex.PageSeasonal || index == PageIndex.PageTopAnime || index == PageIndex.PageTopManga || index == PageIndex.PageMangaList)
                {
                    CurrentMainPage = index; //used by hamburger's filters
                }
                else
                {
                    CurrentMainPage = PageIndex.PageAnimeList;
                }
                ViewModelLocator.Hamburger.ChangeBottomStackPanelMargin(true);
                index = PageIndex.PageAnimeList;
            }
            else if (index == PageIndex.PageSearch ||
                     index == PageIndex.PageRecomendations ||
                     index == PageIndex.PageProfile ||
                     index == PageIndex.PageLogIn ||
                     index == PageIndex.PageMangaSearch)
            {
                ViewModelLocator.Hamburger.ChangeBottomStackPanelMargin(false);
                CurrentMainPage = index;
            }



            //ViewModelLocator.Hamburger.ChangeBottomStackPanelMargin(index == PageIndex.PageAnimeList);

            if (index == PageIndex.PageAnimeList && _searchStateBeforeNavigatingToSearch != null)
            {
                SearchToggleStatus = (bool)_searchStateBeforeNavigatingToSearch;
                if (SearchToggleStatus)
                {
                    ShowSearchStuff();
                }
                else
                {
                    HideSearchStuff();
                }
            }
            switch (index)
            {
            case PageIndex.PageAnimeList:
                ShowSearchStuff();
                if ((_searchStateBeforeNavigatingToSearch == null || !_searchStateBeforeNavigatingToSearch.Value) && (wasOnSearchPage || _wasOnDetailsFromSearch))
                {
                    CurrentSearchQuery      = "";
                    _wasOnDetailsFromSearch = false;
                    UnToggleSearchStuff();
                }
                View.Navigate(typeof(AnimeListPage), args);
                break;

            case PageIndex.PageAnimeDetails:
                OffRefreshButtonVisibility = Visibility.Visible;
                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 = Visibility.Visible;
                View.NavigateOff(typeof(AnimeDetailsPage), args);
                break;

            case PageIndex.PageSettings:
                HideSearchStuff();
                OffContentVisibility = Visibility.Visible;
                View.NavigateOff(typeof(SettingsPage));
                break;

            case PageIndex.PageSearch:
            case PageIndex.PageMangaSearch:
                _searchStateBeforeNavigatingToSearch = SearchToggleStatus;
                NavigateSearch(args);
                break;

            case PageIndex.PageLogIn:
                HideSearchStuff();
                View.Navigate(typeof(LogInPage));
                break;

            case PageIndex.PageProfile:
                HideSearchStuff();
                RefreshButtonVisibility = Visibility.Visible;
                RefreshDataCommand      = new RelayCommand(() => ViewModelLocator.ProfilePage.LoadProfileData(null, true));
                View.Navigate(typeof(ProfilePage), args);
                break;

            case PageIndex.PageRecomendations:
                HideSearchStuff();
                RefreshButtonVisibility = Visibility.Visible;
                RefreshDataCommand      = new RelayCommand(() => ViewModelLocator.Recommendations.PopulateData());
                CurrentStatus           = "Recommendations";
                View.Navigate(typeof(RecomendationsPage), args);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(index), index, null);
            }
            RaisePropertyChanged(() => SearchToggleLock);
        }
Exemple #24
0
 public CalendarPage()
 {
     this.InitializeComponent();
     Loaded += (sender, args) => NavMgr.RegisterBackNav(PageIndex.PageAnimeList, null);
     Loaded += (a1, a2) => (DataContext as CalendarPageViewModel).Init();
 }
Exemple #25
0
 protected override void OnNavigatedFrom(NavigationEventArgs e)
 {
     base.OnNavigatedFrom(e);
     NavMgr.DeregisterBackNav();
 }
Exemple #26
0
 protected override void OnNavigatedFrom(NavigationEventArgs e)
 {
     NavMgr.ResetBackNav();
     ArticleWebView.NavigateToString("");
     base.OnNavigatedFrom(e);
 }