コード例 #1
0
 public CommunitySearchSource(
     CommunitySearchPagePayloadContent searchOption,
     SearchProvider searchProvider
     )
 {
     SearchKeyword  = searchOption.Keyword;
     Mode           = searchOption.Mode;
     Sort           = searchOption.Sort;
     Order          = searchOption.Order;
     SearchProvider = searchProvider;
 }
コード例 #2
0
        public static void SearchCommunity(this PageManager pageManager, string content, Mntone.Nico2.Order order, CommunitySearchSort sort, CommunitySearchMode mode)
        {
            var payload = new CommunitySearchPagePayloadContent()
            {
                Keyword = content,
                Order   = order,
                Sort    = sort,
                Mode    = mode
            };

            pageManager.OpenPage(HohoemaPageType.SearchResultCommunity, payload.ToParameterString());
        }
コード例 #3
0
 public CommunitySearchSource(
     CommunitySearchPagePayloadContent searchOption
     , HohoemaApp app
     , PageManager pageManager
     )
 {
     HohoemaApp    = app;
     PageManager   = pageManager;
     SearchKeyword = searchOption.Keyword;
     Mode          = searchOption.Mode;
     Sort          = searchOption.Sort;
     Order         = searchOption.Order;
 }
コード例 #4
0
        public override Task OnNavigatedToAsync(INavigationParameters parameters)
        {
            var mode = parameters.GetNavigationMode();

            if (mode == NavigationMode.New)
            {
                Keyword = System.Net.WebUtility.UrlDecode(parameters.GetValue <string>("keyword"));

                SearchOption = new CommunitySearchPagePayloadContent()
                {
                    Keyword = Keyword
                };
            }

            SelectedSearchTarget.Value = SearchOption?.SearchTarget ?? SearchTarget.Community;

            if (SearchOption == null)
            {
                throw new Models.Infrastructure.HohoemaExpception("コミュニティ検索");
            }

            SelectedSearchSort.Value = CommunitySearchSortOptionListItems.FirstOrDefault(x => x.Order == SearchOption.Order && x.Sort == SearchOption.Sort);
            SelectedSearchMode.Value = CommunitySearchModeOptionListItems.FirstOrDefault(x => x.Mode == SearchOption.Mode);


            new[] {
                SelectedSearchSort.ToUnit(),
                    SelectedSearchMode.ToUnit()
            }
            .CombineLatest()
            .Subscribe(async _ =>
            {
                SearchOption.Sort  = SelectedSearchSort.Value.Sort;
                SearchOption.Order = SelectedSearchSort.Value.Order;
                SearchOption.Mode  = SelectedSearchMode.Value.Mode;

                ResetList();
            })
            .AddTo(_NavigatingCompositeDisposable);

            _searchHistoryRepository.Searched(SearchOption.Keyword, SearchOption.SearchTarget);

            return(base.OnNavigatedToAsync(parameters));
        }