Ejemplo n.º 1
0
 public static void RefreshSearchResultList(OverAll.SearchParam param)
 {
     if (SearchResults.Count > 0)
     {
         SearchResults.Peek().PauseLoading();
     }
     SearchResults.Push(new SearchResultIllustsCollection(param.Word, param.SearchTarget, param.Sort, param.Duration));
 }
Ejemplo n.º 2
0
        private async void TxtWord_QuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args)
        {
            if (string.IsNullOrWhiteSpace(txtWord.Text))
            {
                return;
            }
            if (txtWord.Text.Trim() != lastWord || cbSearchTarget.SelectedIndex != lastSearchTarget ||
                cbSort.SelectedIndex != lastSort || cbDuration.SelectedIndex != lastDuration)
            {
                if (resultFrame.Content != null)
                {
                    (resultFrame.Content as WaterfallPage).ItemsSource.CollectionChanged -= ItemsSource_CollectionChanged;
                }
                var param = new OverAll.SearchParam()
                {
                    Word = txtWord.Text.Trim()
                };
                switch (cbSearchTarget.SelectedIndex)
                {
                case 0:
                    param.SearchTarget = "partial_match_for_tags";
                    break;

                case 1:
                    param.SearchTarget = "exact_match_for_tags";
                    break;

                case 2:
                    param.SearchTarget = "title_and_caption";
                    break;
                }
                switch (cbSort.SelectedIndex)
                {
                case 0:
                    param.Sort = "date_desc";
                    break;

                case 1:
                    param.Sort = "date_asc";
                    break;
                }
                switch (cbDuration.SelectedIndex)
                {
                case 0:
                    param.Duration = null;
                    break;

                case 1:
                    param.Duration = "within_last_day";
                    break;

                case 2:
                    param.Duration = "within_last_week";
                    break;

                case 3:
                    param.Duration = "within_last_month";
                    break;
                }
                OverAll.RefreshSearchResultList(param);
                resultFrame.Navigate(typeof(WaterfallPage), WaterfallPage.ListContent.SearchResult, App.FromRightTransitionInfo);
                (resultFrame.Content as WaterfallPage).ItemsSource.CollectionChanged += ItemsSource_CollectionChanged;
            }
            storyFade.Begin();
            await Task.Delay(200);

            grdSearchPanel.Visibility = Visibility.Collapsed;
            if (txtWord.Text.Trim() != lastWord || cbSearchTarget.SelectedIndex != lastSearchTarget ||
                cbSort.SelectedIndex != lastSort || cbDuration.SelectedIndex != lastDuration)
            {
                lastWord                      = txtWord.Text.Trim();
                lastSearchTarget              = cbSearchTarget.SelectedIndex;
                lastSort                      = cbSort.SelectedIndex;
                lastDuration                  = cbDuration.SelectedIndex;
                searchProgressRing.IsActive   = true;
                searchProgressRing.Visibility = Visibility.Visible;
            }
        }