public override Widget build(BuildContext context) { if (this.viewModel.articleHistory.Count == 0) { return(new BlankView("暂无浏览文章记录")); } return(new Container( color: CColors.background3, child: ListView.builder( physics: new AlwaysScrollableScrollPhysics(), itemCount: this.viewModel.articleHistory.Count, itemBuilder: (cxt, index) => { var model = this.viewModel.articleHistory[index]; var child = new ArticleCard( model, () => this.actionModel.pushToArticleDetail(model.id), () => ReportManager.showReportView(this.viewModel.isLoggedIn, model.id, ReportType.article, this.actionModel.pushToLogin, this.actionModel.pushToReport, this.actionModel.pushToBlock ), model.fullName, new ObjectKey(model.id) ); return CustomDismissible.builder( Key.key(model.id), child, new CustomDismissibleDrawerDelegate(), secondaryActions: new List <Widget> { new GestureDetector( onTap: () => this.actionModel.deleteArticleHistory(model.id), child: new Container( color: CColors.Separator2, width: 80, alignment: Alignment.center, child: new Container( width: 44, height: 44, alignment: Alignment.center, decoration: new BoxDecoration( CColors.White, borderRadius: BorderRadius.circular(22) ), child: new Icon(Icons.delete_outline, size: 28, color: CColors.Error) ) ) ) }, controller: this._controller ); } ) )); }
private void New_Click(object sender, RoutedEventArgs e) { Article article1 = new Article(); ArticleCard article = new ArticleCard() { Margin = new Thickness(25) }; article.OpenArticleMouseClick += ArticleCard_OpenArticleMouseClick; article.DeleteArticleMouseClick += Add_DeleteArticleMouseClick; article.UpdateArticleMouseClick += Add_UpdateArticleMouseClick; var currentPage = ((MainWindow)Application.Current.MainWindow).CurrentPage.Content; if (currentPage == null || (currentPage != null && currentPage.GetType().Name == "AnonimPage")) { article.Add.Visibility = Visibility.Hidden; article.Tresh.Visibility = Visibility.Hidden; article.Pen.Visibility = Visibility.Hidden; article.Visibility = Visibility.Collapsed; } else if (currentPage == null || (currentPage != null && currentPage.GetType().Name == "UserPage")) { article.Add.Visibility = Visibility.Visible; article.Tresh.Visibility = Visibility.Collapsed; article.Pen.Visibility = Visibility.Collapsed; article.Visibility = Visibility.Collapsed; } else if (currentPage == null || (currentPage != null && currentPage.GetType().Name == "AdminPage")) { article.Add.Visibility = Visibility.Hidden; article.Tresh.Visibility = Visibility.Visible; article.Pen.Visibility = Visibility.Visible; article.Visibility = Visibility.Visible; } db.Articles.Add(article1); db.SaveChanges(); db.Articles.Load(); SearchResultList.ItemsSource = db.Articles.Local; }
public async Task <Page <DomainArticle> > MapArticleToPage(Article article) { var htmlRenderer = new HtmlRenderer(); var landingPage = await _contentService.GetEntry <LandingPage>(article.LandingPage.Sys.Id); var page = new Page <DomainArticle> { Slug = article.Slug, Title = article.Title, HubType = (HubType)Enum.Parse(typeof(HubType), article.HubType), MetaDescription = article.MetaDescription, PageTitle = article.PageTitle }; var domainArticle = new DomainArticle { LandingPageSlug = landingPage.Slug, LandingPageTitle = landingPage.Title, Sections = new List <DomainArticleSection>(), Summary = article.Summary }; foreach (var section in article.Sections) { await UpdateArticleSectionLookup(section.Sys.Id, article.Sys.Id); var articleSectionType = section.Sys.ContentType.SystemProperties.Id; if (articleSectionType == "articleTable") { var contentArticleSection = await _contentService.GetEntry <ArticleTable>(section.Sys.Id); if (contentArticleSection != null) { var tableHtml = GetTableHtml((JProperty)contentArticleSection.Table.First); var articleSection = new DomainArticleSection(); articleSection.Title = contentArticleSection.Title; articleSection.Body = new HtmlString(tableHtml); domainArticle.Sections.Add(articleSection); } } else { var contentArticleSection = await _contentService.GetEntry <ArticleSection>(section.Sys.Id); if (contentArticleSection != null) { var articleSection = new DomainArticleSection(); articleSection.Title = contentArticleSection.Title; articleSection.Slug = contentArticleSection.Slug; articleSection.Body = new HtmlString(htmlRenderer.ToHtml(contentArticleSection.Body).Result); domainArticle.Sections.Add(articleSection); } } } page.Content = domainArticle; var articleCard = new ArticleCard(); articleCard.HubType = page.HubType; articleCard.LandingPageSlug = domainArticle.LandingPageSlug; articleCard.LandingPageTitle = domainArticle.LandingPageTitle; articleCard.Summary = domainArticle.Summary; articleCard.Title = page.Title; articleCard.Slug = page.Slug; await _cacheService.Set($"articleCard_{article.Slug}", JsonConvert.SerializeObject(articleCard)); return(page); }