diff --git a/Oqtane.Client/Themes/Controls/Container/ModuleActionsBase.cs b/Oqtane.Client/Themes/Controls/Container/ModuleActionsBase.cs index edf5b8e4..3739ce5e 100644 --- a/Oqtane.Client/Themes/Controls/Container/ModuleActionsBase.cs +++ b/Oqtane.Client/Themes/Controls/Container/ModuleActionsBase.cs @@ -96,7 +96,7 @@ namespace Oqtane.Themes.Controls { PageModule pagemodule = await PageModuleService.GetPageModuleAsync(ModuleState.PageModuleId); - string url = NavigateUrl(); + string url = NavigateUrl(true); if (action.Action != null) { @@ -115,7 +115,7 @@ namespace Oqtane.Themes.Controls await PageModuleService.UpdatePageModuleAsync(pagemodule); await PageModuleService.UpdatePageModuleOrderAsync(pagemodule.PageId, pagemodule.Pane); await PageModuleService.UpdatePageModuleOrderAsync(pagemodule.PageId, oldPane); - return NavigateUrl(url, true); + return url; } private async Task DeleteModule(string url, PageModule pagemodule) @@ -123,7 +123,7 @@ namespace Oqtane.Themes.Controls pagemodule.IsDeleted = true; await PageModuleService.UpdatePageModuleAsync(pagemodule); await PageModuleService.UpdatePageModuleOrderAsync(pagemodule.PageId, pagemodule.Pane); - return NavigateUrl(url, true); + return url; } private async Task Settings(string url, PageModule pagemodule) @@ -133,7 +133,7 @@ namespace Oqtane.Themes.Controls return url; } - private async Task Publish(string s, PageModule pagemodule) + private async Task Publish(string url, PageModule pagemodule) { var permissions = UserSecurity.GetPermissionStrings(pagemodule.Module.Permissions); foreach (var permissionstring in permissions) @@ -148,10 +148,10 @@ namespace Oqtane.Themes.Controls } pagemodule.Module.Permissions = UserSecurity.SetPermissionStrings(permissions); await ModuleService.UpdateModuleAsync(pagemodule.Module); - return NavigateUrl(s, true); + return url; } - private async Task Unpublish(string s, PageModule pagemodule) + private async Task Unpublish(string url, PageModule pagemodule) { var permissions = UserSecurity.GetPermissionStrings(pagemodule.Module.Permissions); foreach (var permissionstring in permissions) @@ -166,39 +166,39 @@ namespace Oqtane.Themes.Controls } pagemodule.Module.Permissions = UserSecurity.SetPermissionStrings(permissions); await ModuleService.UpdateModuleAsync(pagemodule.Module); - return NavigateUrl(s, true); + return url; } - private async Task MoveTop(string s, PageModule pagemodule) + private async Task MoveTop(string url, PageModule pagemodule) { pagemodule.Order = 0; await PageModuleService.UpdatePageModuleAsync(pagemodule); await PageModuleService.UpdatePageModuleOrderAsync(pagemodule.PageId, pagemodule.Pane); - return NavigateUrl(s, true); + return url; } - private async Task MoveBottom(string s, PageModule pagemodule) + private async Task MoveBottom(string url, PageModule pagemodule) { pagemodule.Order = int.MaxValue; await PageModuleService.UpdatePageModuleAsync(pagemodule); await PageModuleService.UpdatePageModuleOrderAsync(pagemodule.PageId, pagemodule.Pane); - return NavigateUrl(s, true); + return url; } - private async Task MoveUp(string s, PageModule pagemodule) + private async Task MoveUp(string url, PageModule pagemodule) { pagemodule.Order -= 3; await PageModuleService.UpdatePageModuleAsync(pagemodule); await PageModuleService.UpdatePageModuleOrderAsync(pagemodule.PageId, pagemodule.Pane); - return NavigateUrl(s, true); + return url; } - private async Task MoveDown(string s, PageModule pagemodule) + private async Task MoveDown(string url, PageModule pagemodule) { pagemodule.Order += 3; await PageModuleService.UpdatePageModuleAsync(pagemodule); await PageModuleService.UpdatePageModuleOrderAsync(pagemodule.PageId, pagemodule.Pane); - return NavigateUrl(s, true); + return url; } public class ActionViewModel diff --git a/Oqtane.Client/UI/ContainerBuilder.razor b/Oqtane.Client/UI/ContainerBuilder.razor index a48dfe0f..98d8702f 100644 --- a/Oqtane.Client/UI/ContainerBuilder.razor +++ b/Oqtane.Client/UI/ContainerBuilder.razor @@ -1,6 +1,6 @@ @namespace Oqtane.UI - + @if (_useadminborder) {
diff --git a/Oqtane.Shared/Shared/Utilities.cs b/Oqtane.Shared/Shared/Utilities.cs index db4e3e94..1c7845fa 100644 --- a/Oqtane.Shared/Shared/Utilities.cs +++ b/Oqtane.Shared/Shared/Utilities.cs @@ -1,6 +1,7 @@ using Oqtane.Models; using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.Globalization; using System.IO; using System.Linq; @@ -60,13 +61,16 @@ namespace Oqtane.Shared string urlparameters; string querystring; string anchor; - (urlparameters, querystring, anchor) = ParseParameters(parameters); + // parse parameters + (urlparameters, querystring, anchor) = ParseParameters(parameters); if (!string.IsNullOrEmpty(urlparameters)) { if (urlparameters.StartsWith("/")) urlparameters = urlparameters.Remove(0, 1); path += $"/{Constants.UrlParametersDelimiter}/{urlparameters}"; } + + // build url var uriBuilder = new UriBuilder { Path = !string.IsNullOrEmpty(alias) @@ -76,9 +80,9 @@ namespace Oqtane.Shared : $"{path}", Query = querystring, }; + anchor = string.IsNullOrEmpty(anchor) ? "" : "#" + anchor; - var navigateUrl = uriBuilder.Uri.PathAndQuery + anchor; - return navigateUrl; + return uriBuilder.Uri.PathAndQuery + anchor; } public static string EditUrl(string alias, string path, int moduleid, string action, string parameters)