diff --git a/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme.Server/Themes/Basic/LoginDisplay.razor.cs b/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme.Server/Themes/Basic/LoginDisplay.razor.cs index 2c976dfaba..4b95ca598f 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme.Server/Themes/Basic/LoginDisplay.razor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme.Server/Themes/Basic/LoginDisplay.razor.cs @@ -22,7 +22,7 @@ namespace Volo.Abp.AspNetCore.Components.UI.BasicTheme.Themes.Basic protected virtual void OnLocationChanged(object sender, LocationChangedEventArgs e) { - StateHasChanged(); + InvokeAsync(StateHasChanged); } public void Dispose() diff --git a/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme.WebAssembly/Themes/Basic/LoginDisplay.razor.cs b/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme.WebAssembly/Themes/Basic/LoginDisplay.razor.cs index 2c976dfaba..4b95ca598f 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme.WebAssembly/Themes/Basic/LoginDisplay.razor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme.WebAssembly/Themes/Basic/LoginDisplay.razor.cs @@ -22,7 +22,7 @@ namespace Volo.Abp.AspNetCore.Components.UI.BasicTheme.Themes.Basic protected virtual void OnLocationChanged(object sender, LocationChangedEventArgs e) { - StateHasChanged(); + InvokeAsync(StateHasChanged); } public void Dispose() diff --git a/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor.cs b/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor.cs index 5a463cfa1c..ae907d46bb 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor.cs @@ -32,7 +32,7 @@ namespace Volo.Abp.AspNetCore.Components.UI.BasicTheme.Themes.Basic private void OnLocationChanged(object sender, LocationChangedEventArgs e) { IsSubMenuOpen = false; - StateHasChanged(); + InvokeAsync(StateHasChanged); } } } diff --git a/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme/Themes/Basic/MainLayout.razor.cs b/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme/Themes/Basic/MainLayout.razor.cs index 9be36f226a..7df1557a17 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme/Themes/Basic/MainLayout.razor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme/Themes/Basic/MainLayout.razor.cs @@ -28,7 +28,7 @@ namespace Volo.Abp.AspNetCore.Components.UI.BasicTheme.Themes.Basic private void OnLocationChanged(object sender, LocationChangedEventArgs e) { IsCollapseShown = false; - StateHasChanged(); + InvokeAsync(StateHasChanged); } } } diff --git a/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor.cs b/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor.cs index 82b3baa3e5..9d80d87de3 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor.cs @@ -32,7 +32,7 @@ namespace Volo.Abp.AspNetCore.Components.UI.BasicTheme.Themes.Basic private void OnLocationChanged(object sender, LocationChangedEventArgs e) { IsSubMenuOpen = false; - StateHasChanged(); + InvokeAsync(StateHasChanged); } } } diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor.cs index d0ff42879c..c49a6348da 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor.cs @@ -32,7 +32,7 @@ namespace Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.Themes.Basic private void OnLocationChanged(object sender, LocationChangedEventArgs e) { IsSubMenuOpen = false; - StateHasChanged(); + InvokeAsync(StateHasChanged); } } } diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/LoginDisplay.razor.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/LoginDisplay.razor.cs index 3238483cfb..fc7b6ef930 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/LoginDisplay.razor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/LoginDisplay.razor.cs @@ -22,7 +22,7 @@ namespace Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.Themes.Basic protected virtual void OnLocationChanged(object sender, LocationChangedEventArgs e) { - StateHasChanged(); + InvokeAsync(StateHasChanged); } public void Dispose() diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/MainLayout.razor.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/MainLayout.razor.cs index 2464275c2c..63930ab2bf 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/MainLayout.razor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/MainLayout.razor.cs @@ -28,7 +28,7 @@ namespace Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.Themes.Basic private void OnLocationChanged(object sender, LocationChangedEventArgs e) { IsCollapseShown = false; - StateHasChanged(); + InvokeAsync(StateHasChanged); } } } diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor.cs index 1749b471cc..e742a9a6a4 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor.cs @@ -32,7 +32,7 @@ namespace Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.Themes.Basic private void OnLocationChanged(object sender, LocationChangedEventArgs e) { IsSubMenuOpen = false; - StateHasChanged(); + InvokeAsync(StateHasChanged); } } } diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs index 99d0f2a4c3..4d94fdd85f 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs @@ -295,15 +295,17 @@ 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(); + CreateModal?.Show(); + }); } protected virtual Task CloseCreateModalAsync() { - CreateModal.Hide(); - return Task.CompletedTask; + return InvokeAsync(CreateModal.Hide); } protected virtual async Task OpenEditModalAsync(TListViewModel entity) @@ -317,9 +319,12 @@ namespace Volo.Abp.BlazoriseUI EditingEntityId = entity.Id; EditingEntity = MapToEditingEntity(entityDto); - await InvokeAsync(StateHasChanged); + await InvokeAsync(() => + { + StateHasChanged(); - EditModal.Show(); + EditModal?.Show(); + }); } protected virtual TUpdateViewModel MapToEditingEntity(TGetOutputDto entityDto) @@ -349,7 +354,7 @@ namespace Volo.Abp.BlazoriseUI protected virtual Task CloseEditModalAsync() { - EditModal.Hide(); + InvokeAsync(EditModal.Hide); return Task.CompletedTask; } @@ -376,7 +381,7 @@ namespace Volo.Abp.BlazoriseUI { await GetEntitiesAsync(); - CreateModal.Hide(); + await InvokeAsync(CreateModal.Hide); } protected virtual async Task UpdateEntityAsync() @@ -402,7 +407,7 @@ namespace Volo.Abp.BlazoriseUI { await GetEntitiesAsync(); - EditModal.Hide(); + await InvokeAsync(EditModal.Hide); } protected virtual async Task DeleteEntityAsync(TListViewModel entity) diff --git a/framework/src/Volo.Abp.BlazoriseUI/Components/EntityActions.razor.cs b/framework/src/Volo.Abp.BlazoriseUI/Components/EntityActions.razor.cs index 1785079cf0..e1ee4dacdf 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/Components/EntityActions.razor.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/Components/EntityActions.razor.cs @@ -36,7 +36,7 @@ namespace Volo.Abp.BlazoriseUI.Components { EntityActionsColumn.Displayable = Actions.Any(t => t.IsVisible); } - StateHasChanged(); + InvokeAsync(StateHasChanged); } protected override void OnInitialized() diff --git a/framework/src/Volo.Abp.BlazoriseUI/Components/PageAlert.razor.cs b/framework/src/Volo.Abp.BlazoriseUI/Components/PageAlert.razor.cs index d952963295..23115da73d 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/Components/PageAlert.razor.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/Components/PageAlert.razor.cs @@ -52,7 +52,7 @@ namespace Volo.Abp.BlazoriseUI.Components }); } } - StateHasChanged(); + InvokeAsync(StateHasChanged); } protected virtual Color GetAlertColor(AlertType alertType) diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor.cs index ada5853f6a..403b685eb2 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor.cs @@ -64,13 +64,12 @@ namespace Volo.Abp.FeatureManagement.Blazor.Components } } - Modal.Show(); + await InvokeAsync(Modal.Show); } public virtual Task CloseModal() { - Modal.Hide(); - return Task.CompletedTask; + return InvokeAsync(Modal.Hide); } protected virtual async Task SaveAsync() @@ -87,7 +86,7 @@ namespace Volo.Abp.FeatureManagement.Blazor.Components await FeatureAppService.UpdateAsync(ProviderName, ProviderKey, features); - Modal.Hide(); + await InvokeAsync(Modal.Hide); } protected virtual string GetNormalizedGroupName(string name) diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs index 45625a2852..8008f9d70f 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs @@ -96,13 +96,13 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components } _selectedTabName = GetNormalizedGroupName(_groups.First().Name); - - _modal.Show(); + + await InvokeAsync(_modal.Show); } - private void CloseModal() + private Task CloseModal() { - _modal.Hide(); + return InvokeAsync(_modal.Hide); } private async Task SaveAsync() @@ -117,7 +117,7 @@ namespace Volo.Abp.PermissionManagement.Blazor.Components await PermissionAppService.UpdateAsync(_providerName, _providerKey, updateDto); - _modal.Hide(); + await InvokeAsync(_modal.Hide); } private string GetNormalizedGroupName(string name) diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs index 1bc3ce7cd1..2b00a87079 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs @@ -60,13 +60,12 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement UseSharedDatabase = tenantConnectionString.IsNullOrWhiteSpace() }; - ManageConnectionStringModal.Show(); + await InvokeAsync(ManageConnectionStringModal.Show); } protected virtual Task CloseEditConnectionStringModal() { - ManageConnectionStringModal.Hide(); - return Task.CompletedTask; + return InvokeAsync(ManageConnectionStringModal.Hide); } protected virtual async Task UpdateConnectionStringAsync() @@ -84,7 +83,7 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement await AppService.UpdateDefaultConnectionStringAsync(TenantInfo.Id, TenantInfo.DefaultConnectionString); } - ManageConnectionStringModal.Hide(); + await InvokeAsync(ManageConnectionStringModal.Hide); } }