Browse Source

Add TimeZonePageContributor

pull/16861/head
liangshiwei 3 years ago
parent
commit
ef18d9f50a
  1. 1
      modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/AbpSettingManagementBlazorModule.cs
  2. 13
      modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/EmailingPageContributor.cs
  3. 41
      modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/TimeZonePageContributor.cs

1
modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/AbpSettingManagementBlazorModule.cs

@ -41,6 +41,7 @@ public class AbpSettingManagementBlazorModule : AbpModule
Configure<SettingManagementComponentOptions>(options => Configure<SettingManagementComponentOptions>(options =>
{ {
options.Contributors.Add(new EmailingPageContributor()); options.Contributors.Add(new EmailingPageContributor());
options.Contributors.Add(new TimeZonePageContributor());
}); });
Configure<AbpLocalizationOptions>(options => Configure<AbpLocalizationOptions>(options =>

13
modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/EmailingPageContributor.cs

@ -5,9 +5,7 @@ using Microsoft.Extensions.Localization;
using Volo.Abp.Features; using Volo.Abp.Features;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
using Volo.Abp.SettingManagement.Blazor.Pages.SettingManagement.EmailSettingGroup; using Volo.Abp.SettingManagement.Blazor.Pages.SettingManagement.EmailSettingGroup;
using Volo.Abp.SettingManagement.Blazor.Pages.SettingManagement.TimeZoneSettingGroup;
using Volo.Abp.SettingManagement.Localization; using Volo.Abp.SettingManagement.Localization;
using Volo.Abp.Timing;
namespace Volo.Abp.SettingManagement.Blazor.Settings; namespace Volo.Abp.SettingManagement.Blazor.Settings;
@ -28,17 +26,6 @@ public class EmailingPageContributor : ISettingComponentContributor
typeof(EmailSettingGroupViewComponent) typeof(EmailSettingGroupViewComponent)
) )
); );
if (context.ServiceProvider.GetRequiredService<IClock>().SupportsMultipleTimezone)
{
context.Groups.Add(
new SettingComponentGroup(
"Volo.Abp.TimeZone",
l["Menu:TimeZone"],
typeof(TimeZoneSettingGroupViewComponent)
)
);
}
} }
public async Task<bool> CheckPermissionsAsync(SettingComponentCreationContext context) public async Task<bool> CheckPermissionsAsync(SettingComponentCreationContext context)

41
modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/TimeZonePageContributor.cs

@ -0,0 +1,41 @@
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Localization;
using Volo.Abp.Features;
using Volo.Abp.SettingManagement.Blazor.Pages.SettingManagement.TimeZoneSettingGroup;
using Volo.Abp.SettingManagement.Localization;
using Volo.Abp.Timing;
namespace Volo.Abp.SettingManagement.Blazor.Settings;
public class TimeZonePageContributor : ISettingComponentContributor
{
public async Task ConfigureAsync(SettingComponentCreationContext context)
{
await CheckFeatureAsync(context);
var l = context.ServiceProvider.GetRequiredService<IStringLocalizer<AbpSettingManagementResource>>();
if (context.ServiceProvider.GetRequiredService<IClock>().SupportsMultipleTimezone)
{
context.Groups.Add(
new SettingComponentGroup(
"Volo.Abp.TimeZone",
l["Menu:TimeZone"],
typeof(TimeZoneSettingGroupViewComponent)
)
);
}
}
public Task<bool> CheckPermissionsAsync(SettingComponentCreationContext context)
{
return Task.FromResult(true);
}
private async Task<bool> CheckFeatureAsync(SettingComponentCreationContext context)
{
var featureCheck = context.ServiceProvider.GetRequiredService<IFeatureChecker>();
return await featureCheck.IsEnabledAsync(SettingManagementFeatures.EnableTimeZone);
}
}
Loading…
Cancel
Save