|
|
@ -4,6 +4,10 @@ using System.Threading.Tasks; |
|
|
using Volo.Abp.DependencyInjection; |
|
|
using Volo.Abp.DependencyInjection; |
|
|
using Volo.Abp.Domain.Entities.Events; |
|
|
using Volo.Abp.Domain.Entities.Events; |
|
|
using Volo.Abp.EventBus; |
|
|
using Volo.Abp.EventBus; |
|
|
|
|
|
using Volo.Abp.Features; |
|
|
|
|
|
using Volo.Abp.GlobalFeatures; |
|
|
|
|
|
using Volo.CmsKit.Features; |
|
|
|
|
|
using Volo.CmsKit.GlobalFeatures; |
|
|
using Volo.CmsKit.Pages; |
|
|
using Volo.CmsKit.Pages; |
|
|
|
|
|
|
|
|
namespace Volo.CmsKit.Menus; |
|
|
namespace Volo.CmsKit.Menus; |
|
|
@ -12,19 +16,32 @@ public class PageChangedHandler : |
|
|
ILocalEventHandler<EntityUpdatedEventData<Page>>, |
|
|
ILocalEventHandler<EntityUpdatedEventData<Page>>, |
|
|
ITransientDependency |
|
|
ITransientDependency |
|
|
{ |
|
|
{ |
|
|
|
|
|
protected IFeatureChecker FeatureChecker { get; set; } |
|
|
protected IMenuItemRepository MenuRepository { get; } |
|
|
protected IMenuItemRepository MenuRepository { get; } |
|
|
protected MenuItemManager MenuManager { get; } |
|
|
protected MenuItemManager MenuManager { get; } |
|
|
|
|
|
|
|
|
public PageChangedHandler( |
|
|
public PageChangedHandler( |
|
|
|
|
|
IFeatureChecker featureChecker, |
|
|
IMenuItemRepository menuRepository, |
|
|
IMenuItemRepository menuRepository, |
|
|
MenuItemManager menuManager) |
|
|
MenuItemManager menuManager) |
|
|
{ |
|
|
{ |
|
|
|
|
|
FeatureChecker = featureChecker; |
|
|
MenuRepository = menuRepository; |
|
|
MenuRepository = menuRepository; |
|
|
MenuManager = menuManager; |
|
|
MenuManager = menuManager; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public async Task HandleEventAsync(EntityUpdatedEventData<Page> eventData) |
|
|
public async Task HandleEventAsync(EntityUpdatedEventData<Page> eventData) |
|
|
{ |
|
|
{ |
|
|
|
|
|
if(!GlobalFeatureManager.Instance.IsEnabled<MenuFeature>()) |
|
|
|
|
|
{ |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if(!await FeatureChecker.IsEnabledAsync(CmsKitFeatures.MenuEnable)) |
|
|
|
|
|
{ |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// TODO: Write a repository query.
|
|
|
// TODO: Write a repository query.
|
|
|
var allMenuItems = await MenuRepository.GetListAsync(); |
|
|
var allMenuItems = await MenuRepository.GetListAsync(); |
|
|
|
|
|
|
|
|
|