fix #1647 - module reordering on page issue

This commit is contained in:
Shaun Walker 2021-09-10 13:12:00 -04:00
parent 53e5728ad2
commit 14fbc3a5b4
3 changed files with 23 additions and 19 deletions

View File

@ -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<string> 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<string> Settings(string url, PageModule pagemodule)
@ -133,7 +133,7 @@ namespace Oqtane.Themes.Controls
return url;
}
private async Task<string> Publish(string s, PageModule pagemodule)
private async Task<string> 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<string> Unpublish(string s, PageModule pagemodule)
private async Task<string> 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<string> MoveTop(string s, PageModule pagemodule)
private async Task<string> 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<string> MoveBottom(string s, PageModule pagemodule)
private async Task<string> 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<string> MoveUp(string s, PageModule pagemodule)
private async Task<string> 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<string> MoveDown(string s, PageModule pagemodule)
private async Task<string> 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

View File

@ -1,6 +1,6 @@
@namespace Oqtane.UI
<CascadingValue Value="@ModuleState" IsFixed="true">
<CascadingValue Value="@ModuleState" IsFixed="@(!PageState.EditMode)">
@if (_useadminborder)
{
<div class="app-pane-admin-border">

View File

@ -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)