Browse Source

make the filter of favorites as a feature per blog

pull/21236/head
Suhaib 1 year ago
parent
commit
7619b57a6f
  1. 1
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json
  2. 1
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json
  3. 1
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/DefaultBlogFeatureProvider.cs
  4. 2
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Blogs/Index.cshtml
  5. 18
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Blogs/Index.cshtml.cs

1
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json

@ -15,6 +15,7 @@
"CmsKit.Ratings": "التقييمات",
"CmsKit.Reactions": "تفاعلات",
"CmsKit.Tags": "العلامات",
"CmsKit.MarkedItems": "العناصر المميزة",
"CmsKit:0002": "المحتوى موجود بالفعل!",
"CmsKit:0003": "الكيان {0} غير قابل للعلامة.",
"CmsKit:Blog:0001": "slug المحدد ({Slug}) موجود بالفعل!",

1
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json

@ -15,6 +15,7 @@
"CmsKit.Ratings": "Ratings",
"CmsKit.Reactions": "Reactions",
"CmsKit.Tags": "Tags",
"CmsKit.MarkedItems": "Marked Items",
"CmsKit:0002": "Content already exists!",
"CmsKit:0003": "The entity {0} is not taggable.",
"CmsKit:Blog:0001": "The given slug ({Slug}) already exists!",

1
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/DefaultBlogFeatureProvider.cs

@ -16,6 +16,7 @@ public class DefaultBlogFeatureProvider : IDefaultBlogFeatureProvider, ITransien
new BlogFeature(blogId, ReactionsFeature.Name),
new BlogFeature(blogId, RatingsFeature.Name),
new BlogFeature(blogId, TagsFeature.Name),
new BlogFeature(blogId, MarkedItemsFeature.Name),
new BlogFeature(blogId, BlogPostScrollIndexFeature.Name),
new BlogFeature(blogId, BlogConsts.PreventXssFeatureName)
});

2
modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Blogs/Index.cshtml

@ -14,7 +14,7 @@
@{
const string dummyImageSource = "/cms-kit/dummy-placeholder-320x180.png";
var isMarkedItemFeatureEnabled = GlobalFeatureManager.Instance.IsEnabled<MarkedItemsFeature>();
var isMarkedItemFeatureEnabled = GlobalFeatureManager.Instance.IsEnabled<MarkedItemsFeature>() && Model.MarkedItemsFeature?.IsEnabled == true;
}
@section styles {

18
modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Blogs/Index.cshtml.cs

@ -1,9 +1,13 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Application.Dtos;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Pagination;
using Volo.Abp.GlobalFeatures;
using Volo.CmsKit.Blogs;
using Volo.CmsKit.Contents;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Public.Blogs;
using Volo.CmsKit.Users;
@ -35,12 +39,17 @@ public class IndexModel : CmsKitPublicPageModelBase
public CmsUserDto SelectedAuthor { get; protected set; }
public string FilteredTagName { get; protected set; }
public BlogFeatureDto MarkedItemsFeature { get; private set; }
protected IBlogPostPublicAppService BlogPostPublicAppService { get; }
public IBlogFeatureAppService BlogFeatureAppService { get; }
public IndexModel(IBlogPostPublicAppService blogPostPublicAppService)
public IndexModel(
IBlogPostPublicAppService blogPostPublicAppService,
IBlogFeatureAppService blogFeatureAppService)
{
BlogPostPublicAppService = blogPostPublicAppService;
BlogFeatureAppService = blogFeatureAppService;
}
public virtual async Task<IActionResult> OnGetAsync()
@ -66,6 +75,13 @@ public class IndexModel : CmsKitPublicPageModelBase
FilteredTagName = await BlogPostPublicAppService.GetTagNameAsync(TagId.Value);
}
if (GlobalFeatureManager.Instance.IsEnabled<MarkedItemsFeature>() &&
Blogs.Items.Any())
{
var blogId = Blogs.Items.First().BlogId;
MarkedItemsFeature = await BlogFeatureAppService.GetOrDefaultAsync(blogId, GlobalFeatures.MarkedItemsFeature.Name);
}
return Page();
}
}

Loading…
Cancel
Save