From e444c6bcf0c7e83d76ab2f6d5d8f3df9da4cf255 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Wed, 3 May 2023 12:25:52 -0400 Subject: [PATCH] fix #2777 - module rendering order within pane - moved default module ordering logic to server API for consistency and better performance --- Oqtane.Client/Services/ModuleService.cs | 6 +----- Oqtane.Client/UI/Pane.razor | 2 +- Oqtane.Server/Controllers/ModuleController.cs | 2 ++ Oqtane.Server/Controllers/SiteController.cs | 1 + 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Oqtane.Client/Services/ModuleService.cs b/Oqtane.Client/Services/ModuleService.cs index a87229f7..e1914004 100644 --- a/Oqtane.Client/Services/ModuleService.cs +++ b/Oqtane.Client/Services/ModuleService.cs @@ -18,11 +18,7 @@ namespace Oqtane.Services public async Task> GetModulesAsync(int siteId) { - List modules = await GetJsonAsync>($"{Apiurl}?siteid={siteId}"); - modules = modules - .OrderBy(item => item.Order) - .ToList(); - return modules; + return await GetJsonAsync>($"{Apiurl}?siteid={siteId}"); } public async Task GetModuleAsync(int moduleId) diff --git a/Oqtane.Client/UI/Pane.razor b/Oqtane.Client/UI/Pane.razor index 30b4f0f6..f193aab0 100644 --- a/Oqtane.Client/UI/Pane.razor +++ b/Oqtane.Client/UI/Pane.razor @@ -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)) diff --git a/Oqtane.Server/Controllers/ModuleController.cs b/Oqtane.Server/Controllers/ModuleController.cs index f6578624..7176057f 100644 --- a/Oqtane.Server/Controllers/ModuleController.cs +++ b/Oqtane.Server/Controllers/ModuleController.cs @@ -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 diff --git a/Oqtane.Server/Controllers/SiteController.cs b/Oqtane.Server/Controllers/SiteController.cs index 2ce891b7..895744a1 100644 --- a/Oqtane.Server/Controllers/SiteController.cs +++ b/Oqtane.Server/Controllers/SiteController.cs @@ -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();