allow developers to use custom icon libraries (Open Iconic is the default)
This commit is contained in:
parent
05b0b74578
commit
df382ce7a3
|
@ -1,4 +1,4 @@
|
||||||
@namespace Oqtane.Modules.Admin.Dashboard
|
@namespace Oqtane.Modules.Admin.Dashboard
|
||||||
@inherits ModuleBase
|
@inherits ModuleBase
|
||||||
@inject IPageService PageService
|
@inject IPageService PageService
|
||||||
@inject IUserService UserService
|
@inject IUserService UserService
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
string url = NavigateUrl(p.Path);
|
string url = NavigateUrl(p.Path);
|
||||||
<div class="col-md-2 mx-auto text-center">
|
<div class="col-md-2 mx-auto text-center">
|
||||||
<NavLink class="nav-link" href="@url" Match="NavLinkMatch.All">
|
<NavLink class="nav-link" href="@url" Match="NavLinkMatch.All">
|
||||||
<h2><span class="oi oi-@p.Icon" aria-hidden="true"></span></h2>@p.Name
|
<h2><span class="@p.Icon" aria-hidden="true"></span></h2>@p.Name
|
||||||
</NavLink>
|
</NavLink>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
|
@ -157,7 +157,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<Label For="Icon" HelpText="Optionally provide an icon for this page which will be displayed in the site navigation" ResourceKey="Icon">Icon: </Label>
|
<Label For="Icon" HelpText="Optionally provide an icon class name for this page which will be displayed in the site navigation" ResourceKey="Icon">Icon: </Label>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<input id="Icon" class="form-control" @bind="@_icon" />
|
<input id="Icon" class="form-control" @bind="@_icon" />
|
||||||
|
|
|
@ -168,7 +168,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<Label For="Icon" HelpText="Optionally provide an icon for this page which will be displayed in the site navigation" ResourceKey="Icon">Icon: </Label>
|
<Label For="Icon" HelpText="Optionally provide an icon class name for this page which will be displayed in the site navigation" ResourceKey="Icon">Icon: </Label>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<input id="Icon" class="form-control" @bind="@_icon" />
|
<input id="Icon" class="form-control" @bind="@_icon" />
|
||||||
|
|
|
@ -94,7 +94,11 @@
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(IconName))
|
if (!string.IsNullOrEmpty(IconName))
|
||||||
{
|
{
|
||||||
_iconSpan = $"<span class=\"oi oi-{IconName}\"></span> ";
|
if (!IconName.Contains(" "))
|
||||||
|
{
|
||||||
|
IconName = "oi oi-" + IconName;
|
||||||
|
}
|
||||||
|
_iconSpan = $"<span class=\"{IconName}\"></span> ";
|
||||||
}
|
}
|
||||||
|
|
||||||
Text = Localize(nameof(Text), Text);
|
Text = Localize(nameof(Text), Text);
|
||||||
|
|
|
@ -91,7 +91,11 @@
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(IconName))
|
if (!string.IsNullOrEmpty(IconName))
|
||||||
{
|
{
|
||||||
_iconSpan = $"<span class=\"oi oi-{IconName}\"></span>{(IconOnly ? "" : " ")}";
|
if (!IconName.Contains(" "))
|
||||||
|
{
|
||||||
|
IconName = "oi oi-" + IconName;
|
||||||
|
}
|
||||||
|
_iconSpan = $"<span class=\"{IconName}\"></span>{(IconOnly ? "" : " ")}";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
@namespace Oqtane.Themes.Controls
|
@namespace Oqtane.Themes.Controls
|
||||||
@inherits MenuBase
|
@inherits MenuBase
|
||||||
|
|
||||||
@if (MenuPages.Any())
|
@if (MenuPages.Any())
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
<a class="nav-link" href="@GetUrl(p)" target="@GetTarget(p)" >
|
<a class="nav-link" href="@GetUrl(p)" target="@GetTarget(p)" >
|
||||||
@if (p.Icon != string.Empty)
|
@if (p.Icon != string.Empty)
|
||||||
{
|
{
|
||||||
<span class="oi oi-@p.Icon" aria-hidden="true"></span>
|
<span class="@p.Icon" aria-hidden="true"></span>
|
||||||
}
|
}
|
||||||
@p.Name<span class="sr-only">(current)</span>
|
@p.Name<span class="sr-only">(current)</span>
|
||||||
</a>
|
</a>
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
<a class="nav-link" href="@GetUrl(p)" target="@GetTarget(p)" >
|
<a class="nav-link" href="@GetUrl(p)" target="@GetTarget(p)" >
|
||||||
@if (p.Icon != string.Empty)
|
@if (p.Icon != string.Empty)
|
||||||
{
|
{
|
||||||
<span class="oi oi-@p.Icon" aria-hidden="true"></span>
|
<span class="@p.Icon" aria-hidden="true"></span>
|
||||||
}
|
}
|
||||||
@p.Name
|
@p.Name
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
@namespace Oqtane.Themes.Controls
|
@namespace Oqtane.Themes.Controls
|
||||||
@inherits MenuBase
|
@inherits MenuBase
|
||||||
|
|
||||||
@if (MenuPages.Any())
|
@if (MenuPages.Any())
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
}
|
}
|
||||||
@if (p.Icon != string.Empty)
|
@if (p.Icon != string.Empty)
|
||||||
{
|
{
|
||||||
<span class="oi oi-@p.Icon" aria-hidden="true"></span>
|
<span class="@p.Icon" aria-hidden="true"></span>
|
||||||
}
|
}
|
||||||
@p.Name
|
@p.Name
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
@namespace Oqtane.Themes.Controls
|
@namespace Oqtane.Themes.Controls
|
||||||
@inherits ModuleActionsBase
|
@inherits ModuleActionsBase
|
||||||
@attribute [OqtaneIgnore]
|
@attribute [OqtaneIgnore]
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<span class="oi oi-@action.Icon" aria-hidden="true"></span>
|
<span class="@action.Icon" aria-hidden="true"></span>
|
||||||
}
|
}
|
||||||
|
|
||||||
@action.Name
|
@action.Name
|
||||||
|
|
|
@ -39,7 +39,7 @@ namespace Oqtane.SiteTemplates
|
||||||
Name = "Home",
|
Name = "Home",
|
||||||
Parent = "",
|
Parent = "",
|
||||||
Path = "",
|
Path = "",
|
||||||
Icon = "home",
|
Icon = "oi oi-home",
|
||||||
IsNavigation = true,
|
IsNavigation = true,
|
||||||
IsPersonalizable = false,
|
IsPersonalizable = false,
|
||||||
PagePermissions = new List<Permission> {
|
PagePermissions = new List<Permission> {
|
||||||
|
@ -85,7 +85,7 @@ namespace Oqtane.SiteTemplates
|
||||||
Name = "Private",
|
Name = "Private",
|
||||||
Parent = "",
|
Parent = "",
|
||||||
Path = "private",
|
Path = "private",
|
||||||
Icon = "lock-locked",
|
Icon = "oi oi-lock-locked",
|
||||||
IsNavigation = true,
|
IsNavigation = true,
|
||||||
IsPersonalizable = false,
|
IsPersonalizable = false,
|
||||||
PagePermissions = new List<Permission> {
|
PagePermissions = new List<Permission> {
|
||||||
|
@ -109,7 +109,7 @@ namespace Oqtane.SiteTemplates
|
||||||
Name = "My Page",
|
Name = "My Page",
|
||||||
Parent = "",
|
Parent = "",
|
||||||
Path = "mypage",
|
Path = "mypage",
|
||||||
Icon = "target",
|
Icon = "oi oi-target",
|
||||||
IsNavigation = true,
|
IsNavigation = true,
|
||||||
IsPersonalizable = true,
|
IsPersonalizable = true,
|
||||||
PagePermissions = new List<Permission> {
|
PagePermissions = new List<Permission> {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using Oqtane.Models;
|
using Oqtane.Models;
|
||||||
using Oqtane.Infrastructure;
|
using Oqtane.Infrastructure;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Oqtane.Extensions;
|
using Oqtane.Extensions;
|
||||||
|
@ -27,7 +27,7 @@ namespace Oqtane.SiteTemplates
|
||||||
Name = "Home",
|
Name = "Home",
|
||||||
Parent = "",
|
Parent = "",
|
||||||
Path = "",
|
Path = "",
|
||||||
Icon = "home",
|
Icon = "oi oi-home",
|
||||||
IsNavigation = true,
|
IsNavigation = true,
|
||||||
IsPersonalizable = false,
|
IsPersonalizable = false,
|
||||||
PagePermissions = new List<Permission> {
|
PagePermissions = new List<Permission> {
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
<EmbeddedResource Include="Scripts\Master.00.00.00.00.sql" />
|
<EmbeddedResource Include="Scripts\Master.00.00.00.00.sql" />
|
||||||
<EmbeddedResource Include="Scripts\Master.00.09.00.00.sql" />
|
<EmbeddedResource Include="Scripts\Master.00.09.00.00.sql" />
|
||||||
<EmbeddedResource Include="Scripts\Master.01.00.01.00.sql" />
|
<EmbeddedResource Include="Scripts\Master.01.00.01.00.sql" />
|
||||||
|
<EmbeddedResource Include="Scripts\Tenant.02.00.01.01.sql" />
|
||||||
<EmbeddedResource Include="Scripts\Tenant.00.00.00.00.sql" />
|
<EmbeddedResource Include="Scripts\Tenant.00.00.00.00.sql" />
|
||||||
<EmbeddedResource Include="Scripts\Tenant.00.09.00.00.sql" />
|
<EmbeddedResource Include="Scripts\Tenant.00.09.00.00.sql" />
|
||||||
<EmbeddedResource Include="Scripts\Tenant.00.09.01.00.sql" />
|
<EmbeddedResource Include="Scripts\Tenant.00.09.01.00.sql" />
|
||||||
|
@ -60,6 +61,9 @@
|
||||||
<UpgradeFiles Include="$(ProjectDir)bin\Release\net5.0\Oqtane.Upgrade.runtimeconfig.json" />
|
<UpgradeFiles Include="$(ProjectDir)bin\Release\net5.0\Oqtane.Upgrade.runtimeconfig.json" />
|
||||||
<TemplateFiles Include="$(ProjectDir)wwwroot\Modules\Templates\**\*.*" />
|
<TemplateFiles Include="$(ProjectDir)wwwroot\Modules\Templates\**\*.*" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Remove="Scripts\Tenant.02.00.01.01.sql" />
|
||||||
|
</ItemGroup>
|
||||||
<Target Name="AddPayloadsFolder" AfterTargets="Publish">
|
<Target Name="AddPayloadsFolder" AfterTargets="Publish">
|
||||||
<Copy SourceFiles="@(UpgradeFiles)" DestinationFiles="@(UpgradeFiles->'$(PublishDir)%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="false" />
|
<Copy SourceFiles="@(UpgradeFiles)" DestinationFiles="@(UpgradeFiles->'$(PublishDir)%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="false" />
|
||||||
<Copy SourceFiles="@(TemplateFiles)" DestinationFiles="@(TemplateFiles->'$(PublishDir)wwwroot\Modules\Templates\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="false" />
|
<Copy SourceFiles="@(TemplateFiles)" DestinationFiles="@(TemplateFiles->'$(PublishDir)wwwroot\Modules\Templates\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="false" />
|
||||||
|
|
9
Oqtane.Server/Scripts/Tenant.02.00.01.01.sql
Normal file
9
Oqtane.Server/Scripts/Tenant.02.00.01.01.sql
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
Version 2.0.1 Tenant migration script
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
UPDATE [dbo].[Page] SET Icon = IIF(Icon <> '', 'oi oi-' + Icon, '');
|
||||||
|
GO
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
namespace Oqtane.Shared
|
namespace Oqtane.Shared
|
||||||
{
|
{
|
||||||
//Open Iconic icons set
|
//Open Iconic icons set
|
||||||
public static class Icons
|
public static class Icons
|
||||||
{
|
{
|
||||||
private const string Prefix = ""; //oi-
|
private const string Prefix = "oi oi-";
|
||||||
public const string AccountLogin = Prefix + "account-login";
|
public const string AccountLogin = Prefix + "account-login";
|
||||||
public const string AccountLogout = Prefix + "account-logout";
|
public const string AccountLogout = Prefix + "account-logout";
|
||||||
public const string ActionRedo = Prefix + "action-redo";
|
public const string ActionRedo = Prefix + "action-redo";
|
||||||
|
|
Loading…
Reference in New Issue
Block a user