From d1245af4ebec670fb3d57a75d6ff29e626e077e7 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Thu, 22 Jun 2023 14:47:20 +0800 Subject: [PATCH 1/2] Add order to extended properties --- .../Modularity/EntityExtensionConfiguration.cs | 3 ++- .../Modularity/ExtensionPropertyUiConfiguration.cs | 5 +++++ .../Modularity/ModuleExtensionConfigurationHelper.cs | 1 + .../Volo/Abp/ObjectExtending/ObjectExtensionInfo.cs | 3 +-- .../Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs | 6 ++++++ 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/EntityExtensionConfiguration.cs b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/EntityExtensionConfiguration.cs index 82c6658c23..b4e0014775 100644 --- a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/EntityExtensionConfiguration.cs +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/EntityExtensionConfiguration.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Collections.Immutable; +using System.Linq; using JetBrains.Annotations; using Volo.Abp.Localization; @@ -74,7 +75,7 @@ public class EntityExtensionConfiguration [NotNull] public virtual ImmutableList GetProperties() { - return Properties.Values.ToImmutableList(); + return Properties.Values.OrderBy(t => t.UI.Order).ToImmutableList(); } private static void NormalizeProperty(ExtensionPropertyConfiguration propertyInfo) diff --git a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyUiConfiguration.cs b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyUiConfiguration.cs index 38b47b71ad..3c4a0e921f 100644 --- a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyUiConfiguration.cs +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyUiConfiguration.cs @@ -4,6 +4,8 @@ namespace Volo.Abp.ObjectExtending.Modularity; public class ExtensionPropertyUiConfiguration { + public const int DefaultOrder = 1000; + [NotNull] public ExtensionPropertyUiTableConfiguration OnTable { get; } @@ -15,6 +17,8 @@ public class ExtensionPropertyUiConfiguration [NotNull] public ExtensionPropertyLookupConfiguration Lookup { get; set; } + + public int Order { get; set; } public ExtensionPropertyUiConfiguration() { @@ -22,5 +26,6 @@ public class ExtensionPropertyUiConfiguration OnCreateForm = new ExtensionPropertyUiFormConfiguration(); OnEditForm = new ExtensionPropertyUiFormConfiguration(); Lookup = new ExtensionPropertyLookupConfiguration(); + Order = DefaultOrder; } } 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 642cd07a84..0419fdc8de 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 @@ -174,6 +174,7 @@ public static class ModuleExtensionConfigurationHelper property.DefaultValue = propertyConfig.DefaultValue; property.DefaultValueFactory = propertyConfig.DefaultValueFactory; property.Lookup = propertyConfig.UI.Lookup; + property.Order = propertyConfig.UI.Order; foreach (var configuration in propertyConfig.Configuration) { property.Configuration[configuration.Key] = configuration.Value; diff --git a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionInfo.cs b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionInfo.cs index 69b7123c50..3fd57cb4a7 100644 --- a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionInfo.cs +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionInfo.cs @@ -69,8 +69,7 @@ public class ObjectExtensionInfo [NotNull] public virtual ImmutableList GetProperties() { - return Properties.OrderBy(t => t.Key) - .Select(t => t.Value) + return Properties.OrderBy(t => t.Value.Order).Select(t => t.Value) .ToImmutableList(); } 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 f89035d733..e9c01376fc 100644 --- a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs @@ -59,6 +59,12 @@ public class ObjectExtensionPropertyInfo : IHasNameWithLocalizableDisplayName, I [NotNull] public ExtensionPropertyLookupConfiguration Lookup { get; set; } + + /// + /// The Display order of the Property. + /// Default value: 1000. + /// + public int Order { get; set; } public ObjectExtensionPropertyInfo( [NotNull] ObjectExtensionInfo objectExtension, From d48bd6e4b9c9c73fc3b9dc45b0e3d6f794a89231 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Thu, 22 Jun 2023 14:48:03 +0800 Subject: [PATCH 2/2] Update ObjectExtensionPropertyInfo.cs --- .../Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs | 1 - 1 file changed, 1 deletion(-) 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 e9c01376fc..350489c3e5 100644 --- a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs @@ -62,7 +62,6 @@ public class ObjectExtensionPropertyInfo : IHasNameWithLocalizableDisplayName, I /// /// The Display order of the Property. - /// Default value: 1000. /// public int Order { get; set; }