From 0d17aa39169eadf0539e4501a03d8d4aa03dd9b2 Mon Sep 17 00:00:00 2001 From: Mladen Macanovic Date: Mon, 18 Jan 2021 10:44:09 +0100 Subject: [PATCH 1/3] Move CreateModal.Hide() to created/updated methods --- framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs index 4a4d4df722..84ab0099c5 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs @@ -365,8 +365,6 @@ namespace Volo.Abp.BlazoriseUI await GetEntitiesAsync(); await OnCreatedEntityAsync(); - - CreateModal.Hide(); } } @@ -377,6 +375,7 @@ namespace Volo.Abp.BlazoriseUI protected virtual Task OnCreatedEntityAsync() { + CreateModal.Hide(); return Task.CompletedTask; } @@ -392,8 +391,6 @@ namespace Volo.Abp.BlazoriseUI await GetEntitiesAsync(); await OnUpdatedEntityAsync(); - - EditModal.Hide(); } } @@ -404,6 +401,7 @@ namespace Volo.Abp.BlazoriseUI protected virtual Task OnUpdatedEntityAsync() { + EditModal.Hide(); return Task.CompletedTask; } From 16056ef6f9dfd8a787ba61239f44dfab76b168b8 Mon Sep 17 00:00:00 2001 From: Mladen Macanovic Date: Wed, 20 Jan 2021 10:03:44 +0100 Subject: [PATCH 2/3] Move GetEntitiesAsync into OnCreatedEntityAsync and OnUpdatedEntityAsync --- .../src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs index 84ab0099c5..65bb82feff 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs @@ -362,7 +362,6 @@ namespace Volo.Abp.BlazoriseUI await CheckCreatePolicyAsync(); var createInput = MapToCreateInput(NewEntity); await AppService.CreateAsync(createInput); - await GetEntitiesAsync(); await OnCreatedEntityAsync(); } @@ -373,10 +372,11 @@ namespace Volo.Abp.BlazoriseUI return Task.CompletedTask; } - protected virtual Task OnCreatedEntityAsync() + protected virtual async Task OnCreatedEntityAsync() { + await GetEntitiesAsync(); + CreateModal.Hide(); - return Task.CompletedTask; } protected virtual async Task UpdateEntityAsync() @@ -388,7 +388,6 @@ namespace Volo.Abp.BlazoriseUI await CheckUpdatePolicyAsync(); var updateInput = MapToUpdateInput(EditingEntity); await AppService.UpdateAsync(EditingEntityId, updateInput); - await GetEntitiesAsync(); await OnUpdatedEntityAsync(); } @@ -399,10 +398,11 @@ namespace Volo.Abp.BlazoriseUI return Task.CompletedTask; } - protected virtual Task OnUpdatedEntityAsync() + protected virtual async Task OnUpdatedEntityAsync() { + await GetEntitiesAsync(); + EditModal.Hide(); - return Task.CompletedTask; } protected virtual async Task DeleteEntityAsync(TListViewModel entity) From 2bf5b81662204d59dbab8aa8cbe1e61b41eee15d Mon Sep 17 00:00:00 2001 From: Mladen Macanovic Date: Wed, 20 Jan 2021 10:04:09 +0100 Subject: [PATCH 3/3] Optimize StateHasChanged to use InvokeAsync --- framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs index 65bb82feff..99d0f2a4c3 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs @@ -269,7 +269,7 @@ namespace Volo.Abp.BlazoriseUI await GetEntitiesAsync(); - StateHasChanged(); + await InvokeAsync(StateHasChanged); } protected virtual async Task OnDataGridReadAsync(DataGridReadDataEventArgs e) @@ -282,7 +282,7 @@ namespace Volo.Abp.BlazoriseUI await GetEntitiesAsync(); - StateHasChanged(); + await InvokeAsync(StateHasChanged); } protected virtual async Task OpenCreateModalAsync() @@ -295,7 +295,7 @@ namespace Volo.Abp.BlazoriseUI // Mapper will not notify Blazor that binded values are changed // so we need to notify it manually by calling StateHasChanged - await InvokeAsync(() => StateHasChanged()); + await InvokeAsync(StateHasChanged); CreateModal.Show(); } @@ -317,7 +317,7 @@ namespace Volo.Abp.BlazoriseUI EditingEntityId = entity.Id; EditingEntity = MapToEditingEntity(entityDto); - await InvokeAsync(() => StateHasChanged()); + await InvokeAsync(StateHasChanged); EditModal.Show(); }