Browse Source

Create `TextAreaExtensionProperty` to support multiline object extension for blazor ui

pull/22936/head
EngincanV 1 year ago
parent
commit
2139c282b4
  1. 12
      framework/src/Volo.Abp.BlazoriseUI/BlazoriseUiObjectExtensionPropertyInfoExtensions.cs
  2. 19
      framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/TextAreaExtensionProperty.razor
  3. 15
      framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/TextAreaExtensionProperty.razor.cs

12
framework/src/Volo.Abp.BlazoriseUI/BlazoriseUiObjectExtensionPropertyInfoExtensions.cs

@ -233,19 +233,17 @@ public static class BlazoriseUiObjectExtensionPropertyInfoExtensions
switch (dataTypeAttribute.DataType)
{
case DataType.Password:
return typeof(TextExtensionProperty<,>);
case DataType.Date:
return typeof(DateTimeExtensionProperty<,>);
case DataType.Time:
return typeof(TimeExtensionProperty<,>);
case DataType.EmailAddress:
return typeof(TextExtensionProperty<,>);
case DataType.Url:
return typeof(TextExtensionProperty<,>);
case DataType.PhoneNumber:
return typeof(TextExtensionProperty<,>);
case DataType.Date:
case DataType.DateTime:
return typeof(DateTimeExtensionProperty<,>);
case DataType.Time:
return typeof(TimeExtensionProperty<,>);
case DataType.MultilineText:
return typeof(TextAreaExtensionProperty<,>);
}
}

19
framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/TextAreaExtensionProperty.razor

@ -0,0 +1,19 @@
@typeparam TEntity
@typeparam TResourceType
@using Volo.Abp.BlazoriseUI
@using Volo.Abp.Localization
@inherits ExtensionPropertyComponentBase<TEntity, TResourceType>
@if (PropertyInfo != null && Entity != null)
{
<Validation Validator="@Validate" MessageLocalizer="@LH.Localize">
<Field>
<FieldLabel>@PropertyInfo.GetLocalizedDisplayName(StringLocalizerFactory)</FieldLabel>
<MemoEdit @bind-Text="@Value" AutoSize Disabled="IsReadonlyField">
<Feedback>
<ValidationError/>
</Feedback>
</MemoEdit>
</Field>
</Validation>
}

15
framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/TextAreaExtensionProperty.razor.cs

@ -0,0 +1,15 @@
using Volo.Abp.Data;
namespace Volo.Abp.BlazoriseUI.Components.ObjectExtending;
public partial class TextAreaExtensionProperty<TEntity, TResourceType>
where TEntity : IHasExtraProperties
{
protected string? Value {
get {
return PropertyInfo.GetTextInputValueOrNull(Entity.GetProperty(PropertyInfo.Name));
}
set {
Entity.SetProperty(PropertyInfo.Name, value, validate: false);
}
}
}
Loading…
Cancel
Save