| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using System.Collections.Generic;
- using Abp.Configuration.Startup;
- using Abp.Dependency;
- using Abp.Localization;
- namespace Abp.Application.Navigation
- {
- internal class NavigationManager : INavigationManager, ISingletonDependency
- {
- public IDictionary<string, MenuDefinition> Menus { get; private set; }
- public MenuDefinition MainMenu
- {
- get { return Menus["MainMenu"]; }
- }
- private readonly IIocResolver _iocResolver;
- private readonly INavigationConfiguration _configuration;
- public NavigationManager(IIocResolver iocResolver, INavigationConfiguration configuration)
- {
- _iocResolver = iocResolver;
- _configuration = configuration;
- Menus = new Dictionary<string, MenuDefinition>
- {
- {"MainMenu", new MenuDefinition("MainMenu", new LocalizableString("MainMenu", AbpConsts.LocalizationSourceName))}
- };
- }
- public void Initialize()
- {
- var context = new NavigationProviderContext(this);
- foreach (var providerType in _configuration.Providers)
- {
- using (var provider = _iocResolver.ResolveAsDisposable<NavigationProvider>(providerType))
- {
- provider.Object.SetNavigation(context);
- }
- }
- }
- }
- }
|