public UserLikeArticleScreen( UserLikeArticleScreenViewModel viewModel, UserLikeArticleScreenActionModel actionModel, Key key = null ) : base(key: key) { this.viewModel = viewModel; this.actionModel = actionModel; }
public override Widget build(BuildContext context) { return(new StoreConnector <AppState, UserLikeArticleScreenViewModel>( converter: state => { var user = state.userState.userDict.ContainsKey(key: this.userId) ? state.userState.userDict[key: this.userId] : new User(); var likeArticleIds = user.likeArticleIds ?? new List <string>(); return new UserLikeArticleScreenViewModel { likeArticleLoading = state.userState.userLikeArticleLoading, likeArticleIds = likeArticleIds, likeArticlePage = user.likeArticlesPage ?? 1, likeArticleHasMore = user.likeArticlesHasMore ?? false, isLoggedIn = state.loginState.isLoggedIn, articleDict = state.articleState.articleDict, userDict = state.userState.userDict, teamDict = state.teamState.teamDict }; }, builder: (context1, viewModel, dispatcher) => { var actionModel = new UserLikeArticleScreenActionModel { mainRouterPop = () => dispatcher.dispatch(new MainNavigatorPopAction()), startFetchUserLikeArticle = () => dispatcher.dispatch(new StartFetchUserLikeArticleAction()), fetchUserLikeArticle = pageNumber => dispatcher.dispatch <IPromise>(Actions.fetchUserLikeArticle(userId: this.userId, pageNumber: pageNumber)), pushToArticleDetail = articleId => dispatcher.dispatch( new MainNavigatorPushToArticleDetailAction { articleId = articleId } ), pushToReport = reportId => dispatcher.dispatch( new MainNavigatorPushToReportAction { reportId = reportId, reportType = ReportType.article } ), pushToBlock = articleId => { dispatcher.dispatch(new BlockArticleAction { articleId = articleId }); dispatcher.dispatch(new DeleteArticleHistoryAction { articleId = articleId }); }, shareToWechat = (type, title, description, linkUrl, imageUrl) => dispatcher.dispatch <IPromise>( Actions.shareToWechat(type: type, title: title, description: description, linkUrl: linkUrl, imageUrl: imageUrl)) }; return new UserLikeArticleScreen(viewModel: viewModel, actionModel: actionModel); } )); }