Skip to content

Commit 1fd9c67

Browse files
authored
Merge pull request #24290 from abpframework/Blazor-ExtensionProperties
Add IsReadOnly and IsVisible to extension property modals
2 parents 3fb06a2 + f8a22e3 commit 1fd9c67

File tree

4 files changed

+35
-2
lines changed

4 files changed

+35
-2
lines changed

framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/ExtensionProperties.razor.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Collections.Immutable;
3+
using System.Linq;
34
using System.Threading.Tasks;
45
using Microsoft.AspNetCore.Components;
56
using Microsoft.Extensions.Localization;
@@ -29,8 +30,13 @@ public partial class ExtensionProperties<TEntityType, TResourceType> : Component
2930

3031
public ImmutableList<ObjectExtensionPropertyInfo> Properties { get; set; } = ImmutableList<ObjectExtensionPropertyInfo>.Empty;
3132

32-
protected async override Task OnInitializedAsync()
33+
protected override async Task OnInitializedAsync()
3334
{
34-
Properties = await ObjectExtensionManager.Instance.GetPropertiesAndCheckPolicyAsync<TEntityType>(ServiceProvider);
35+
Properties =
36+
(await ObjectExtensionManager.Instance.GetPropertiesAndCheckPolicyAsync<TEntityType>(ServiceProvider))
37+
.Where(p => ModalType == ExtensionPropertyModalType.CreateModal
38+
? p.UI.CreateModal.IsVisible
39+
: p.UI.EditModal.IsVisible)
40+
.ToImmutableList();
3541
}
3642
}

framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyUiFormConfiguration.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,9 @@ public class ExtensionPropertyUiFormConfiguration
66
/// Default: true.
77
/// </summary>
88
public bool IsVisible { get; set; } = true;
9+
10+
/// <summary>
11+
/// Default: false.
12+
/// </summary>
13+
public bool IsReadOnly { get; set; } = false;
914
}

framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleExtensionConfigurationHelper.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,10 @@ public static void ApplyPropertyConfigurationToTypes(
175175
property.DefaultValueFactory = propertyConfig.DefaultValueFactory;
176176
property.Lookup = propertyConfig.UI.Lookup;
177177
property.UI.Order = propertyConfig.UI.Order;
178+
property.UI.CreateModal.IsVisible = propertyConfig.UI.OnCreateForm.IsVisible;
179+
property.UI.CreateModal.IsReadOnly = propertyConfig.UI.OnCreateForm.IsReadOnly;
180+
property.UI.EditModal.IsVisible = propertyConfig.UI.OnEditForm.IsVisible;
181+
property.UI.EditModal.IsReadOnly = propertyConfig.UI.OnEditForm.IsReadOnly;
178182
property.Policy = propertyConfig.Policy;
179183
foreach (var configuration in propertyConfig.Configuration)
180184
{

framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,34 @@ public class ExtensionPropertyUI
9090
{
9191
public int Order { get; set; }
9292

93+
public ExtensionPropertyUICreateModal CreateModal { get; set; }
94+
9395
public ExtensionPropertyUIEditModal EditModal { get; set; }
9496

9597
public ExtensionPropertyUI()
9698
{
99+
CreateModal = new ExtensionPropertyUICreateModal();
97100
EditModal = new ExtensionPropertyUIEditModal();
98101
}
99102
}
100103

104+
public class ExtensionPropertyUICreateModal
105+
{
106+
/// <summary>
107+
/// Default: true.
108+
/// </summary>
109+
public bool IsVisible { get; set; } = true;
110+
111+
public bool IsReadOnly { get; set; }
112+
}
113+
101114
public class ExtensionPropertyUIEditModal
102115
{
116+
/// <summary>
117+
/// Default: true.
118+
/// </summary>
119+
public bool IsVisible { get; set; } = true;
120+
103121
public bool IsReadOnly { get; set; }
104122
}
105123
}

0 commit comments

Comments
 (0)