Improved CSS handling
This commit is contained in:
@ -175,6 +175,9 @@
|
||||
themes = ThemeService.GetThemeTypes(PageState.Themes);
|
||||
panelayouts = ThemeService.GetPaneLayoutTypes(PageState.Themes);
|
||||
|
||||
themetype = PageState.Site.DefaultThemeType;
|
||||
layouttype = PageState.Site.DefaultLayoutType;
|
||||
|
||||
List<PermissionString> permissionstrings = new List<PermissionString>();
|
||||
permissionstrings.Add(new PermissionString { PermissionName = "View", Permissions = Constants.AdminRole });
|
||||
permissionstrings.Add(new PermissionString { PermissionName = "Edit", Permissions = Constants.AdminRole });
|
||||
|
@ -11,7 +11,7 @@
|
||||
{
|
||||
<ActionLink Action="Add" Text="Add Page" Style="float: right; margin: 10px;" />
|
||||
|
||||
<Pager Items="@PageState.Pages" DisplayPages="3" PageSize="3">
|
||||
<Pager Items="@PageState.Pages">
|
||||
<Header>
|
||||
<th>Name</th>
|
||||
<th> </th>
|
||||
|
@ -70,7 +70,7 @@
|
||||
{
|
||||
if (string.IsNullOrEmpty(PageSize))
|
||||
{
|
||||
MaxItems = 5;
|
||||
MaxItems = 10;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -102,6 +102,10 @@
|
||||
{
|
||||
permissionnames = "View,Edit";
|
||||
}
|
||||
else
|
||||
{
|
||||
permissionnames = PermissionNames;
|
||||
}
|
||||
roles = await RoleService.GetRolesAsync(ModuleState.SiteId);
|
||||
roles.Insert(0, new Role { Name = Constants.AllUsersRole });
|
||||
|
||||
|
42
Oqtane.Client/Modules/HelloWorld/Index.razor
Normal file
42
Oqtane.Client/Modules/HelloWorld/Index.razor
Normal file
@ -0,0 +1,42 @@
|
||||
@using Microsoft.AspNetCore.Components.Web
|
||||
@using Oqtane.Modules
|
||||
@using Oqtane.Services
|
||||
@namespace Oqtane.Modules.HelloWorld
|
||||
@inherits ModuleBase
|
||||
@inject ISettingService SettingService
|
||||
|
||||
<div class="container">
|
||||
<div>
|
||||
<label for="Url" class="control-label">Image Url: </label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="text" name="Url" class="form-control" placeholder="Image Url" @bind="@url" />
|
||||
</div>
|
||||
<button type="button" class="btn btn-primary" @onclick="Save">Save</button>
|
||||
<div>
|
||||
@if (!string.IsNullOrEmpty(url))
|
||||
{
|
||||
<br />
|
||||
<img src="@url" />
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
string url = "";
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
Dictionary<string, string> settings = await SettingService.GetModuleSettingsAsync(ModuleState.ModuleId);
|
||||
url = SettingService.GetSetting(settings, "url", "");
|
||||
}
|
||||
|
||||
private async Task Save()
|
||||
{
|
||||
Dictionary<string, string> settings = await SettingService.GetModuleSettingsAsync(ModuleState.ModuleId);
|
||||
SettingService.SetSetting(settings, "url", url);
|
||||
await SettingService.UpdateModuleSettingsAsync(settings, ModuleState.ModuleId);
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
}
|
@ -1,11 +1,16 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.JSInterop;
|
||||
using Oqtane.Shared;
|
||||
using Oqtane.Models;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Oqtane.Modules
|
||||
{
|
||||
public class ModuleBase : ComponentBase, IModuleControl
|
||||
{
|
||||
[Inject]
|
||||
protected IJSRuntime JSRuntime { get; set; }
|
||||
|
||||
[CascadingParameter]
|
||||
protected PageState PageState { get; set; }
|
||||
|
||||
@ -25,6 +30,16 @@ namespace Oqtane.Modules
|
||||
return "Modules/" + this.GetType().Namespace + "/";
|
||||
}
|
||||
|
||||
public async Task AddCSS(string Url)
|
||||
{
|
||||
if (!Url.StartsWith("http"))
|
||||
{
|
||||
Url = ModulePath() + Url;
|
||||
}
|
||||
var interop = new Interop(JSRuntime);
|
||||
await interop.AddCSS("Module:" + Utilities.CreateIdFromUrl(Url), Url);
|
||||
}
|
||||
|
||||
public string NavigateUrl()
|
||||
{
|
||||
return NavigateUrl(PageState.Page.Path);
|
||||
|
Reference in New Issue
Block a user