diff --git a/sample/MyAbpApp/src/MyAbpApp.Domain.Shared/Localization/MyAbpApp/en.json b/sample/MyAbpApp/src/MyAbpApp.Domain.Shared/Localization/MyAbpApp/en.json index 27063a7..7e9975a 100644 --- a/sample/MyAbpApp/src/MyAbpApp.Domain.Shared/Localization/MyAbpApp/en.json +++ b/sample/MyAbpApp/src/MyAbpApp.Domain.Shared/Localization/MyAbpApp/en.json @@ -1,4 +1,4 @@ -{ +{ "culture": "en", "texts": { "Menu:Home": "Home", @@ -18,7 +18,8 @@ "DisplayName:ASettings.Setting2": "Setting 2", "DisplayName:ASettings.Setting3": "Setting 3", "DisplayName:BSettings.Setting1": "Setting 1", - + "DisplayName:BSettings.Setting2": "Setting 2", + "Description:Connection.Ip": "The IP address of the server.", "Description:Connection.Port": "The Port number of the server.", "Description:Connection.Protocol": "The protocol of the connection.", @@ -27,7 +28,7 @@ "Permission:SettingUi.System.Password": "Show 'Password' Settings", "Permission:SettingUi.System.Password.RequiredLength": "Show 'RequiredLength' Setting", "Permission:SettingUi.System.Password.RequiredUniqueChars": "Show 'RequiredUniqueChars' Setting", - + "Permission:SettingUi.SettingExample": "Show 'SettingExample' Settings", "Permission:SettingUi.SettingExample.ASettings": "Show 'A' Settings", "Permission:SettingUi.SettingExample.ASettings.Setting1": "Show `Setting1' Setting", diff --git a/sample/MyAbpApp/src/MyAbpApp.Domain.Shared/Localization/MyAbpApp/zh-Hans.json b/sample/MyAbpApp/src/MyAbpApp.Domain.Shared/Localization/MyAbpApp/zh-Hans.json index 06225aa..6d16731 100644 --- a/sample/MyAbpApp/src/MyAbpApp.Domain.Shared/Localization/MyAbpApp/zh-Hans.json +++ b/sample/MyAbpApp/src/MyAbpApp.Domain.Shared/Localization/MyAbpApp/zh-Hans.json @@ -1,36 +1,37 @@ -{ +{ "culture": "zh-Hans", - "texts": { - "Menu:Home": "首页", - "Welcome": "欢迎", - "LongWelcomeMessage": "欢迎来到该应用程序. 这是一个基于ABP框架的启动项目. 有关更多信息, 请访问 abp.io.", + "texts": { + "Menu:Home": "首页", + "Welcome": "欢迎", + "LongWelcomeMessage": "欢迎来到该应用程序. 这是一个基于ABP框架的启动项目. 有关更多信息, 请访问 abp.io.", - "Server": "服务器", - "Connection": "连接", - "SettingExample": "设置示例", - "ASettings": "A", - "BSettings": "B", + "Server": "服务器", + "Connection": "连接", + "SettingExample": "设置示例", + "ASettings": "A", + "BSettings": "B", - "DisplayName:Connection.Ip": "IP", - "DisplayName:Connection.Port": "端口", - "DisplayName:Connection.Protocol": "协议", - "DisplayName:ASettings.Setting1": "设置1", - "DisplayName:ASettings.Setting2": "设置2", - "DisplayName:ASettings.Setting3": "设置3", - "DisplayName:BSettings.Setting1": "设置1", - - "Description:Connection.Ip": "服务器的IP地址.", - "Description:Connection.Port": "服务器的端口号.", - "Description:Connection.Protocol": "连接的协议.", + "DisplayName:Connection.Ip": "IP", + "DisplayName:Connection.Port": "端口", + "DisplayName:Connection.Protocol": "协议", + "DisplayName:ASettings.Setting1": "设置1", + "DisplayName:ASettings.Setting2": "设置2", + "DisplayName:ASettings.Setting3": "设置3", + "DisplayName:BSettings.Setting1": "设置1", + "DisplayName:BSettings.Setting2": "设置2", - "Permission:SettingUi.System": "显示'系统'设置", - "Permission:SettingUi.System.Password": "显示'密码'设置", - "Permission:SettingUi.System.Password.RequiredLength": "显示'要求长度'设置", - "Permission:SettingUi.System.Password.RequiredUniqueChars": "显示'要求唯一字符数量'设置", + "Description:Connection.Ip": "服务器的IP地址.", + "Description:Connection.Port": "服务器的端口号.", + "Description:Connection.Protocol": "连接的协议.", - "Permission:SettingUi.SettingExample": "显示'设置示例'设置", - "Permission:SettingUi.SettingExample.ASettings": "显示'A'设置", - "Permission:SettingUi.SettingExample.ASettings.Setting1": "显示'设置1'设置", - "Permission:SettingUi.SettingExample.BSettings": "显示'B'设置" - } + "Permission:SettingUi.System": "显示'系统'设置", + "Permission:SettingUi.System.Password": "显示'密码'设置", + "Permission:SettingUi.System.Password.RequiredLength": "显示'要求长度'设置", + "Permission:SettingUi.System.Password.RequiredUniqueChars": "显示'要求唯一字符数量'设置", + + "Permission:SettingUi.SettingExample": "显示'设置示例'设置", + "Permission:SettingUi.SettingExample.ASettings": "显示'A'设置", + "Permission:SettingUi.SettingExample.ASettings.Setting1": "显示'设置1'设置", + "Permission:SettingUi.SettingExample.BSettings": "显示'B'设置" + } } \ No newline at end of file diff --git a/sample/MyAbpApp/src/MyAbpApp.Domain/Settings/MyAbpAppSettingDefinitionProvider.cs b/sample/MyAbpApp/src/MyAbpApp.Domain/Settings/MyAbpAppSettingDefinitionProvider.cs index ba18287..58900b0 100644 --- a/sample/MyAbpApp/src/MyAbpApp.Domain/Settings/MyAbpAppSettingDefinitionProvider.cs +++ b/sample/MyAbpApp/src/MyAbpApp.Domain/Settings/MyAbpAppSettingDefinitionProvider.cs @@ -15,7 +15,8 @@ public override void Define(ISettingDefinitionContext context) "Connection.Ip", "127.0.0.1", L("DisplayName:Connection.Ip"), - L("Description:Connection.Ip")) + L("Description:Connection.Ip"), + true) .WithProperty("Group1", "Server") .WithProperty("Group2", "Connection"), @@ -24,7 +25,8 @@ public override void Define(ISettingDefinitionContext context) "Connection.Port", 8080.ToString(), L("DisplayName:Connection.Port"), - L("Description:Connection.Port") + L("Description:Connection.Port"), + true ), // If a setting's DisplayName and Description are not defined, we can still localize it by using our own localization resources. @@ -35,28 +37,38 @@ public override void Define(ISettingDefinitionContext context) context.Add( new SettingDefinition( MyAbpAppSettings.SettingExample.ASettings.Setting1, - "setting 1 value") + "setting 1 value", + isVisibleToClients: true) .WithProperty(SettingUiConst.Group1, MyAbpAppSettings.SettingExample.Default) .WithProperty(SettingUiConst.Group2, MyAbpAppSettings.SettingExample.ASettings.GroupName), new SettingDefinition( MyAbpAppSettings.SettingExample.ASettings.Setting2, - "500") + "500", + isVisibleToClients: true) .WithProperty(SettingUiConst.Group1, MyAbpAppSettings.SettingExample.Default) .WithProperty(SettingUiConst.Group2, MyAbpAppSettings.SettingExample.ASettings.GroupName) .WithProperty(SettingUiConst.Type, "number"), new SettingDefinition( MyAbpAppSettings.SettingExample.ASettings.Setting3, - "true") + "true", + isVisibleToClients: true) .WithProperty(SettingUiConst.Group1, MyAbpAppSettings.SettingExample.Default) .WithProperty(SettingUiConst.Group2, MyAbpAppSettings.SettingExample.ASettings.GroupName) .WithProperty(SettingUiConst.Type, "checkbox"), new SettingDefinition( MyAbpAppSettings.SettingExample.BSettings.Setting1, - "setting 1 value") + "setting 1 value", + isVisibleToClients: true) .WithProperty(SettingUiConst.Group1, MyAbpAppSettings.SettingExample.Default) - .WithProperty(SettingUiConst.Group2, MyAbpAppSettings.SettingExample.BSettings.GroupName) - ); + .WithProperty(SettingUiConst.Group2, MyAbpAppSettings.SettingExample.BSettings.GroupName), + //this setting is not visible to clients + new SettingDefinition( + MyAbpAppSettings.SettingExample.BSettings.Setting2, + "setting 2 value") + .WithProperty(SettingUiConst.Group1, MyAbpAppSettings.SettingExample.Default) + .WithProperty(SettingUiConst.Group2, MyAbpAppSettings.SettingExample.BSettings.GroupName) + ); } private static LocalizableString L(string name) diff --git a/sample/MyAbpApp/src/MyAbpApp.Domain/Settings/MyAbpAppSettings.cs b/sample/MyAbpApp/src/MyAbpApp.Domain/Settings/MyAbpAppSettings.cs index 8eb1345..315b1b5 100644 --- a/sample/MyAbpApp/src/MyAbpApp.Domain/Settings/MyAbpAppSettings.cs +++ b/sample/MyAbpApp/src/MyAbpApp.Domain/Settings/MyAbpAppSettings.cs @@ -26,7 +26,8 @@ public static class BSettings public const string GroupName = "BSettings"; public const string Setting1 = GroupName + ".Setting1"; - } + public const string Setting2 = GroupName + ".Setting2"; + } } } } \ No newline at end of file diff --git a/src/EasyAbp.Abp.SettingUi.Application/SettingUiAppService.cs b/src/EasyAbp.Abp.SettingUi.Application/SettingUiAppService.cs index 604445a..838956b 100644 --- a/src/EasyAbp.Abp.SettingUi.Application/SettingUiAppService.cs +++ b/src/EasyAbp.Abp.SettingUi.Application/SettingUiAppService.cs @@ -209,6 +209,11 @@ protected virtual async Task> SetSettingDefinitionPropertiesAs var settingDefinitions = await _settingDefinitionManager.GetAllAsync(); foreach (var settingDefinition in settingDefinitions) { + if (!settingDefinition.IsVisibleToClients) + { + continue; + } + var si = await CreateSettingInfoAsync(settingDefinition); var definedPermission = permissionDefinitions.FirstOrDefault(p => p.Name.EndsWith(si.Name));