diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor index db9186bd..49ea702d 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor @@ -4,29 +4,30 @@ @inject IFileService FileService @inject IModuleDefinitionService ModuleDefinitionService @inject IPackageService PackageService +@inject IJSRuntime JsRuntime @if (_packages != null) { @if (_packages.Count > 0) { - - - -
- Name - Version - -
- - @context.Name - @context.Version - - - - -
-
+ + + +
+ Name + Version + +
+ + @context.Name + @context.Version + + + + +
+
} @@ -77,8 +78,10 @@ { try { + ShowProgressIndicator(); + var interop = new Interop(JsRuntime); + await interop.RedirectBrowser(NavigateUrl(), 3); await ModuleDefinitionService.InstallModuleDefinitionsAsync(); - NavigationManager.NavigateTo(NavigateUrl()); } catch (Exception ex) { diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor index acd19670..3354ce5a 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor @@ -3,6 +3,7 @@ @inject NavigationManager NavigationManager @inject IModuleDefinitionService ModuleDefinitionService @inject IPackageService PackageService +@inject IJSRuntime JsRuntime @if (_moduleDefinitions == null) { @@ -24,17 +25,17 @@ else @@ -83,9 +84,11 @@ else try { await PackageService.DownloadPackageAsync(moduledefinitionname, version, "Modules"); - await ModuleDefinitionService.InstallModuleDefinitionsAsync(); await logger.LogInformation("Module Downloaded {ModuleDefinitionName} {Version}", moduledefinitionname, version); - NavigationManager.NavigateTo(NavigateUrl()); + ShowProgressIndicator(); + var interop = new Interop(JsRuntime); + await interop.RedirectBrowser(NavigateUrl(), 3); + await ModuleDefinitionService.InstallModuleDefinitionsAsync(); } catch (Exception ex) { @@ -98,9 +101,10 @@ else { try { + ShowProgressIndicator(); + var interop = new Interop(JsRuntime); + await interop.RedirectBrowser(NavigateUrl(), 3); await ModuleDefinitionService.DeleteModuleDefinitionAsync(moduleDefinition.ModuleDefinitionId, moduleDefinition.SiteId); - await logger.LogInformation("Module Deleted {ModuleDefinition}", moduleDefinition); - NavigationManager.NavigateTo(NavigateUrl()); } catch (Exception ex) { diff --git a/Oqtane.Client/Modules/Admin/Themes/Add.razor b/Oqtane.Client/Modules/Admin/Themes/Add.razor index da47d8a9..4fc6b155 100644 --- a/Oqtane.Client/Modules/Admin/Themes/Add.razor +++ b/Oqtane.Client/Modules/Admin/Themes/Add.razor @@ -4,46 +4,47 @@ @inject IFileService FileService @inject IThemeService ThemeService @inject IPackageService PackageService +@inject IJSRuntime JsRuntime @if (_packages != null) { - - @if (_packages.Count > 0) - { - - - -
-
- - - - - - - - - - - } - -
@if (context.AssemblyName != "Oqtane.Client") - { + { - } + } @context.Name @context.Version @if (UpgradeAvailable(context.ModuleDefinitionName, context.Version)) - { + { - } + } NameVersion@context.Name@context.Version - -
- - - - -
- - - -
-
-
+ + @if (_packages.Count > 0) + { + + + +
+ Name + Version + +
+ + @context.Name + @context.Version + + + + +
+
+ } + + + + + + +
+ + + +
+
+
- -Cancel + + Cancel } @code { @@ -77,8 +78,10 @@ { try { + ShowProgressIndicator(); + var interop = new Interop(JsRuntime); + await interop.RedirectBrowser(NavigateUrl(), 3); await ThemeService.InstallThemesAsync(); - NavigationManager.NavigateTo(NavigateUrl()); } catch (Exception ex) { @@ -101,4 +104,4 @@ AddModuleMessage("Error Downloading Theme", MessageType.Error); } } - } +} diff --git a/Oqtane.Client/Modules/Admin/Themes/Index.razor b/Oqtane.Client/Modules/Admin/Themes/Index.razor index 9f5a76e2..fcb8b779 100644 --- a/Oqtane.Client/Modules/Admin/Themes/Index.razor +++ b/Oqtane.Client/Modules/Admin/Themes/Index.razor @@ -4,6 +4,7 @@ @inject NavigationManager NavigationManager @inject IThemeService ThemeService @inject IPackageService PackageService +@inject IJSRuntime JsRuntime @if (_themes == null) { @@ -83,9 +84,11 @@ else try { await PackageService.DownloadPackageAsync(themename, version, "Themes"); - await ThemeService.InstallThemesAsync(); await logger.LogInformation("Theme Downloaded {ThemeName} {Version}", themename, version); - NavigationManager.NavigateTo(NavigateUrl()); + ShowProgressIndicator(); + var interop = new Interop(JsRuntime); + await interop.RedirectBrowser(NavigateUrl(), 3); + await ThemeService.InstallThemesAsync(); } catch (Exception ex) { @@ -98,9 +101,10 @@ else { try { + ShowProgressIndicator(); + var interop = new Interop(JsRuntime); + await interop.RedirectBrowser(NavigateUrl(), 3); await ThemeService.DeleteThemeAsync(Theme.ThemeName); - await logger.LogInformation("Theme Deleted {Theme}", Theme); - NavigationManager.NavigateTo(NavigateUrl()); } catch (Exception ex) { diff --git a/Oqtane.Client/Modules/Admin/Upgrade/Index.razor b/Oqtane.Client/Modules/Admin/Upgrade/Index.razor index cf446d82..f26d21d7 100644 --- a/Oqtane.Client/Modules/Admin/Upgrade/Index.razor +++ b/Oqtane.Client/Modules/Admin/Upgrade/Index.razor @@ -4,35 +4,36 @@ @inject IFileService FileService @inject IPackageService PackageService @inject IInstallationService InstallationService +@inject IJSRuntime JsRuntime @if (_package != null) { - - - @if (_upgradeavailable) - { - - @("Framework") @_package.Version - } - else - { - - } - - - - - - - -
- - - -
- -
-
+ + + @if (_upgradeavailable) + { + + @("Framework") @_package.Version + } + else + { + + } + + + + + + + +
+ + + +
+ +
+
} @code { @@ -59,7 +60,7 @@ } } } - catch + catch { // can be caused by no network connection } @@ -69,8 +70,10 @@ { try { + ShowProgressIndicator(); + var interop = new Interop(JsRuntime); + await interop.RedirectBrowser(NavigateUrl(), 3); await InstallationService.Upgrade(); - NavigationManager.NavigateTo(NavigateUrl()); } catch (Exception ex) { @@ -84,8 +87,10 @@ try { await PackageService.DownloadPackageAsync(packageid, version, "Framework"); + ShowProgressIndicator(); + var interop = new Interop(JsRuntime); + await interop.RedirectBrowser(NavigateUrl(), 3); await InstallationService.Upgrade(); - NavigationManager.NavigateTo(NavigateUrl()); } catch (Exception ex) { diff --git a/Oqtane.Client/UI/Interop.cs b/Oqtane.Client/UI/Interop.cs index 1c05fe41..3bdbe0bb 100644 --- a/Oqtane.Client/UI/Interop.cs +++ b/Oqtane.Client/UI/Interop.cs @@ -204,5 +204,35 @@ namespace Oqtane.UI return Task.CompletedTask; } } + + public Task RefreshBrowser(bool force, int wait) + { + try + { + _jsRuntime.InvokeAsync( + "Oqtane.Interop.refreshBrowser", + force, wait); + return Task.CompletedTask; + } + catch + { + return Task.CompletedTask; + } + } + + public Task RedirectBrowser(string url, int wait) + { + try + { + _jsRuntime.InvokeAsync( + "Oqtane.Interop.redirectBrowser", + url, wait); + return Task.CompletedTask; + } + catch + { + return Task.CompletedTask; + } + } } } diff --git a/Oqtane.Server/wwwroot/js/interop.js b/Oqtane.Server/wwwroot/js/interop.js index 90668589..f439d62d 100644 --- a/Oqtane.Server/wwwroot/js/interop.js +++ b/Oqtane.Server/wwwroot/js/interop.js @@ -311,5 +311,15 @@ Oqtane.Interop = { request.send(data); } } + }, + refreshBrowser: function (reload, wait) { + setInterval(function () { + window.location.reload(reload); + }, wait * 1000); + }, + redirectBrowser: function (url, wait) { + setInterval(function () { + window.location.href = url; + }, wait * 1000); } };