fix #2777 - module rendering order within pane - moved default module ordering logic to server API for consistency and better performance

This commit is contained in:
sbwalker 2023-05-03 12:25:52 -04:00
parent e4a24df7b4
commit e444c6bcf0
4 changed files with 5 additions and 6 deletions

View File

@ -18,11 +18,7 @@ namespace Oqtane.Services
public async Task<List<Module>> GetModulesAsync(int siteId)
{
List<Module> modules = await GetJsonAsync<List<Module>>($"{Apiurl}?siteid={siteId}");
modules = modules
.OrderBy(item => item.Order)
.ToList();
return modules;
return await GetJsonAsync<List<Module>>($"{Apiurl}?siteid={siteId}");
}
public async Task<Module> GetModuleAsync(int moduleId)

View File

@ -127,7 +127,7 @@ else
}
else
{
foreach (Module module in PageState.Modules.Where(item => item.PageId == PageState.Page.PageId && item.Pane.ToLower() == Name.ToLower()).OrderBy(x => x.Order).ToArray())
foreach (Module module in PageState.Modules.Where(item => item.PageId == PageState.Page.PageId && item.Pane.ToLower() == Name.ToLower()))
{
// check if user is authorized to view module
if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.PermissionList))

View File

@ -9,6 +9,7 @@ using Oqtane.Infrastructure;
using Oqtane.Repository;
using Oqtane.Security;
using System.Net;
using System.Security.Policy;
namespace Oqtane.Controllers
{
@ -83,6 +84,7 @@ namespace Oqtane.Controllers
modules.Add(module);
}
modules = modules.OrderBy(item => item.PageId).ThenBy(item => item.Pane).ThenBy(item => item.Order).ToList();
}
}
else

View File

@ -137,6 +137,7 @@ namespace Oqtane.Controllers
site.Modules.Add(module);
}
}
site.Modules = site.Modules.OrderBy(item => item.PageId).ThenBy(item => item.Pane).ThenBy(item => item.Order).ToList();
// languages
site.Languages = _languages.GetLanguages(site.SiteId).ToList();