public SearchResultKeywordPageViewModel( HohoemaApp hohoemaApp, PageManager pageManager ) : base(hohoemaApp, pageManager, useDefaultPageTitle: false) { _ContentFinder = HohoemaApp.ContentProvider; FailLoading = new ReactiveProperty <bool>(false) .AddTo(_CompositeDisposable); LoadedPage = new ReactiveProperty <int>(1) .AddTo(_CompositeDisposable); SelectedSearchSort = new ReactiveProperty <SearchSortOptionListItem>( VideoSearchOptionListItems.First(), mode: ReactivePropertyMode.DistinctUntilChanged ); SelectedSearchTarget = new ReactiveProperty <SearchTarget>(); SelectedSearchSort .Subscribe(async _ => { var selected = SelectedSearchSort.Value; if (SearchOption.Order == selected.Order && SearchOption.Sort == selected.Sort ) { return; } SearchOption.Sort = SelectedSearchSort.Value.Sort; SearchOption.Order = SelectedSearchSort.Value.Order; pageManager.Search(SearchOption, forgetLastSearch: true); }) .AddTo(_CompositeDisposable); }
public ChannelVideoLoadingSource(string channelId, NiconicoContentProvider contentProvider) { ChannelId = channelId; _NiconicoContentProvider = contentProvider; }
public RecommendPageViewModel(HohoemaApp hohoemaApp, PageManager pageManager, NiconicoContentProvider contentProvider) : base(hohoemaApp, pageManager) { _NiconicoContentProvider = contentProvider; }
public RecommendVideoIncrementalLoadingSource(NiconicoContentProvider contentProvider) { NiconicoContentProvider = contentProvider; }
public SearchResultTagPageViewModel( HohoemaApp hohoemaApp, PageManager pageManager, Services.HohoemaDialogService dialogService ) : base(hohoemaApp, pageManager, useDefaultPageTitle: false) { _ContentFinder = HohoemaApp.ContentProvider; _HohoemaDialogService = dialogService; FailLoading = new ReactiveProperty <bool>(false) .AddTo(_CompositeDisposable); LoadedPage = new ReactiveProperty <int>(1) .AddTo(_CompositeDisposable); IsFavoriteTag = new ReactiveProperty <bool>(mode: ReactivePropertyMode.DistinctUntilChanged) .AddTo(_CompositeDisposable); CanChangeFavoriteTagState = new ReactiveProperty <bool>() .AddTo(_CompositeDisposable); AddFavoriteTagCommand = CanChangeFavoriteTagState .ToReactiveCommand() .AddTo(_CompositeDisposable); RemoveFavoriteTagCommand = IsFavoriteTag .ToReactiveCommand() .AddTo(_CompositeDisposable); IsFavoriteTag.Subscribe(async x => { if (_NowProcessFavorite) { return; } _NowProcessFavorite = true; CanChangeFavoriteTagState.Value = false; if (x) { if (await FavoriteTag()) { Debug.WriteLine(SearchOption.Keyword + "のタグをお気に入り登録しました."); } else { // お気に入り登録に失敗した場合は状態を差し戻し Debug.WriteLine(SearchOption.Keyword + "のタグをお気に入り登録に失敗"); IsFavoriteTag.Value = false; } } else { if (await UnfavoriteTag()) { Debug.WriteLine(SearchOption.Keyword + "のタグをお気に入り解除しました."); } else { // お気に入り解除に失敗した場合は状態を差し戻し Debug.WriteLine(SearchOption.Keyword + "のタグをお気に入り解除に失敗"); IsFavoriteTag.Value = true; } } CanChangeFavoriteTagState.Value = IsFavoriteTag.Value == true || HohoemaApp.FollowManager.CanMoreAddFollow(FollowItemType.Tag); _NowProcessFavorite = false; }) .AddTo(_CompositeDisposable); SelectedSearchSort = new ReactiveProperty <SearchSortOptionListItem>( VideoSearchOptionListItems.First(), mode: ReactivePropertyMode.DistinctUntilChanged ); SelectedSearchSort .Subscribe(_ => { var selected = SelectedSearchSort.Value; if (SearchOption.Order == selected.Order && SearchOption.Sort == selected.Sort ) { return; } SearchOption.Sort = SelectedSearchSort.Value.Sort; SearchOption.Order = SelectedSearchSort.Value.Order; pageManager.Search(SearchOption, forgetLastSearch: true); }) .AddTo(_CompositeDisposable); SelectedSearchTarget = new ReactiveProperty <SearchTarget>(); }