Skip to content

Commit 5bf657a

Browse files
committed
Add IsReadOnly and IsVisible to extension property modals
1 parent 0e9d12a commit 5bf657a

File tree

4 files changed

+46
-2
lines changed

4 files changed

+46
-2
lines changed

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

Lines changed: 19 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,24 @@ 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+
var properties = (await ObjectExtensionManager.Instance.GetPropertiesAndCheckPolicyAsync<TEntityType>(ServiceProvider)).ToList();
36+
37+
switch (ModalType)
38+
{
39+
case ExtensionPropertyModalType.CreateModal:
40+
properties = properties
41+
.Where(p => p.UI.CreateModal.IsVisible)
42+
.ToList();
43+
break;
44+
case ExtensionPropertyModalType.EditModal:
45+
properties = properties
46+
.Where(p => p.UI.EditModal.IsVisible)
47+
.ToList();
48+
break;
49+
}
50+
51+
Properties = properties.ToImmutableList();
3552
}
3653
}

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)