mirror of https://github.com/AMT-Cheif/Stylet.git
49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
using Stylet.Samples.RedditBrowser.RedditApi;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Stylet.Samples.RedditBrowser.Pages
|
|
{
|
|
public class SubredditViewModel : Conductor<IScreen>.StackNavigation
|
|
{
|
|
private IPostCommentsViewModelFactory postCommentsViewModelFactory;
|
|
|
|
public string Subreddit { get; set; }
|
|
public SortMode SortMode { get; set; }
|
|
private PostsViewModel posts;
|
|
|
|
public SubredditViewModel(PostsViewModel posts, IPostCommentsViewModelFactory postCommentsViewModelFactory)
|
|
{
|
|
this.posts = posts;
|
|
this.postCommentsViewModelFactory = postCommentsViewModelFactory;
|
|
|
|
this.posts.PostCommentsOpened += (o, e) => this.OpenPostCommands(e.PostId36);
|
|
this.posts.Closed += (o, e) => this.TryClose();
|
|
}
|
|
|
|
protected override void OnInitialActivate()
|
|
{
|
|
this.DisplayName = String.Format("/r/{0}", this.Subreddit);
|
|
this.posts.Subreddit = this.Subreddit;
|
|
this.posts.SortMode = this.SortMode;
|
|
|
|
this.ActivateItem(this.posts);
|
|
}
|
|
|
|
private void OpenPostCommands(string postId36)
|
|
{
|
|
var item = this.postCommentsViewModelFactory.CreatePostCommentsViewModel();
|
|
item.PostId36 = postId36;
|
|
this.ActivateItem(item);
|
|
}
|
|
}
|
|
|
|
public interface IPostCommentsViewModelFactory
|
|
{
|
|
PostCommentsViewModel CreatePostCommentsViewModel();
|
|
}
|
|
}
|