Skip to content

Commit

Permalink
Merge pull request #18782 from abpframework/cmskit-menuitem-page-rela…
Browse files Browse the repository at this point in the history
…tion

CMSKit - MenuItem & Page relation enhancements
  • Loading branch information
realLiangshiwei committed Jan 23, 2024
2 parents b7a9942 + 2184b53 commit e1585d5
Show file tree
Hide file tree
Showing 24 changed files with 1,791 additions and 1,646 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public interface IMenuItemAdminAppService : IApplicationService
{
Task<ListResultDto<MenuItemDto>> GetListAsync();

Task<MenuItemDto> GetAsync(Guid id);
Task<MenuItemWithDetailsDto> GetAsync(Guid id);

Task<MenuItemDto> CreateAsync(MenuItemCreateInput input);

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
using System;
using Volo.CmsKit.Menus;

namespace Volo.CmsKit.Admin.Menus;

[Serializable]
public class MenuItemWithDetailsDto : MenuItemDto
{
public string? PageTitle { get; set; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,8 @@ public CmsKitAdminApplicationAutoMapperProfile()
CreateMap<MediaDescriptor, MediaDescriptorDto>().MapExtraProperties();

CreateMap<MenuItem, MenuItemDto>().MapExtraProperties();
CreateMap<MenuItem, MenuItemWithDetailsDto>()
.Ignore(x => x.PageTitle)
.MapExtraProperties();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,17 @@ public virtual async Task<ListResultDto<MenuItemDto>> GetListAsync()
);
}

public virtual async Task<MenuItemDto> GetAsync(Guid id)
public virtual async Task<MenuItemWithDetailsDto> GetAsync(Guid id)
{
var menu = await MenuItemRepository.GetAsync(id);
return ObjectMapper.Map<MenuItem, MenuItemDto>(menu);
var menuItem = await MenuItemRepository.GetAsync(id);
var dto = ObjectMapper.Map<MenuItem, MenuItemWithDetailsDto>(menuItem);

if (menuItem.PageId.HasValue)
{
dto.PageTitle = await PageRepository.FindTitleAsync(menuItem.PageId.Value);
}

return dto;
}

[Authorize(CmsKitAdminPermissions.Menus.Create)]
Expand Down Expand Up @@ -87,7 +94,7 @@ public virtual async Task<MenuItemDto> UpdateAsync(Guid id, MenuItemUpdateInput
}
else
{
menuItem.SetUrl(input.Url);
MenuManager.SetPageUrl(menuItem, input.Url);
}

menuItem.SetDisplayName(input.DisplayName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ public virtual async Task<ListResultDto<MenuItemDto>> GetListAsync()
return await RequestAsync<ListResultDto<MenuItemDto>>(nameof(GetListAsync));
}

public virtual async Task<MenuItemDto> GetAsync(Guid id)
public virtual async Task<MenuItemWithDetailsDto> GetAsync(Guid id)
{
return await RequestAsync<MenuItemDto>(nameof(GetAsync), new ClientProxyRequestTypeValue
return await RequestAsync<MenuItemWithDetailsDto>(nameof(GetAsync), new ClientProxyRequestTypeValue
{
{ typeof(Guid), id }
});
Expand Down

0 comments on commit e1585d5

Please sign in to comment.