@using Microsoft.AspNetCore.Components.Routing
@using Oqtane.Services
@using Oqtane.Models
@using Oqtane.Modules
@using Oqtane.Shared
@using Oqtane.Client.Modules.Controls
@inherits ModuleBase
@inject IUriHelper UriHelper
@inject ISkinService SkinService
@inject IModuleService ModuleService
@inject IPageModuleService PageModuleService
Cancel
@functions {
public override SecurityAccessLevelEnum SecurityAccessLevel { get { return SecurityAccessLevelEnum.Edit; } }
public override string Title { get { return "Module Settings"; } }
Dictionary containers = new Dictionary();
string title;
string containertype;
string viewpermissions;
string editpermissions;
string pageid;
protected override async Task OnInitAsync()
{
title = ModuleState.Title;
List Skins = await SkinService.GetSkinsAsync();
foreach (Skin skin in Skins)
{
foreach (string container in skin.ContainerControls.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries))
{
containers.Add(container, skin.Name + " - " + @Utilities.GetTypeNameClass(container));
}
}
containertype = ModuleState.ContainerType;
viewpermissions = ModuleState.ViewPermissions;
editpermissions = ModuleState.EditPermissions;
pageid = ModuleState.PageId.ToString();
}
private async Task SaveModule()
{
Module module = ModuleState;
module.ViewPermissions = viewpermissions;
module.EditPermissions = editpermissions;
await ModuleService.UpdateModuleAsync(module);
PageModule pagemodule = new PageModule();
pagemodule.PageModuleId = ModuleState.PageModuleId;
pagemodule.PageId = Int32.Parse(pageid);
pagemodule.ModuleId = ModuleState.ModuleId;
pagemodule.Title = title;
pagemodule.Pane = ModuleState.Pane;
pagemodule.Order = ModuleState.Order;
pagemodule.ContainerType = containertype;
await PageModuleService.UpdatePageModuleAsync(pagemodule);
UriHelper.NavigateTo(NavigateUrl(true));
}
}