updated namespaces, improved page management,

This commit is contained in:
Shaun Walker
2019-09-14 15:31:12 -04:00
parent 2a691dbceb
commit 7d5e35c637
73 changed files with 608 additions and 309 deletions

View File

@ -4,6 +4,7 @@
@using Oqtane.Themes
@using Oqtane.Shared
@using Oqtane.Security
@namespace Oqtane.Themes.Controls
@inherits ThemeObjectBase
@inject IUriHelper UriHelper
@inject IUserService UserService
@ -133,9 +134,10 @@
}
pagemodule.Title = title;
pagemodule.Pane = pane;
pagemodule.Order = 0;
pagemodule.Order = int.MaxValue;
pagemodule.ContainerType = containertype;
await PageModuleService.AddPageModuleAsync(pagemodule);
await PageModuleService.UpdatePageModuleOrderAsync(pagemodule.PageId, pagemodule.Pane);
PageState.Reload = Constants.ReloadPage;
UriHelper.NavigateTo(NavigateUrl());

View File

@ -3,6 +3,7 @@
@using Oqtane.Providers
@using Oqtane.Shared
@using Microsoft.JSInterop
@namespace Oqtane.Themes.Controls
@inherits ThemeObjectBase
@inject IUriHelper UriHelper
@inject IUserService UserService

View File

@ -1,4 +1,5 @@
@using Oqtane.Themes
@namespace Oqtane.Themes.Controls
@inherits ThemeObjectBase
@((MarkupString)logo)

View File

@ -3,6 +3,7 @@
@using Oqtane.Services
@using Oqtane.Models;
@using Oqtane.Security
@namespace Oqtane.Themes.Controls
@inherits ThemeObjectBase
@inject IPageService PageService
@inject IUserService UserService
@ -23,7 +24,7 @@
{
string url = NavigateUrl(p.Path);
<li class="nav-item px-3">
<NavLink class="nav-link" href="@url" Match="NavLinkMatch.All">
<NavLink @key="@p.PageId" class="nav-link" href="@url" Match="NavLinkMatch.All">
<span class="oi @p.Icon" aria-hidden="true"></span> @p.Name
</NavLink>
</li>
@ -41,7 +42,7 @@
if (PageState.Pages.Where(item => item.ParentId == PageState.Page.PageId).FirstOrDefault() == null)
{
// display list of pages which have same parent as current page
pages = PageState.Pages.Where(item => item.ParentId == PageState.Page.ParentId).ToList();
pages = PageState.Pages.Where(item => item.ParentId == PageState.Page.ParentId).OrderBy(item => item.Order).ToList();
// if current page has parent
if (PageState.Page.ParentId != null)
{
@ -51,7 +52,7 @@
else
{
// display list of pages which are children of current page
pages = PageState.Pages.Where(item => item.ParentId == PageState.Page.PageId).ToList();
pages = PageState.Pages.Where(item => item.ParentId == PageState.Page.PageId).OrderBy(item => item.Order).ToList();
// current page is parent
parent = PageState.Pages.Where(item => item.ParentId == PageState.Page.ParentId).FirstOrDefault();
}

View File

@ -0,0 +1,68 @@
@using Microsoft.AspNetCore.Components.Routing
@using Oqtane.Themes
@using Oqtane.Services
@using Oqtane.Models;
@using Oqtane.Security
@namespace Oqtane.Themes.Controls
@inherits ThemeObjectBase
@inject IUserService UserService
@if (menu != "")
{
@((MarkupString)menu)
}
@code {
string menu = "";
protected override void OnInitialized()
{
int level = -1;
int securitylevel = int.MaxValue;
menu = "<ul class=\"nav flex-column\">\n";
foreach (Page p in PageState.Pages.Where(item => item.IsNavigation))
{
for (int l = p.Level; l < level; l++)
{
menu += "</ul>\n";
menu += "</div>\n";
}
if (UserSecurity.IsAuthorized(PageState.User, "View", p.Permissions) && p.Level <= securitylevel)
{
securitylevel = int.MaxValue;
if (p.HasChildren)
{
menu += "<li class=\"nav-item px-3\">\n";
menu += "<a class=\"nav-link collapsed\" href=\"#submenu" + p.PageId.ToString() + "\" data-toggle=\"collapse\" data-target=\"#submenu" + p.PageId.ToString() + "\">";
menu += "<span class=\"oi " + p.Icon + "\" aria-hidden=\"true\"></span>" + p.Name;
menu += "</a>\n";
menu += "<div class=\"collapse\" id=\"submenu" + p.PageId.ToString() + "\" aria-expanded=\"false\">\n";
menu += "<ul class=\"nav flex-column\">\n";
}
else
{
menu += "<li class=\"nav-item px-3\">\n";
menu += "<a class=\"nav-link\" href=\"" + NavigateUrl(p.Path) + "\">";
menu += "<span class=\"oi " + p.Icon + "\" aria-hidden=\"true\"></span>" + p.Name;
menu += "</a>\n";
menu += "</li>\n";
}
level = p.Level;
}
else
{
if (securitylevel == int.MaxValue)
{
securitylevel = p.Level;
}
}
}
for (int l = 0; l < level; l++)
{
menu += "</ul>\n";
menu += "</div>\n";
}
menu += "</ul>";
}
}

View File

@ -3,6 +3,7 @@
@using Oqtane.Models
@using Oqtane.Shared
@using Oqtane.Security
@namespace Oqtane.Themes.Controls
@inherits ContainerBase
@inject IUriHelper UriHelper
@inject IUserService UserService
@ -82,7 +83,7 @@
await PageModuleService.UpdatePageModuleOrderAsync(pagemodule.PageId, pagemodule.Pane);
break;
case ">>":
pagemodule.Order = ModuleState.PaneModuleCount * 2;
pagemodule.Order = int.MaxValue;
await PageModuleService.UpdatePageModuleAsync(pagemodule);
await PageModuleService.UpdatePageModuleOrderAsync(pagemodule.PageId, pagemodule.Pane);
break;

View File

@ -1,4 +1,5 @@
@using Oqtane.Themes
@namespace Oqtane.Themes.Controls
@inherits ContainerBase
@title

View File

@ -1,4 +1,5 @@
@using Oqtane.Themes
@namespace Oqtane.Themes.Controls
@inherits ThemeObjectBase
@inject IUriHelper UriHelper