Browse Source

Implemented ReactionPublicAppService.GetAvailableReactions

pull/4779/head
Halil İbrahim Kalkan 6 years ago
parent
commit
2c05b34c70
  1. 1
      modules/cms-kit/src/Volo.CmsKit.Common.Web/Icons/CmsIconTagHelper.cs
  2. 2
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetAvailableReactionsDto.cs
  3. 2
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/IReactionPublicAppService.cs
  4. 29
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Reactions/ReactionPublicAppService.cs
  5. 2
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/Default.cshtml
  6. 8
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewComponent.cs
  7. 2
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewModel.cs

1
modules/cms-kit/src/Volo.CmsKit.Common.Web/Icons/CmsIconTagHelper.cs

@ -11,6 +11,7 @@ namespace Volo.CmsKit.Web.Icons
public CmsIconTagHelper(CmsIconTagHelperService service)
: base(service)
{
}
}
}

2
modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetAvailableReactionsDto.cs

@ -3,7 +3,5 @@
public class GetAvailableReactionsDto
{
public string EntityType { get; set; }
public string EntityId { get; set; }
}
}

2
modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/IReactionPublicAppService.cs

@ -7,7 +7,7 @@ namespace Volo.CmsKit.Reactions
public interface IReactionPublicAppService : IApplicationService
{
Task<ListResultDto<ReactionDto>> GetAvailableReactions(
GetAvailableReactionsDto getAvailableReactionsDto
GetAvailableReactionsDto input
);
}
}

29
modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Reactions/ReactionPublicAppService.cs

@ -1,22 +1,31 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace Volo.CmsKit.Reactions
{
public class ReactionPublicAppService : CmsKitPublicAppService, IReactionPublicAppService
{
public Task<ListResultDto<ReactionDto>> GetAvailableReactions(
GetAvailableReactionsDto getAvailableReactionsDto)
protected IReactionDefinitionStore ReactionDefinitionStore { get; }
public ReactionPublicAppService(IReactionDefinitionStore reactionDefinitionStore)
{
ReactionDefinitionStore = reactionDefinitionStore;
}
public virtual async Task<ListResultDto<ReactionDto>> GetAvailableReactions(
GetAvailableReactionsDto input)
{
return Task.FromResult(
new ListResultDto<ReactionDto>(new List<ReactionDto>()
var reactionDefinitions = await ReactionDefinitionStore.GetAvailableReactionsAsync(input.EntityType, CurrentUser.Id);
var reactionDtos = reactionDefinitions
.Select(reactionDefinition => new ReactionDto
{
new ReactionDto {Name = StandardReactions.ThumbsUp},
new ReactionDto {Name = StandardReactions.Smile, DisplayName = "Smile :)"}
})
);
Name = reactionDefinition.Name,
DisplayName = reactionDefinition.DisplayName?.Localize(StringLocalizerFactory)
}).ToList();
return new ListResultDto<ReactionDto>(reactionDtos);
}
}
}

2
modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/Default.cshtml

@ -1,7 +1,5 @@
@model Volo.CmsKit.Web.Pages.CmsKit.Shared.Components.ReactionSelection.ReactionSelectionViewModel
<p>TEST!</p>
<p>EntityType: @Model.EntityType</p>
<p>EntityId: @Model.EntityId</p>
@foreach (var reaction in Model.Reactions)
{
<cms-icon name="@reaction.Icon" />

8
modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewComponent.cs

@ -10,6 +10,7 @@ namespace Volo.CmsKit.Web.Pages.CmsKit.Shared.Components.ReactionSelection
public class ReactionSelectionViewComponent : AbpViewComponent
{
protected IReactionPublicAppService ReactionPublicAppService { get; }
protected CmsKitUiOptions Options { get; }
public ReactionSelectionViewComponent(
@ -21,21 +22,18 @@ namespace Volo.CmsKit.Web.Pages.CmsKit.Shared.Components.ReactionSelection
}
public virtual async Task<IViewComponentResult> InvokeAsync(
string entityType = null,
string entityId = null)
string entityType = null)
{
var result = await ReactionPublicAppService.GetAvailableReactions(
new GetAvailableReactionsDto
{
EntityType = entityType,
EntityId = entityId
EntityType = entityType
}
);
var viewModel = new ReactionSelectionViewModel
{
EntityType = entityType,
EntityId = entityId,
Reactions = new List<ReactionViewModel>()
};

2
modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewModel.cs

@ -6,8 +6,6 @@ namespace Volo.CmsKit.Web.Pages.CmsKit.Shared.Components.ReactionSelection
{
public string EntityType { get; set; }
public string EntityId { get; set; }
public List<ReactionViewModel> Reactions { get; set; }
}
}

Loading…
Cancel
Save