From 476ae4bd11808e273197188a194d00c929852ef3 Mon Sep 17 00:00:00 2001 From: Ilkay Ilknur Date: Tue, 10 Nov 2020 15:40:53 +0300 Subject: [PATCH] ExtensionPropertyLookupConfiguration added. --- .../ObjectExtending/IBasicObjectExtensionPropertyInfo.cs | 4 ++++ .../Modularity/ExtensionPropertyConfiguration.cs | 8 ++++++-- .../Modularity/ExtensionPropertyLookupConfiguration.cs | 9 +++++++++ .../Modularity/ModuleExtensionConfigurationHelper.cs | 1 + .../Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs | 4 ++++ 5 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyLookupConfiguration.cs diff --git a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/IBasicObjectExtensionPropertyInfo.cs b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/IBasicObjectExtensionPropertyInfo.cs index de9bb35b01..23492d25ab 100644 --- a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/IBasicObjectExtensionPropertyInfo.cs +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/IBasicObjectExtensionPropertyInfo.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using JetBrains.Annotations; using Volo.Abp.Localization; +using Volo.Abp.ObjectExtending.Modularity; namespace Volo.Abp.ObjectExtending { @@ -34,5 +35,8 @@ namespace Volo.Abp.ObjectExtending /// [CanBeNull] public Func DefaultValueFactory { get; set; } + + [NotNull] + public ExtensionPropertyLookupConfiguration LookupConfiguration { get; set; } } } \ No newline at end of file diff --git a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyConfiguration.cs b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyConfiguration.cs index 0a19a82018..37eb29d69b 100644 --- a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyConfiguration.cs +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyConfiguration.cs @@ -28,7 +28,7 @@ namespace Volo.Abp.ObjectExtending.Modularity [NotNull] public Dictionary Configuration { get; } - + /// /// Single point to enable/disable this property for the clients (UI and API). /// If this is false, the configuration made in the and the @@ -42,7 +42,7 @@ namespace Volo.Abp.ObjectExtending.Modularity [NotNull] public ExtensionPropertyUiConfiguration UI { get; } - + [NotNull] public ExtensionPropertyApiConfiguration Api { get; } @@ -59,6 +59,9 @@ namespace Volo.Abp.ObjectExtending.Modularity [CanBeNull] public Func DefaultValueFactory { get; set; } + [NotNull] + public ExtensionPropertyLookupConfiguration LookupConfiguration { get; set; } + public ExtensionPropertyConfiguration( [NotNull] EntityExtensionConfiguration entityExtensionConfiguration, [NotNull] Type type, @@ -78,6 +81,7 @@ namespace Volo.Abp.ObjectExtending.Modularity Attributes.AddRange(ExtensionPropertyHelper.GetDefaultAttributes(Type)); DefaultValue = TypeHelper.GetDefaultValue(Type); + LookupConfiguration = new ExtensionPropertyLookupConfiguration(); } public object GetDefaultValue() diff --git a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyLookupConfiguration.cs b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyLookupConfiguration.cs new file mode 100644 index 0000000000..7d92f8accd --- /dev/null +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyLookupConfiguration.cs @@ -0,0 +1,9 @@ +namespace Volo.Abp.ObjectExtending.Modularity +{ + public class ExtensionPropertyLookupConfiguration + { + public string ApiUrl { get; set; } + public string DisplayPropertyName { get; set; } = "text"; + public string ValuePropertyName { get; set; } = "id"; + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleExtensionConfigurationHelper.cs b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleExtensionConfigurationHelper.cs index f4a5b149d6..0c6d6b5a2d 100644 --- a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleExtensionConfigurationHelper.cs +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleExtensionConfigurationHelper.cs @@ -155,6 +155,7 @@ namespace Volo.Abp.ObjectExtending.Modularity property.Validators.AddRange(propertyConfig.Validators); property.DefaultValue = propertyConfig.DefaultValue; property.DefaultValueFactory = propertyConfig.DefaultValueFactory; + property.LookupConfiguration = propertyConfig.LookupConfiguration; } ); } diff --git a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs index b54d64477f..5b71b0b975 100644 --- a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using JetBrains.Annotations; using Volo.Abp.Localization; +using Volo.Abp.ObjectExtending.Modularity; using Volo.Abp.Reflection; namespace Volo.Abp.ObjectExtending @@ -57,6 +58,9 @@ namespace Volo.Abp.ObjectExtending [CanBeNull] public Func DefaultValueFactory { get; set; } + [NotNull] + public ExtensionPropertyLookupConfiguration LookupConfiguration { get; set; } + public ObjectExtensionPropertyInfo( [NotNull] ObjectExtensionInfo objectExtension, [NotNull] Type type,