public static SearchPageFragment BuildInstance(SearchPageNavigationArgs args) { return(new SearchPageFragment(args)); //just so we follow the pattern }
public static SearchPageFragment BuildInstance(SearchPageNavigationArgs args) { return(new SearchPageFragment(args)); }
private SearchPageFragment(SearchPageNavigationArgs args) { _args = args; }
public void Init(SearchPageNavigationArgs args) { PrevArgs = args; if (args.ByGenre || args.ByStudio) { PrevQuery = null; EmptyNoticeVisibility = false; IsFirstVisitGridVisible = false; GenreSelectionGridVisibility = true; DirectQueryInputVisibility = false; if (args.ByGenre) { AvailableSelectionChoices = Enum.GetValues(typeof(AnimeGenres)).Cast <Enum>().OrderBy(val => val.ToString()).ToList(); } else { AvailableSelectionChoices = Enum.GetValues(typeof(AnimeStudios)).Cast <Enum>().OrderBy(val => val.ToString()).ToList(); } return; } else { GenreSelectionGridVisibility = false; } if (_animeSearch != args.Anime) { PrevQuery = null; } if (!_queryHandler) { ViewModelLocator.GeneralMain.OnSearchQuerySubmitted += SubmitQuery; } _queryHandler = true; _currrentFilter = null; _animeSearch = args.Anime; EmptyNoticeVisibility = false; IsFirstVisitGridVisible = true; if (args.DisplayMode == SearchPageDisplayModes.Off) { ViewModelLocator.NavMgr.ResetOffBackNav(); DirectQueryInputVisibility = true; if (_queryHandler) { ViewModelLocator.GeneralMain.OnSearchQuerySubmitted -= SubmitQuery; _queryHandler = false; } } else { DirectQueryInputVisibility = false; } if (!string.IsNullOrWhiteSpace(args.Query) && (args.DisplayMode == SearchPageDisplayModes.Main || args.ForceQuery)) { ViewModelLocator.GeneralMain.PopulateSearchFilters(_filters); SubmitQuery(args.Query); if (args.ForceQuery) { ViewModelLocator.GeneralMain.CurrentSearchQuery = args.Query; InternalQuery = args.Query; } } else { _filters.Clear(); AnimeSearchItemViewModels.Clear(); IsFirstVisitGridVisible = true; ResetQuery(); } }