Browse Source

several bug fixes for MudBlazor

feat/mudblazor
İsmail ÇAĞDAŞ 4 days ago
parent
commit
5982e283a8
  1. 6
      framework/src/Volo.Abp.MudBlazorUI/AbpMudCrudPageBase.cs
  2. 7
      framework/src/Volo.Abp.MudBlazorUI/Components/AbpMudExtensibleDataGrid.razor
  3. 12
      framework/src/Volo.Abp.MudBlazorUI/Components/AbpMudExtensibleDataGrid.razor.cs
  4. 8
      modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor.MudBlazor/Components/ResourcePermissionManagementModal.razor

6
framework/src/Volo.Abp.MudBlazorUI/AbpMudCrudPageBase.cs

@ -177,7 +177,7 @@ public abstract class AbpMudCrudPageBase<
[Inject] protected ISnackbar Snackbar { get; set; } = default!;
[Inject] protected ExtensionPropertyPolicyChecker ExtensionPropertyPolicyChecker { get; set; } = default!;
protected virtual int PageSize { get; } = LimitedResultRequestDto.DefaultMaxResultCount;
protected virtual int PageSize { get; set; } = LimitedResultRequestDto.DefaultMaxResultCount;
protected int CurrentPage = 1;
protected string CurrentSorting = default!;
@ -362,6 +362,10 @@ public abstract class AbpMudCrudPageBase<
.Select(s => MapSortFieldToPropertyName(s.SortBy, columns) + (s.Descending ? " DESC" : ""))
.JoinAsString(",");
CurrentPage = state.Page + 1;
if (state.PageSize > 0)
{
PageSize = state.PageSize;
}
try
{

7
framework/src/Volo.Abp.MudBlazorUI/Components/AbpMudExtensibleDataGrid.razor

@ -3,7 +3,7 @@
@using Volo.Abp.Data
<MudDataGrid @ref="_dataGrid" T="TItem" ServerData="@ServerData" Loading="@Loading" Dense="true" Striped="true"
Bordered="false" Hover="true" Class="@Class">
Bordered="false" Hover="true" Class="@Class" RowsPerPage="@PageSize" CurrentPage="@ZeroBasedCurrentPage">
<LoadingContent>
<MudProgressCircular Color="Color.Primary" Indeterminate="true" />
</LoadingContent>
@ -65,7 +65,8 @@
}
else
{
if (!ExtensionPropertiesRegex.IsMatch(column.Data))
var hasExtensionPropertyData = !string.IsNullOrWhiteSpace(column.Data) && ExtensionPropertiesRegex.IsMatch(column.Data!);
if (!hasExtensionPropertyData)
{
@if (column.ValueConverter == null)
{
@ -90,7 +91,7 @@
<CellTemplate>
@{
var entity = context.Item as IHasExtraProperties;
var propertyName = ExtensionPropertiesRegex.Match(column.Data).Groups[1].Value;
var propertyName = ExtensionPropertiesRegex.Match(column.Data!).Groups[1].Value;
var propertyValue = entity?.GetProperty(propertyName);
if (propertyValue != null && propertyValue.GetType() == typeof(bool))
{

12
framework/src/Volo.Abp.MudBlazorUI/Components/AbpMudExtensibleDataGrid.razor.cs

@ -38,6 +38,8 @@ public partial class AbpMudExtensibleDataGrid<TItem> : ComponentBase
[Parameter] public string ActionColumnWidth { get; set; } = "150px";
protected int ZeroBasedCurrentPage => CurrentPage > 0 ? CurrentPage - 1 : 0;
[Inject]
public IStringLocalizerFactory StringLocalizerFactory { get; set; } = default!;
@ -167,12 +169,18 @@ public partial class AbpMudExtensibleDataGrid<TItem> : ComponentBase
protected virtual Func<TItem, object>? GetExtensionPropertySortFunc(TableColumn column)
{
if (!column.Sortable)
if (!column.Sortable || string.IsNullOrWhiteSpace(column.Data))
{
return null;
}
var match = ExtensionPropertiesRegex.Match(column.Data);
if (!match.Success)
{
return null;
}
var propertyName = ExtensionPropertiesRegex.Match(column.Data).Groups[1].Value;
var propertyName = match.Groups[1].Value;
return item =>
{
var entity = item as IHasExtraProperties;

8
modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor.MudBlazor/Components/ResourcePermissionManagementModal.razor

@ -105,8 +105,8 @@
RequiredError="@L["ThisFieldIsRequired"]"
Class="mt-2" />
<MudText Typo="Typo.subtitle1" Class="mb-2 mt-4">@L["ResourcePermissionPermissions"]</MudText>
<MudSwitch T="bool" Checked="@_grantAllCreate"
CheckedChanged="@(async (bool b) => await GrantAllCreateAsync(b))"
<MudSwitch T="bool" Value="@_grantAllCreate"
ValueChanged="@(async (bool b) => await GrantAllCreateAsync(b))"
Label="@L["GrantAllResourcePermissions"]" />
<div class="mt-2">
@foreach (var permission in CreateEntity.Permissions)
@ -134,8 +134,8 @@
<DialogContent>
<MudForm @ref="@_editFormRef" Model="@EditEntity">
<MudText Typo="Typo.subtitle1" Class="mb-2">@L["ResourcePermissionPermissions"]</MudText>
<MudSwitch T="bool" Checked="@_grantAllEdit"
CheckedChanged="@(async (bool b) => await GrantAllEditAsync(b))"
<MudSwitch T="bool" Value="@_grantAllEdit"
ValueChanged="@(async (bool b) => await GrantAllEditAsync(b))"
Label="@L["GrantAllResourcePermissions"]" />
<div class="mt-2">
@foreach (var permission in EditEntity.Permissions)

Loading…
Cancel
Save