From ce677a6cfbdf3baf693d877cc2ef97c2a77a37df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 15 Jul 2020 22:53:58 +0300 Subject: [PATCH] Created reaction related controllers --- .../CmsKitAdminApplicationContractsModule.cs | 2 +- .../CmsKit/CmsKitPublicRemoteServiceConsts.cs | 7 +++ ...CmsKitAdminPermissionDefinitionProvider.cs | 2 +- .../Permissions/CmsKitAdminPermissions.cs | 2 +- .../CmsKit/CmsKitAdminApplicationModule.cs | 1 - .../CmsKit/CmsKitAdminHttpApiClientModule.cs | 5 +- .../Volo/CmsKit/CmsKitAdminHttpApiModule.cs | 1 - .../CmsKitApplicationContractsModule.cs | 1 - .../Icons/CmsIconTagHelper.cs | 19 ------ .../Icons/CmsIconTagHelperService.cs | 35 ----------- .../CmsKit/CmsKitPublicRemoteServiceConsts.cs | 7 +++ .../CmsKit/Reactions/CreateReactionDto.cs | 11 ++++ .../CmsKit/Reactions/DeleteReactionDto.cs | 11 ++++ ...electionInput.cs => GetForSelectionDto.cs} | 2 +- .../Reactions/IReactionPublicAppService.cs | 10 ++-- .../Reactions/ReactionPublicAppService.cs | 28 +++++++-- .../CmsKit/CmsKitPublicHttpApiClientModule.cs | 4 +- .../Reactions/ReactionPublicController.cs | 60 +++++++++++++++++++ .../ReactionSelection/Default.cshtml | 9 ++- .../ReactionSelectionViewComponent.cs | 2 +- .../Components/ReactionSelection/default.js | 6 ++ 21 files changed, 145 insertions(+), 80 deletions(-) rename modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/{Admin => }/CmsKitAdminApplicationContractsModule.cs (87%) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/CmsKitPublicRemoteServiceConsts.cs rename modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/{Admin => }/Permissions/CmsKitAdminPermissionDefinitionProvider.cs (93%) rename modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/{Admin => }/Permissions/CmsKitAdminPermissions.cs (88%) delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Common.Web/Icons/CmsIconTagHelper.cs delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Common.Web/Icons/CmsIconTagHelperService.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/CmsKitPublicRemoteServiceConsts.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/CreateReactionDto.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/DeleteReactionDto.cs rename modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/{GetForSelectionInput.cs => GetForSelectionDto.cs} (78%) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Reactions/ReactionPublicController.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/CmsKitAdminApplicationContractsModule.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/CmsKitAdminApplicationContractsModule.cs similarity index 87% rename from modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/CmsKitAdminApplicationContractsModule.cs rename to modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/CmsKitAdminApplicationContractsModule.cs index 13c053c756..3347e66f18 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/CmsKitAdminApplicationContractsModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/CmsKitAdminApplicationContractsModule.cs @@ -1,6 +1,6 @@ using Volo.Abp.Modularity; -namespace Volo.CmsKit.Admin +namespace Volo.CmsKit { [DependsOn( typeof(CmsKitCommonApplicationContractsModule) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/CmsKitPublicRemoteServiceConsts.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/CmsKitPublicRemoteServiceConsts.cs new file mode 100644 index 0000000000..372430fb8c --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/CmsKitPublicRemoteServiceConsts.cs @@ -0,0 +1,7 @@ +namespace Volo.CmsKit +{ + public class CmsKitAdminRemoteServiceConsts + { + public const string RemoteServiceName = "CmsKitAdmin"; + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Permissions/CmsKitAdminPermissionDefinitionProvider.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissionDefinitionProvider.cs similarity index 93% rename from modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Permissions/CmsKitAdminPermissionDefinitionProvider.cs rename to modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissionDefinitionProvider.cs index 61c9f990d4..6c997d4860 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Permissions/CmsKitAdminPermissionDefinitionProvider.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissionDefinitionProvider.cs @@ -2,7 +2,7 @@ using Volo.Abp.Localization; using Volo.CmsKit.Localization; -namespace Volo.CmsKit.Admin.Permissions +namespace Volo.CmsKit.Permissions { public class CmsKitAdminPermissionDefinitionProvider : PermissionDefinitionProvider { diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Permissions/CmsKitAdminPermissions.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissions.cs similarity index 88% rename from modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Permissions/CmsKitAdminPermissions.cs rename to modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissions.cs index 10e3a4e1d8..c97829fecb 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Permissions/CmsKitAdminPermissions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissions.cs @@ -1,6 +1,6 @@ using Volo.Abp.Reflection; -namespace Volo.CmsKit.Admin.Permissions +namespace Volo.CmsKit.Permissions { public class CmsKitAdminPermissions { diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/CmsKitAdminApplicationModule.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/CmsKitAdminApplicationModule.cs index 5d78c939d2..e995d733fd 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/CmsKitAdminApplicationModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/CmsKitAdminApplicationModule.cs @@ -2,7 +2,6 @@ using Volo.Abp.Application; using Volo.Abp.AutoMapper; using Volo.Abp.Modularity; -using Volo.CmsKit.Admin; namespace Volo.CmsKit { diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/Volo/CmsKit/CmsKitAdminHttpApiClientModule.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/Volo/CmsKit/CmsKitAdminHttpApiClientModule.cs index 274476fdcc..c0772a8b18 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/Volo/CmsKit/CmsKitAdminHttpApiClientModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/Volo/CmsKit/CmsKitAdminHttpApiClientModule.cs @@ -1,7 +1,6 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.Http.Client; using Volo.Abp.Modularity; -using Volo.CmsKit.Admin; namespace Volo.CmsKit { @@ -10,13 +9,11 @@ namespace Volo.CmsKit typeof(CmsKitCommonHttpApiClientModule))] public class CmsKitAdminHttpApiClientModule : AbpModule { - public const string RemoteServiceName = "CmsKitAdmin"; - public override void ConfigureServices(ServiceConfigurationContext context) { context.Services.AddHttpClientProxies( typeof(CmsKitAdminApplicationContractsModule).Assembly, - RemoteServiceName + CmsKitAdminRemoteServiceConsts.RemoteServiceName ); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/CmsKitAdminHttpApiModule.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/CmsKitAdminHttpApiModule.cs index cc093630fc..3f570321e1 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/CmsKitAdminHttpApiModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/CmsKitAdminHttpApiModule.cs @@ -1,6 +1,5 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.Modularity; -using Volo.CmsKit.Admin; namespace Volo.CmsKit { diff --git a/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/CmsKitApplicationContractsModule.cs b/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/CmsKitApplicationContractsModule.cs index 02ce83a237..3f8744542c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/CmsKitApplicationContractsModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/CmsKitApplicationContractsModule.cs @@ -1,5 +1,4 @@ using Volo.Abp.Modularity; -using Volo.CmsKit.Admin; namespace Volo.CmsKit { diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Icons/CmsIconTagHelper.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Icons/CmsIconTagHelper.cs deleted file mode 100644 index ce90cd83fb..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Icons/CmsIconTagHelper.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Microsoft.AspNetCore.Razor.TagHelpers; -using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers; - -namespace Volo.CmsKit.Web.Icons -{ - [HtmlTargetElement("cms-icon",TagStructure = TagStructure.WithoutEndTag)] - public class CmsIconTagHelper : AbpTagHelper - { - public string Name { get; set; } - - public bool Highlight { get; set; } - - public CmsIconTagHelper(CmsIconTagHelperService service) - : base(service) - { - - } - } -} diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Icons/CmsIconTagHelperService.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Icons/CmsIconTagHelperService.cs deleted file mode 100644 index 6cef46572a..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Icons/CmsIconTagHelperService.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Text.Encodings.Web; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc.TagHelpers; -using Microsoft.AspNetCore.Razor.TagHelpers; -using Volo.Abp; -using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers; - -namespace Volo.CmsKit.Web.Icons -{ - public class CmsIconTagHelperService : AbpTagHelperService - { - public override Task ProcessAsync(TagHelperContext context, TagHelperOutput output) - { - if (TagHelper.Name.Contains(".")) - { - output.TagName = "img"; - output.Attributes.Add("src", TagHelper.Name); - output.Attributes.Add("width", "20"); - output.Attributes.Add("height", "20"); - } - else - { - //TODO: Allow to font, svg icons.. etc. - throw new AbpException("Only file icons are allowed!"); - } - - if (TagHelper.Highlight) - { - output.AddClass("cms-icon-highlighted", HtmlEncoder.Default); - } - - return Task.CompletedTask; - } - } -} diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/CmsKitPublicRemoteServiceConsts.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/CmsKitPublicRemoteServiceConsts.cs new file mode 100644 index 0000000000..d19348495f --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/CmsKitPublicRemoteServiceConsts.cs @@ -0,0 +1,7 @@ +namespace Volo.CmsKit +{ + public class CmsKitPublicRemoteServiceConsts + { + public const string RemoteServiceName = "CmsKitPublic"; + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/CreateReactionDto.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/CreateReactionDto.cs new file mode 100644 index 0000000000..c91b6f51ed --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/CreateReactionDto.cs @@ -0,0 +1,11 @@ +namespace Volo.CmsKit.Reactions +{ + public class CreateReactionDto + { + public string EntityType { get; set; } + + public string EntityId { get; set; } + + public string ReactionName { get; set; } + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/DeleteReactionDto.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/DeleteReactionDto.cs new file mode 100644 index 0000000000..f7c2e5a933 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/DeleteReactionDto.cs @@ -0,0 +1,11 @@ +namespace Volo.CmsKit.Reactions +{ + public class DeleteReactionDto + { + public string EntityType { get; set; } + + public string EntityId { get; set; } + + public string ReactionName { get; set; } + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetForSelectionInput.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetForSelectionDto.cs similarity index 78% rename from modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetForSelectionInput.cs rename to modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetForSelectionDto.cs index 3a99ff6bcb..51a4d101ad 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetForSelectionInput.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetForSelectionDto.cs @@ -1,6 +1,6 @@ namespace Volo.CmsKit.Reactions { - public class GetForSelectionInput + public class GetForSelectionDto { public string EntityType { get; set; } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/IReactionPublicAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/IReactionPublicAppService.cs index 2ef00a7ce7..bf184c3c4f 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/IReactionPublicAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/IReactionPublicAppService.cs @@ -1,6 +1,4 @@ -using System.Collections.Generic; -using System.Threading.Tasks; -using JetBrains.Annotations; +using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; @@ -20,6 +18,10 @@ namespace Volo.CmsKit.Reactions GetMyReactionsDto input ); - Task> GetForSelectionAsync(GetForSelectionInput input); + Task> GetForSelectionAsync(GetForSelectionDto input); + + Task CreateAsync(CreateReactionDto input); + + Task DeleteAsync(DeleteReactionDto input); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Reactions/ReactionPublicAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Reactions/ReactionPublicAppService.cs index 86b5822cf5..f5cdae199d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Reactions/ReactionPublicAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Reactions/ReactionPublicAppService.cs @@ -1,8 +1,6 @@ using System.Collections.Generic; -using System.Collections.Immutable; using System.Linq; using System.Threading.Tasks; -using System.Xml.Schema; using Volo.Abp.Application.Dtos; using Volo.Abp.Users; @@ -42,7 +40,7 @@ namespace Volo.CmsKit.Reactions return new ListResultDto(reactionDtos); } - public async Task> GetReactionSummariesAsync(GetReactionSummariesDto input) + public virtual async Task> GetReactionSummariesAsync(GetReactionSummariesDto input) { var summaries = await ReactionManager.GetSummariesAsync(input.EntityType, input.EntityId); @@ -57,7 +55,7 @@ namespace Volo.CmsKit.Reactions return new ListResultDto(summaryDtos); } - public async Task> GetMyReactions(GetMyReactionsDto input) + public virtual async Task> GetMyReactions(GetMyReactionsDto input) { var userReactions = await ReactionManager.GetUserReactionsAsync( CurrentUser.GetId(), @@ -72,7 +70,7 @@ namespace Volo.CmsKit.Reactions return new ListResultDto(reactionDtos); } - public async Task> GetForSelectionAsync(GetForSelectionInput input) + public virtual async Task> GetForSelectionAsync(GetForSelectionDto input) { var reactionDefinitions = await ReactionManager .GetAvailableReactionsAsync( @@ -105,6 +103,26 @@ namespace Volo.CmsKit.Reactions return new ListResultDto(reactionDtos); } + public virtual async Task CreateAsync(CreateReactionDto input) + { + await ReactionManager.CreateAsync( + CurrentUser.GetId(), + input.EntityType, + input.EntityId, + input.ReactionName + ); + } + + public virtual async Task DeleteAsync(DeleteReactionDto input) + { + await ReactionManager.DeleteAsync( + CurrentUser.GetId(), + input.EntityType, + input.EntityId, + input.ReactionName + ); + } + private ReactionDto ConvertToReactionDto(ReactionDefinition reactionDefinition) { return new ReactionDto diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi.Client/Volo/CmsKit/CmsKitPublicHttpApiClientModule.cs b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi.Client/Volo/CmsKit/CmsKitPublicHttpApiClientModule.cs index e66e841271..57cc7f6972 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi.Client/Volo/CmsKit/CmsKitPublicHttpApiClientModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi.Client/Volo/CmsKit/CmsKitPublicHttpApiClientModule.cs @@ -8,13 +8,11 @@ namespace Volo.CmsKit typeof(CmsKitCommonHttpApiClientModule))] public class CmsKitPublicHttpApiClientModule : AbpModule { - public const string RemoteServiceName = "CmsKitPublic"; - public override void ConfigureServices(ServiceConfigurationContext context) { context.Services.AddHttpClientProxies( typeof(CmsKitPublicApplicationContractsModule).Assembly, - RemoteServiceName + CmsKitPublicRemoteServiceConsts.RemoteServiceName ); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Reactions/ReactionPublicController.cs b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Reactions/ReactionPublicController.cs new file mode 100644 index 0000000000..4deb3796a3 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Reactions/ReactionPublicController.cs @@ -0,0 +1,60 @@ +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp; +using Volo.Abp.Application.Dtos; + +namespace Volo.CmsKit.Reactions +{ + [RemoteService(Name = CmsKitPublicRemoteServiceConsts.RemoteServiceName)] + [Area("cms-kit")] + [Route("api/cms-kit-public/reactions")] + public class ReactionPublicController : CmsKitPublicController, IReactionPublicAppService + { + protected IReactionPublicAppService ReactionPublicAppService { get; } + + public ReactionPublicController(IReactionPublicAppService reactionPublicAppService) + { + ReactionPublicAppService = reactionPublicAppService; + } + + [HttpGet] + [Route("available")] + public virtual Task> GetAvailableReactions(GetAvailableReactionsDto input) + { + return ReactionPublicAppService.GetAvailableReactions(input); + } + + [HttpGet] + [Route("summaries")] + public virtual Task> GetReactionSummariesAsync(GetReactionSummariesDto input) + { + return ReactionPublicAppService.GetReactionSummariesAsync(input); + } + + [HttpGet] + [Route("my")] + public virtual Task> GetMyReactions(GetMyReactionsDto input) + { + return ReactionPublicAppService.GetMyReactions(input); + } + + [HttpGet] + [Route("selection")] //TODO: Consider to rename! + public virtual Task> GetForSelectionAsync(GetForSelectionDto input) + { + return ReactionPublicAppService.GetForSelectionAsync(input); + } + + [HttpPut] + public virtual Task CreateAsync(CreateReactionDto input) + { + return ReactionPublicAppService.CreateAsync(input); + } + + [HttpDelete] + public virtual Task DeleteAsync(DeleteReactionDto input) + { + return ReactionPublicAppService.DeleteAsync(input); + } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/Default.cshtml b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/Default.cshtml index 5bed27e2ad..95a925e9f3 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/Default.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/Default.cshtml @@ -4,14 +4,19 @@ Pick a reaction: @foreach (var reaction in Model.Reactions) { - + + + }
Current reactions: @foreach (var reaction in Model.Reactions.Where(r => r.Count > 0)) { - @reaction.Count + + + @reaction.Count + }
diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewComponent.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewComponent.cs index e5b9fdd9cf..d4cfebe801 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewComponent.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewComponent.cs @@ -30,7 +30,7 @@ namespace Volo.CmsKit.Web.Pages.CmsKit.Shared.Components.ReactionSelection string entityId) { var result = await ReactionPublicAppService.GetForSelectionAsync( - new GetForSelectionInput + new GetForSelectionDto { EntityType = entityType, EntityId = entityId diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/default.js b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/default.js index 95059983e1..8f57b5e082 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/default.js +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/default.js @@ -5,6 +5,12 @@ var $this = $(this); var $availableReactions = $this.find('.cms-reaction-selection-available-reactions'); + $availableReactions.find('.cms-reaction-icon').each(function(){ + var $icon = $(this); + $icon.click(function(){ + + }); + }); } $('.cms-reaction-selection').each(initReactionSelection)