diff --git a/Oqtane.Client/Modules/Admin/Files/Edit.razor b/Oqtane.Client/Modules/Admin/Files/Edit.razor
index 668b0ba7..360ac6b6 100644
--- a/Oqtane.Client/Modules/Admin/Files/Edit.razor
+++ b/Oqtane.Client/Modules/Admin/Files/Edit.razor
@@ -152,7 +152,7 @@
}
await FolderService.UpdateFolderOrderAsync(folder.SiteId, folder.FolderId, folder.ParentId);
await logger.LogInformation("Folder Saved {Folder}", folder);
- NavigationManager.NavigateTo(NavigateUrl(Reload.Site));
+ NavigationManager.NavigateTo(NavigateUrl());
}
else
{
diff --git a/Oqtane.Client/Modules/Admin/Login/Index.razor b/Oqtane.Client/Modules/Admin/Login/Index.razor
index f2ffa020..99d297b0 100644
--- a/Oqtane.Client/Modules/Admin/Login/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Login/Index.razor
@@ -117,7 +117,7 @@
{
await logger.LogInformation("Login Successful For Username {Username}", Username);
authstateprovider.NotifyAuthenticationChanged();
- NavigationManager.NavigateTo(NavigateUrl(ReturnUrl, Reload.Site));
+ NavigationManager.NavigateTo(NavigateUrl(ReturnUrl));
}
else
{
diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor
index a051164f..30cfd525 100644
--- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor
+++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor
@@ -72,7 +72,7 @@
try
{
await ModuleDefinitionService.InstallModuleDefinitionsAsync();
- NavigationManager.NavigateTo(NavigateUrl(Reload.Application));
+ NavigationManager.NavigateTo(NavigateUrl());
}
catch (Exception ex)
{
diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor
index 68d535cd..f767c33b 100644
--- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor
+++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor
@@ -71,7 +71,7 @@
moduledefinition.Permissions = permissiongrid.GetPermissions();
await ModuleDefinitionService.UpdateModuleDefinitionAsync(moduledefinition);
await logger.LogInformation("ModuleDefinition Saved {ModuleDefinition}", moduledefinition);
- NavigationManager.NavigateTo(NavigateUrl(Reload.Site));
+ 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 3375eb3d..7d40389f 100644
--- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor
+++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor
@@ -78,7 +78,7 @@ else
await PackageService.DownloadPackageAsync(moduledefinitionname, version, "Modules");
await ModuleDefinitionService.InstallModuleDefinitionsAsync();
await logger.LogInformation("Module Downloaded {ModuleDefinitionName} {Version}", moduledefinitionname, version);
- NavigationManager.NavigateTo(NavigateUrl(Reload.Application));
+ NavigationManager.NavigateTo(NavigateUrl());
}
catch (Exception ex)
{
@@ -93,7 +93,7 @@ else
{
await ModuleDefinitionService.DeleteModuleDefinitionAsync(ModuleDefinition.ModuleDefinitionId, ModuleDefinition.SiteId);
await logger.LogInformation("Module Deleted {ModuleDefinition}", ModuleDefinition);
- NavigationManager.NavigateTo(NavigateUrl(Reload.Application));
+ NavigationManager.NavigateTo(NavigateUrl());
}
catch (Exception ex)
{
diff --git a/Oqtane.Client/Modules/Admin/Modules/Import.razor b/Oqtane.Client/Modules/Admin/Modules/Import.razor
index 2db62162..56549632 100644
--- a/Oqtane.Client/Modules/Admin/Modules/Import.razor
+++ b/Oqtane.Client/Modules/Admin/Modules/Import.razor
@@ -33,7 +33,8 @@
try
{
await ModuleService.ImportModuleAsync(ModuleState.ModuleId, content);
- NavigationManager.NavigateTo(NavigateUrl(Reload.Page));
+ StateHasChanged();
+ NavigationManager.NavigateTo(NavigateUrl());
}
catch (Exception ex)
{
diff --git a/Oqtane.Client/Modules/Admin/Modules/Settings.razor b/Oqtane.Client/Modules/Admin/Modules/Settings.razor
index 14d8f9eb..18659e7e 100644
--- a/Oqtane.Client/Modules/Admin/Modules/Settings.razor
+++ b/Oqtane.Client/Modules/Admin/Modules/Settings.razor
@@ -115,7 +115,7 @@
moduleType.GetMethod("UpdateSettings").Invoke(settings, null); // method must be public in settings component
}
- NavigationManager.NavigateTo(NavigateUrl(Reload.Page));
+ NavigationManager.NavigateTo(NavigateUrl());
}
}
diff --git a/Oqtane.Client/Modules/Admin/Pages/Add.razor b/Oqtane.Client/Modules/Admin/Pages/Add.razor
index b5de908e..46543bca 100644
--- a/Oqtane.Client/Modules/Admin/Pages/Add.razor
+++ b/Oqtane.Client/Modules/Admin/Pages/Add.razor
@@ -315,7 +315,7 @@
await PageService.UpdatePageOrderAsync(page.SiteId, page.PageId, page.ParentId);
await logger.LogInformation("Page Added {Page}", page);
- NavigationManager.NavigateTo(NavigateUrl(page.Path, Reload.Site));
+ NavigationManager.NavigateTo(NavigateUrl(page.Path));
}
else
{
diff --git a/Oqtane.Client/Modules/Admin/Pages/Edit.razor b/Oqtane.Client/Modules/Admin/Pages/Edit.razor
index 2dc485d2..e0743b13 100644
--- a/Oqtane.Client/Modules/Admin/Pages/Edit.razor
+++ b/Oqtane.Client/Modules/Admin/Pages/Edit.razor
@@ -400,7 +400,7 @@
}
await logger.LogInformation("Page Saved {Page}", page);
- NavigationManager.NavigateTo(NavigateUrl(page.Path, Reload.Site));
+ NavigationManager.NavigateTo(NavigateUrl(page.Path));
}
else
{
diff --git a/Oqtane.Client/Modules/Admin/Pages/Index.razor b/Oqtane.Client/Modules/Admin/Pages/Index.razor
index bb6e030e..85f9f12f 100644
--- a/Oqtane.Client/Modules/Admin/Pages/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Pages/Index.razor
@@ -31,7 +31,7 @@
Page.IsDeleted = true;
await PageService.UpdatePageAsync(Page);
await logger.LogInformation("Page Deleted {Page}", Page);
- NavigationManager.NavigateTo(NavigateUrl("admin/pages", Reload.Site));
+ NavigationManager.NavigateTo(NavigateUrl("admin/pages"));
}
catch (Exception ex)
{
diff --git a/Oqtane.Client/Modules/Admin/RecycleBin/Index.razor b/Oqtane.Client/Modules/Admin/RecycleBin/Index.razor
index 9ba7b95b..72409259 100644
--- a/Oqtane.Client/Modules/Admin/RecycleBin/Index.razor
+++ b/Oqtane.Client/Modules/Admin/RecycleBin/Index.razor
@@ -117,7 +117,7 @@
await logger.LogInformation("Page Restored {Page}", Page);
await Load();
StateHasChanged();
- NavigationManager.NavigateTo(NavigateUrl(Reload.Site));
+ NavigationManager.NavigateTo(NavigateUrl());
}
catch (Exception ex)
{
@@ -134,7 +134,7 @@
await logger.LogInformation("Page Permanently Deleted {Page}", Page);
await Load();
StateHasChanged();
- NavigationManager.NavigateTo(NavigateUrl(Reload.Site));
+ NavigationManager.NavigateTo(NavigateUrl());
}
catch (Exception ex)
{
diff --git a/Oqtane.Client/Modules/Admin/Site/Index.razor b/Oqtane.Client/Modules/Admin/Site/Index.razor
index a2d6c815..f88898de 100644
--- a/Oqtane.Client/Modules/Admin/Site/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Site/Index.razor
@@ -329,7 +329,7 @@
await logger.LogInformation("Site Saved {Site}", site);
- NavigationManager.NavigateTo(NavigateUrl(Reload.Site));
+ NavigationManager.NavigateTo(NavigateUrl());
}
}
else
diff --git a/Oqtane.Client/Modules/Admin/Sites/Edit.razor b/Oqtane.Client/Modules/Admin/Sites/Edit.razor
index 70f5cac0..edd6359f 100644
--- a/Oqtane.Client/Modules/Admin/Sites/Edit.razor
+++ b/Oqtane.Client/Modules/Admin/Sites/Edit.razor
@@ -243,7 +243,7 @@
await Log(Alias, LogLevel.Information, "Edit", null, "Site Saved {Site}", site);
- NavigationManager.NavigateTo(NavigateUrl(Reload.Site));
+ NavigationManager.NavigateTo(NavigateUrl());
}
}
else
diff --git a/Oqtane.Client/Modules/Admin/Sites/Index.razor b/Oqtane.Client/Modules/Admin/Sites/Index.razor
index fa71d910..b00730fa 100644
--- a/Oqtane.Client/Modules/Admin/Sites/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Sites/Index.razor
@@ -61,7 +61,7 @@ else
{
await AliasService.DeleteAliasAsync(alias.AliasId);
}
- NavigationManager.NavigateTo(NavigateUrl(Reload.Site));
+ NavigationManager.NavigateTo(NavigateUrl());
}
else
{
diff --git a/Oqtane.Client/Modules/Admin/Themes/Add.razor b/Oqtane.Client/Modules/Admin/Themes/Add.razor
index 70e03747..08cd3d6e 100644
--- a/Oqtane.Client/Modules/Admin/Themes/Add.razor
+++ b/Oqtane.Client/Modules/Admin/Themes/Add.razor
@@ -61,7 +61,7 @@
private async Task InstallThemes()
{
await ThemeService.InstallThemesAsync();
- NavigationManager.NavigateTo(NavigateUrl(Reload.Application));
+ NavigationManager.NavigateTo(NavigateUrl());
}
private async Task DownloadTheme(string packageid, string version)
diff --git a/Oqtane.Client/Modules/Admin/Themes/Index.razor b/Oqtane.Client/Modules/Admin/Themes/Index.razor
index 501dec1b..09ec9823 100644
--- a/Oqtane.Client/Modules/Admin/Themes/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Themes/Index.razor
@@ -66,13 +66,13 @@ else
await PackageService.DownloadPackageAsync(themename, version, "Themes");
await logger.LogInformation("Theme Downloaded {ThemeName} {Version}", themename, version);
await ThemeService.InstallThemesAsync();
- NavigationManager.NavigateTo(NavigateUrl(Reload.Application));
+ NavigationManager.NavigateTo(NavigateUrl());
}
private async Task DeleteTheme(Theme Theme)
{
await ThemeService.DeleteThemeAsync(Theme.ThemeName);
await logger.LogInformation("Theme Deleted {Theme}", Theme);
- NavigationManager.NavigateTo(NavigateUrl(Reload.Application));
+ NavigationManager.NavigateTo(NavigateUrl());
}
}
\ No newline at end of file
diff --git a/Oqtane.Client/Modules/Admin/Upgrade/Index.razor b/Oqtane.Client/Modules/Admin/Upgrade/Index.razor
index d5e4c8a4..5093db2d 100644
--- a/Oqtane.Client/Modules/Admin/Upgrade/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Upgrade/Index.razor
@@ -47,13 +47,13 @@
private async Task Upgrade()
{
await InstallationService.Upgrade();
- NavigationManager.NavigateTo(NavigateUrl(Reload.Application));
+ NavigationManager.NavigateTo(NavigateUrl());
}
private async Task Download(string packageid, string version)
{
await PackageService.DownloadPackageAsync(packageid, version, "Framework");
await InstallationService.Upgrade();
- NavigationManager.NavigateTo(NavigateUrl(Reload.Application));
+ NavigationManager.NavigateTo(NavigateUrl());
}
}
\ No newline at end of file
diff --git a/Oqtane.Client/Modules/HtmlText/Edit.razor b/Oqtane.Client/Modules/HtmlText/Edit.razor
index c5829d05..ef89a891 100644
--- a/Oqtane.Client/Modules/HtmlText/Edit.razor
+++ b/Oqtane.Client/Modules/HtmlText/Edit.razor
@@ -189,7 +189,7 @@
await htmltextservice.AddHtmlTextAsync(htmltext);
}
await logger.LogInformation("Html/Text Content Saved {HtmlText}", htmltext);
- NavigationManager.NavigateTo(NavigateUrl(Reload.Page));
+ NavigationManager.NavigateTo(NavigateUrl());
}
catch (Exception ex)
{
diff --git a/Oqtane.Shared/Enums/MessageType.cs b/Oqtane.Client/Modules/MessageType.cs
similarity index 79%
rename from Oqtane.Shared/Enums/MessageType.cs
rename to Oqtane.Client/Modules/MessageType.cs
index 4610fdf4..a78f95f9 100644
--- a/Oqtane.Shared/Enums/MessageType.cs
+++ b/Oqtane.Client/Modules/MessageType.cs
@@ -1,4 +1,4 @@
-namespace Oqtane.Shared
+namespace Oqtane.Modules
{
public enum MessageType
{
diff --git a/Oqtane.Client/Modules/ModuleBase.cs b/Oqtane.Client/Modules/ModuleBase.cs
index 690dd4a1..ba0c637b 100644
--- a/Oqtane.Client/Modules/ModuleBase.cs
+++ b/Oqtane.Client/Modules/ModuleBase.cs
@@ -2,9 +2,9 @@
using Oqtane.Shared;
using Oqtane.Models;
using System.Threading.Tasks;
-using System.Linq;
using Oqtane.Services;
using System;
+using Oqtane.UI;
namespace Oqtane.Modules
{
@@ -49,29 +49,14 @@ namespace Oqtane.Modules
return NavigateUrl(PageState.Page.Path);
}
- public string NavigateUrl(Reload reload)
- {
- return NavigateUrl(PageState.Page.Path, reload);
- }
-
public string NavigateUrl(string path)
{
- return NavigateUrl(path, "", Reload.None);
- }
-
- public string NavigateUrl(string path, Reload reload)
- {
- return NavigateUrl(path, "", reload);
+ return NavigateUrl(path, "");
}
public string NavigateUrl(string path, string parameters)
{
- return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters, Reload.None);
- }
-
- public string NavigateUrl(string path, string parameters, Reload reload)
- {
- return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters, reload);
+ return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters);
}
public string EditUrl(string action)
diff --git a/Oqtane.Client/Services/FileService.cs b/Oqtane.Client/Services/FileService.cs
index 265ccb67..89dfee81 100644
--- a/Oqtane.Client/Services/FileService.cs
+++ b/Oqtane.Client/Services/FileService.cs
@@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Components;
using Microsoft.JSInterop;
using Oqtane.Models;
using Oqtane.Shared;
+using Oqtane.UI;
namespace Oqtane.Services
{
diff --git a/Oqtane.Client/Themes/ContainerBase.cs b/Oqtane.Client/Themes/ContainerBase.cs
index 2e55f969..d55b718f 100644
--- a/Oqtane.Client/Themes/ContainerBase.cs
+++ b/Oqtane.Client/Themes/ContainerBase.cs
@@ -2,8 +2,7 @@
using Microsoft.JSInterop;
using Oqtane.Shared;
using Oqtane.Models;
-using System.Threading.Tasks;
-using System.Linq;
+using Oqtane.UI;
namespace Oqtane.Themes
{
@@ -30,29 +29,14 @@ namespace Oqtane.Themes
return NavigateUrl(PageState.Page.Path);
}
- public string NavigateUrl(Reload reload)
- {
- return NavigateUrl(PageState.Page.Path, reload);
- }
-
public string NavigateUrl(string path)
{
- return NavigateUrl(path, "", Reload.None);
- }
-
- public string NavigateUrl(string path, Reload reload)
- {
- return NavigateUrl(path, "", reload);
+ return NavigateUrl(path, "");
}
public string NavigateUrl(string path, string parameters)
{
- return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters, Reload.None);
- }
-
- public string NavigateUrl(string path, string parameters, Reload reload)
- {
- return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters, reload);
+ return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters);
}
public string EditUrl(string action, string parameters)
diff --git a/Oqtane.Client/Themes/Controls/ControlPanel.razor b/Oqtane.Client/Themes/Controls/ControlPanel.razor
index 070afde9..4f4c7a77 100644
--- a/Oqtane.Client/Themes/Controls/ControlPanel.razor
+++ b/Oqtane.Client/Themes/Controls/ControlPanel.razor
@@ -29,9 +29,12 @@
+
+
+
-
-
+
+
@@ -69,10 +72,10 @@
}
-
+
-
+
-
-
+
-
+
+
+
@((MarkupString) _message)
@@ -325,7 +330,7 @@
var pageModule = new PageModule
{
- PageId = (_pageId == "-") ? PageState.Page.PageId : int.Parse(_pageId),
+ PageId = PageState.Page.PageId,
ModuleId = int.Parse(_moduleId),
Title = _title
};
@@ -361,7 +366,7 @@
_pageId = "-";
_moduleId = "-";
- NavigationManager.NavigateTo(NavigateUrl(Reload.Page));
+ NavigationManager.NavigateTo(NavigateUrl());
}
else
{
@@ -386,7 +391,7 @@
{
PageState.EditMode = true;
}
- NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "1" : "0"), Reload.Page));
+ NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "1" : "0")));
}
else
{
@@ -394,7 +399,7 @@
{
await PageService.AddPageAsync(PageState.Page.PageId, PageState.User.UserId);
PageState.EditMode = true;
- NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "1" : "0"), Reload.Page));
+ NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "1" : "0")));
}
}
}
@@ -469,13 +474,13 @@
page.IsDeleted = true;
await PageService.UpdatePageAsync(page);
await logger.Log(page.PageId, null, PageState.User.UserId, GetType().AssemblyQualifiedName, "ControlPanel", LogFunction.Delete, LogLevel.Information, null, "Page Deleted {Page}", page);
- NavigationManager.NavigateTo(NavigateUrl("", Reload.Site));
+ NavigationManager.NavigateTo(NavigateUrl(""));
}
else // personalized page
{
await PageService.DeletePageAsync(page.PageId);
await logger.Log(page.PageId, null, PageState.User.UserId, GetType().AssemblyQualifiedName, "ControlPanel", LogFunction.Delete, LogLevel.Information, null, "Page Deleted {Page}", page);
- NavigationManager.NavigateTo(NavigateUrl(Reload.Page));
+ NavigationManager.NavigateTo(NavigateUrl());
}
}
catch (Exception ex)
diff --git a/Oqtane.Client/Themes/Controls/Login.razor b/Oqtane.Client/Themes/Controls/Login.razor
index c2dff055..7abcebd0 100644
--- a/Oqtane.Client/Themes/Controls/Login.razor
+++ b/Oqtane.Client/Themes/Controls/Login.razor
@@ -46,7 +46,7 @@
{
// client-side Blazor
authstateprovider.NotifyAuthenticationChanged();
- NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "logout", Reload.Site));
+ NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "logout"));
}
}
}
diff --git a/Oqtane.Client/Themes/Controls/ModuleActions.razor b/Oqtane.Client/Themes/Controls/ModuleActions.razor
index 5ca37b44..09355535 100644
--- a/Oqtane.Client/Themes/Controls/ModuleActions.razor
+++ b/Oqtane.Client/Themes/Controls/ModuleActions.razor
@@ -70,7 +70,7 @@
{
PageModule pagemodule = await PageModuleService.GetPageModuleAsync(ModuleState.PageModuleId);
- string url = NavigateUrl(Reload.Page);
+ string url = NavigateUrl();
switch (action)
{
case "<<":
diff --git a/Oqtane.Client/Themes/LayoutBase.cs b/Oqtane.Client/Themes/LayoutBase.cs
index 27bac9a6..cd8d92e4 100644
--- a/Oqtane.Client/Themes/LayoutBase.cs
+++ b/Oqtane.Client/Themes/LayoutBase.cs
@@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Components;
using Oqtane.Shared;
+using Oqtane.UI;
namespace Oqtane.Themes
{
diff --git a/Oqtane.Client/Themes/ThemeBase.cs b/Oqtane.Client/Themes/ThemeBase.cs
index f0d05016..2ee51b39 100644
--- a/Oqtane.Client/Themes/ThemeBase.cs
+++ b/Oqtane.Client/Themes/ThemeBase.cs
@@ -1,6 +1,7 @@
using Microsoft.AspNetCore.Components;
using Microsoft.JSInterop;
using Oqtane.Shared;
+using Oqtane.UI;
using System.Threading.Tasks;
namespace Oqtane.Themes
@@ -34,29 +35,14 @@ namespace Oqtane.Themes
return NavigateUrl(PageState.Page.Path);
}
- public string NavigateUrl(Reload reload)
- {
- return NavigateUrl(PageState.Page.Path, reload);
- }
-
public string NavigateUrl(string path)
{
- return NavigateUrl(path, "", Reload.None);
- }
-
- public string NavigateUrl(string path, Reload reload)
- {
- return NavigateUrl(path, "", reload);
+ return NavigateUrl(path, "");
}
public string NavigateUrl(string path, string parameters)
{
- return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters, Reload.None);
- }
-
- public string NavigateUrl(string path, string parameters, Reload reload)
- {
- return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters, reload);
+ return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters);
}
public string EditUrl(int moduleid, string action)
diff --git a/Oqtane.Client/Themes/ThemeControlBase.cs b/Oqtane.Client/Themes/ThemeControlBase.cs
index baed86cf..13cc1923 100644
--- a/Oqtane.Client/Themes/ThemeControlBase.cs
+++ b/Oqtane.Client/Themes/ThemeControlBase.cs
@@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Components;
using Oqtane.Shared;
+using Oqtane.UI;
namespace Oqtane.Themes
{
@@ -13,29 +14,14 @@ namespace Oqtane.Themes
return NavigateUrl(PageState.Page.Path);
}
- public string NavigateUrl(Reload reload)
- {
- return NavigateUrl(PageState.Page.Path, reload);
- }
-
public string NavigateUrl(string path)
{
- return NavigateUrl(path, "", Reload.None);
- }
-
- public string NavigateUrl(string path, Reload reload)
- {
- return NavigateUrl(path, "", reload);
+ return NavigateUrl(path, "");
}
public string NavigateUrl(string path, string parameters)
{
- return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters, Reload.None);
- }
-
- public string NavigateUrl(string path, string parameters, Reload reload)
- {
- return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters, reload);
+ return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters);
}
public string EditUrl(int moduleid, string action)
diff --git a/Oqtane.Client/Shared/ContainerBuilder.razor b/Oqtane.Client/UI/ContainerBuilder.razor
similarity index 97%
rename from Oqtane.Client/Shared/ContainerBuilder.razor
rename to Oqtane.Client/UI/ContainerBuilder.razor
index 3e2e19ed..01dee688 100644
--- a/Oqtane.Client/Shared/ContainerBuilder.razor
+++ b/Oqtane.Client/UI/ContainerBuilder.razor
@@ -1,4 +1,4 @@
-@namespace Oqtane.Shared
+@namespace Oqtane.UI
@DynamicComponent
diff --git a/Oqtane.Client/Shared/Installer.razor b/Oqtane.Client/UI/Installer.razor
similarity index 99%
rename from Oqtane.Client/Shared/Installer.razor
rename to Oqtane.Client/UI/Installer.razor
index 71b5a846..cbaf3952 100644
--- a/Oqtane.Client/Shared/Installer.razor
+++ b/Oqtane.Client/UI/Installer.razor
@@ -1,4 +1,4 @@
-@namespace Oqtane.Shared
+@namespace Oqtane.UI
@inject NavigationManager NavigationManager
@inject IInstallationService InstallationService
@inject ISiteService SiteService
diff --git a/Oqtane.Client/Shared/Interop.cs b/Oqtane.Client/UI/Interop.cs
similarity index 99%
rename from Oqtane.Client/Shared/Interop.cs
rename to Oqtane.Client/UI/Interop.cs
index 82bf37a6..2ab8673e 100644
--- a/Oqtane.Client/Shared/Interop.cs
+++ b/Oqtane.Client/UI/Interop.cs
@@ -3,7 +3,7 @@ using Microsoft.JSInterop;
using System;
using System.Threading.Tasks;
-namespace Oqtane.Shared
+namespace Oqtane.UI
{
public class Interop
{
diff --git a/Oqtane.Client/Shared/ModuleInstance.razor b/Oqtane.Client/UI/ModuleInstance.razor
similarity index 98%
rename from Oqtane.Client/Shared/ModuleInstance.razor
rename to Oqtane.Client/UI/ModuleInstance.razor
index 8d563405..7487d2de 100644
--- a/Oqtane.Client/Shared/ModuleInstance.razor
+++ b/Oqtane.Client/UI/ModuleInstance.razor
@@ -1,4 +1,4 @@
-@namespace Oqtane.Shared
+@namespace Oqtane.UI
diff --git a/Oqtane.Client/Shared/PageState.cs b/Oqtane.Client/UI/PageState.cs
similarity index 96%
rename from Oqtane.Client/Shared/PageState.cs
rename to Oqtane.Client/UI/PageState.cs
index fc2eec10..e801ad73 100644
--- a/Oqtane.Client/Shared/PageState.cs
+++ b/Oqtane.Client/UI/PageState.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using Oqtane.Models;
-namespace Oqtane.Shared
+namespace Oqtane.UI
{
public class PageState
{
diff --git a/Oqtane.Client/Shared/Pane.razor b/Oqtane.Client/UI/Pane.razor
similarity index 99%
rename from Oqtane.Client/Shared/Pane.razor
rename to Oqtane.Client/UI/Pane.razor
index e1340677..755d7417 100644
--- a/Oqtane.Client/Shared/Pane.razor
+++ b/Oqtane.Client/UI/Pane.razor
@@ -1,4 +1,4 @@
-@namespace Oqtane.Shared
+@namespace Oqtane.UI
@inject IUserService UserService
@inject IModuleService ModuleService
@inject IModuleDefinitionService ModuleDefinitionService
diff --git a/Oqtane.Client/Shared/PaneLayout.razor b/Oqtane.Client/UI/PaneLayout.razor
similarity index 95%
rename from Oqtane.Client/Shared/PaneLayout.razor
rename to Oqtane.Client/UI/PaneLayout.razor
index 799b15a9..add8cc94 100644
--- a/Oqtane.Client/Shared/PaneLayout.razor
+++ b/Oqtane.Client/UI/PaneLayout.razor
@@ -1,4 +1,4 @@
-@namespace Oqtane.Shared
+@namespace Oqtane.UI
@DynamicComponent
diff --git a/Oqtane.Shared/Enums/Reload.cs b/Oqtane.Client/UI/Reload.cs
similarity index 78%
rename from Oqtane.Shared/Enums/Reload.cs
rename to Oqtane.Client/UI/Reload.cs
index 18e8f448..6fb632c6 100644
--- a/Oqtane.Shared/Enums/Reload.cs
+++ b/Oqtane.Client/UI/Reload.cs
@@ -1,4 +1,4 @@
-namespace Oqtane.Shared
+namespace Oqtane.UI
{
public enum Reload
{
diff --git a/Oqtane.Client/Shared/RichTextEditorInterop.cs b/Oqtane.Client/UI/RichTextEditorInterop.cs
similarity index 98%
rename from Oqtane.Client/Shared/RichTextEditorInterop.cs
rename to Oqtane.Client/UI/RichTextEditorInterop.cs
index 0552df47..50a46e48 100644
--- a/Oqtane.Client/Shared/RichTextEditorInterop.cs
+++ b/Oqtane.Client/UI/RichTextEditorInterop.cs
@@ -2,7 +2,7 @@
using Microsoft.JSInterop;
using System.Threading.Tasks;
-namespace Oqtane.Modules.Controls
+namespace Oqtane.UI
{
public static class RichTextEditorInterop
{
diff --git a/Oqtane.Client/Shared/SiteRouter.razor b/Oqtane.Client/UI/SiteRouter.razor
similarity index 99%
rename from Oqtane.Client/Shared/SiteRouter.razor
rename to Oqtane.Client/UI/SiteRouter.razor
index 95518631..b1344e32 100644
--- a/Oqtane.Client/Shared/SiteRouter.razor
+++ b/Oqtane.Client/UI/SiteRouter.razor
@@ -1,4 +1,4 @@
-@namespace Oqtane.Shared
+@namespace Oqtane.UI
@inject AuthenticationStateProvider AuthenticationStateProvider
@inject SiteState SiteState
@inject NavigationManager NavigationManager
@@ -92,10 +92,6 @@
querystring = ParseQueryString(path);
path = path.Substring(0, path.IndexOf("?"));
}
- if (querystring.ContainsKey("reload"))
- {
- reload = (Reload)int.Parse(querystring["reload"]);
- }
if (PageState != null)
{
diff --git a/Oqtane.Client/Shared/ThemeBuilder.razor b/Oqtane.Client/UI/ThemeBuilder.razor
similarity index 96%
rename from Oqtane.Client/Shared/ThemeBuilder.razor
rename to Oqtane.Client/UI/ThemeBuilder.razor
index 145e7449..dd12b058 100644
--- a/Oqtane.Client/Shared/ThemeBuilder.razor
+++ b/Oqtane.Client/UI/ThemeBuilder.razor
@@ -1,4 +1,4 @@
-@namespace Oqtane.Shared
+@namespace Oqtane.UI
@inject IJSRuntime jsRuntime
@DynamicComponent
diff --git a/Oqtane.Client/_Imports.razor b/Oqtane.Client/_Imports.razor
index cba766ad..22d11669 100644
--- a/Oqtane.Client/_Imports.razor
+++ b/Oqtane.Client/_Imports.razor
@@ -16,4 +16,5 @@
@using Oqtane.Services
@using Oqtane.Shared
@using Oqtane.Themes
-@using Oqtane.Themes.Controls
\ No newline at end of file
+@using Oqtane.Themes.Controls
+@using Oqtane.UI
\ No newline at end of file
diff --git a/Oqtane.Server/Controllers/PageController.cs b/Oqtane.Server/Controllers/PageController.cs
index 09025b22..8d3bff3a 100644
--- a/Oqtane.Server/Controllers/PageController.cs
+++ b/Oqtane.Server/Controllers/PageController.cs
@@ -130,6 +130,7 @@ namespace Oqtane.Controllers
page.IsPersonalizable = false;
page.UserId = int.Parse(userid);
page = _pages.AddPage(page);
+ _syncManager.AddSyncEvent("Site", page.SiteId);
// copy modules
List pagemodules = _pageModules.GetPageModules(page.SiteId).ToList();
@@ -173,6 +174,7 @@ namespace Oqtane.Controllers
if (ModelState.IsValid && _userPermissions.IsAuthorized(User, "Page", Page.PageId, "Edit"))
{
Page = _pages.UpdatePage(Page);
+ _syncManager.AddSyncEvent("Site", Page.SiteId);
_logger.Log(LogLevel.Information, this, LogFunction.Update, "Page Updated {Page}", Page);
}
else
@@ -202,6 +204,7 @@ namespace Oqtane.Controllers
}
order += 2;
}
+ _syncManager.AddSyncEvent("Site", siteid);
_logger.Log(LogLevel.Information, this, LogFunction.Update, "Page Order Updated {SiteId} {PageId} {ParentId}", siteid, pageid, parentid);
}
else
@@ -216,14 +219,16 @@ namespace Oqtane.Controllers
[Authorize(Roles = Constants.RegisteredRole)]
public void Delete(int id)
{
- if (_userPermissions.IsAuthorized(User, "Page", id, "Edit"))
+ Page page = _pages.GetPage(id);
+ if (_userPermissions.IsAuthorized(User, "Page", page.PageId, "Edit"))
{
- _pages.DeletePage(id);
- _logger.Log(LogLevel.Information, this, LogFunction.Delete, "Page Deleted {PageId}", id);
+ _pages.DeletePage(page.PageId);
+ _syncManager.AddSyncEvent("Site", page.SiteId);
+ _logger.Log(LogLevel.Information, this, LogFunction.Delete, "Page Deleted {PageId}", page.PageId);
}
else
{
- _logger.Log(LogLevel.Error, this, LogFunction.Delete, "User Not Authorized To Delete Page {PageId}", id);
+ _logger.Log(LogLevel.Error, this, LogFunction.Delete, "User Not Authorized To Delete Page {PageId}", page.PageId);
HttpContext.Response.StatusCode = 401;
}
}
diff --git a/Oqtane.Server/Controllers/PageModuleController.cs b/Oqtane.Server/Controllers/PageModuleController.cs
index c8e54a5d..1e2222cd 100644
--- a/Oqtane.Server/Controllers/PageModuleController.cs
+++ b/Oqtane.Server/Controllers/PageModuleController.cs
@@ -16,13 +16,15 @@ namespace Oqtane.Controllers
private readonly IPageModuleRepository _pageModules;
private readonly IModuleRepository _modules;
private readonly IUserPermissions _userPermissions;
+ private readonly ISyncManager _syncManager;
private readonly ILogManager _logger;
- public PageModuleController(IPageModuleRepository pageModules, IModuleRepository modules, IUserPermissions userPermissions, ILogManager logger)
+ public PageModuleController(IPageModuleRepository pageModules, IModuleRepository modules, IUserPermissions userPermissions, ISyncManager syncManager, ILogManager logger)
{
_pageModules = pageModules;
_modules = modules;
_userPermissions = userPermissions;
+ _syncManager = syncManager;
_logger = logger;
}
@@ -68,6 +70,7 @@ namespace Oqtane.Controllers
if (ModelState.IsValid && _userPermissions.IsAuthorized(User, "Page", PageModule.PageId, "Edit"))
{
PageModule = _pageModules.AddPageModule(PageModule);
+ _syncManager.AddSyncEvent("Page", PageModule.PageId);
_logger.Log(LogLevel.Information, this, LogFunction.Create, "Page Module Added {PageModule}", PageModule);
}
else
@@ -87,6 +90,7 @@ namespace Oqtane.Controllers
if (ModelState.IsValid && _userPermissions.IsAuthorized(User, "Module", PageModule.ModuleId, "Edit"))
{
PageModule = _pageModules.UpdatePageModule(PageModule);
+ _syncManager.AddSyncEvent("Page", PageModule.PageId);
_logger.Log(LogLevel.Information, this, LogFunction.Update, "Page Module Updated {PageModule}", PageModule);
}
else
@@ -116,6 +120,7 @@ namespace Oqtane.Controllers
}
order += 2;
}
+ _syncManager.AddSyncEvent("Page", pageid);
_logger.Log(LogLevel.Information, this, LogFunction.Update, "Page Module Order Updated {PageId} {Pane}", pageid, pane);
}
else
@@ -134,6 +139,7 @@ namespace Oqtane.Controllers
if (_userPermissions.IsAuthorized(User, "Page", pagemodule.PageId, "Edit"))
{
_pageModules.DeletePageModule(id);
+ _syncManager.AddSyncEvent("Page", pagemodule.PageId);
_logger.Log(LogLevel.Information, this, LogFunction.Delete, "Page Module Deleted {PageModuleId}", id);
}
else
diff --git a/Oqtane.Server/Controllers/SiteController.cs b/Oqtane.Server/Controllers/SiteController.cs
index ca4992c2..361da726 100644
--- a/Oqtane.Server/Controllers/SiteController.cs
+++ b/Oqtane.Server/Controllers/SiteController.cs
@@ -17,13 +17,15 @@ namespace Oqtane.Controllers
private readonly ISiteRepository _sites;
private readonly ITenantResolver _tenants;
private readonly IWebHostEnvironment _environment;
+ private readonly ISyncManager _syncManager;
private readonly ILogManager _logger;
- public SiteController(ISiteRepository sites, ITenantResolver tenants, IWebHostEnvironment environment, ILogManager logger)
+ public SiteController(ISiteRepository sites, ITenantResolver tenants, IWebHostEnvironment environment, ISyncManager syncManager, ILogManager logger)
{
_sites = sites;
_tenants = tenants;
_environment = environment;
+ _syncManager = syncManager;
_logger = logger;
}
@@ -77,6 +79,7 @@ namespace Oqtane.Controllers
if (ModelState.IsValid)
{
Site = _sites.UpdateSite(Site);
+ _syncManager.AddSyncEvent("Site", Site.SiteId);
_logger.Log(Site.SiteId, LogLevel.Information, this, LogFunction.Update, "Site Updated {Site}", Site);
}
return Site;
diff --git a/Oqtane.Server/Controllers/UserController.cs b/Oqtane.Server/Controllers/UserController.cs
index e157062e..d75f2921 100644
--- a/Oqtane.Server/Controllers/UserController.cs
+++ b/Oqtane.Server/Controllers/UserController.cs
@@ -27,9 +27,10 @@ namespace Oqtane.Controllers
private readonly ITenantResolver _tenants;
private readonly INotificationRepository _notifications;
private readonly IFolderRepository _folders;
+ private readonly ISyncManager _syncManager;
private readonly ILogManager _logger;
- public UserController(IUserRepository users, IRoleRepository roles, IUserRoleRepository userRoles, UserManager identityUserManager, SignInManager identitySignInManager, ITenantResolver tenants, INotificationRepository notifications, IFolderRepository folders, ILogManager logger)
+ public UserController(IUserRepository users, IRoleRepository roles, IUserRoleRepository userRoles, UserManager identityUserManager, SignInManager identitySignInManager, ITenantResolver tenants, INotificationRepository notifications, IFolderRepository folders, ISyncManager syncManager, ILogManager logger)
{
_users = users;
_roles = roles;
@@ -39,6 +40,7 @@ namespace Oqtane.Controllers
_tenants = tenants;
_folders = folders;
_notifications = notifications;
+ _syncManager = syncManager;
_logger = logger;
}
@@ -185,6 +187,7 @@ namespace Oqtane.Controllers
}
}
User = _users.UpdateUser(User);
+ _syncManager.AddSyncEvent("User", User.UserId);
User.Password = ""; // remove sensitive information
_logger.Log(LogLevel.Information, this, LogFunction.Update, "User Updated {User}", User);
}
@@ -240,6 +243,7 @@ namespace Oqtane.Controllers
user.LastLoginOn = DateTime.Now;
user.LastIPAddress = HttpContext.Connection.RemoteIpAddress.ToString();
_users.UpdateUser(user);
+ _syncManager.AddSyncEvent("User", User.UserId);
_logger.Log(LogLevel.Information, this, LogFunction.Security, "User Login Successful {Username}", User.Username);
if (SetCookie)
{
@@ -268,6 +272,7 @@ namespace Oqtane.Controllers
public async Task Logout([FromBody] User User)
{
await HttpContext.SignOutAsync(IdentityConstants.ApplicationScheme);
+ _syncManager.AddSyncEvent("User", User.UserId);
_logger.Log(LogLevel.Information, this, LogFunction.Security, "User Logout {Username}", User.Username);
}
diff --git a/Oqtane.Shared/Shared/Constants.cs b/Oqtane.Shared/Shared/Constants.cs
index 12305ca7..09f5f334 100644
--- a/Oqtane.Shared/Shared/Constants.cs
+++ b/Oqtane.Shared/Shared/Constants.cs
@@ -5,8 +5,8 @@
public const string PackageId = "Oqtane.Framework";
public const string Version = "0.0.1";
- public const string PageComponent = "Oqtane.Shared.ThemeBuilder, Oqtane.Client";
- public const string ContainerComponent = "Oqtane.Shared.ContainerBuilder, Oqtane.Client";
+ public const string PageComponent = "Oqtane.UI.ThemeBuilder, Oqtane.Client";
+ public const string ContainerComponent = "Oqtane.UI.ContainerBuilder, Oqtane.Client";
public const string DefaultTheme = "Oqtane.Themes.BlazorTheme.Default, Oqtane.Client";
public const string DefaultLayout = "";
diff --git a/Oqtane.Client/Shared/SiteState.cs b/Oqtane.Shared/Shared/SiteState.cs
similarity index 55%
rename from Oqtane.Client/Shared/SiteState.cs
rename to Oqtane.Shared/Shared/SiteState.cs
index 89de8abe..159d29e6 100644
--- a/Oqtane.Client/Shared/SiteState.cs
+++ b/Oqtane.Shared/Shared/SiteState.cs
@@ -2,7 +2,7 @@
namespace Oqtane.Shared
{
- // this class is used for passing state between Blazor components and Services
+ // this class is used for passing state between components and services, or controllers and repositories
public class SiteState
{
public Alias Alias { get; set; }
diff --git a/Oqtane.Shared/Shared/Utilities.cs b/Oqtane.Shared/Shared/Utilities.cs
index 2bfff132..a4d10ce5 100644
--- a/Oqtane.Shared/Shared/Utilities.cs
+++ b/Oqtane.Shared/Shared/Utilities.cs
@@ -5,7 +5,7 @@ namespace Oqtane.Shared
{
public class Utilities
{
- public static string NavigateUrl(string alias, string path, string parameters, Reload reload)
+ public static string NavigateUrl(string alias, string path, string parameters)
{
string url = "";
if (alias != "")
@@ -24,10 +24,6 @@ namespace Oqtane.Shared
{
url += "?" + parameters;
}
- if (reload != Reload.None)
- {
- url += ((string.IsNullOrEmpty(parameters)) ? "?" : "&") + "reload=" + ((int)reload).ToString();
- }
if (!url.StartsWith("/"))
{
url = "/" + url;
@@ -37,7 +33,7 @@ namespace Oqtane.Shared
public static string EditUrl(string alias, string path, int moduleid, string action, string parameters)
{
- string url = NavigateUrl(alias, path, "", Reload.None);
+ string url = NavigateUrl(alias, path, "");
if (url == "/") url = "";
if (moduleid != -1)
{