Introduction of the template FilesWithEditor

This commit is contained in:
2020-04-16 00:49:34 +02:00
parent 0af8f20db1
commit c584733ab1
23 changed files with 31565 additions and 48 deletions

View File

@@ -2,33 +2,17 @@
@page "/nginx"
<RadzenTabs>
<Tabs>
<RadzenTabsItem Text="Configuration">
<div class="pure-g">
<div class="pure-u-1-5">
<p>Configuration Files</p>
<RadzenListBox AllowFiltering="true"
FilterCaseSensitivity="FilterCaseSensitivity.CaseInsensitive"
@bind-Value="InputSearch"
Data="@ConfigFiles"
TextProperty="Name"
ValueProperty="Name"
Change="@(args => Change(args, "ListBox with filtering"))"
Style="margin-bottom: 20px; height:200px;" />
</div>
<div class="pure-g">
<div class="pure-u-1-5">
<p>Configuration Files</p>
heh
</div>
<div class="pure-u-4-5">
<h1>
Hello
</h1>
</div>
</div>
<div class="pure-u-4-5">
<h1>
Hello
</h1>
</div>
</div>
</RadzenTabsItem>
<RadzenTabsItem Text="Logs">
</RadzenTabsItem>
</Tabs>
</RadzenTabs>

View File

@@ -0,0 +1,18 @@
@inherits NginxLogsBase
@page "/nginx/logs"
<div class="pure-g">
<div class="pure-u-1-5">
<p>Configuration Files</p>
heh
</div>
<div class="pure-u-4-5">
<h1>
Hello
</h1>
</div>
</div>

View File

@@ -0,0 +1,37 @@
using Microsoft.AspNetCore.Components;
using Radzen;
using Radzen.Blazor;
using Seenginx.Models;
using Seenginx.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
namespace Seenginx.Pages
{
public class NginxLogsBase : ComponentBase
{
[Inject]
public INginxService NginxService { get; set; }
public string InputSearch { get; set; }
public List<ConfigFile> ConfigFiles { get; set; } = new List<ConfigFile>();
protected override async Task OnInitializedAsync()
{
ConfigFiles.AddRange(await NginxService.GetFilesAsync());
await base.OnInitializedAsync();
}
protected void Change(object value, string name)
{
var str = value is IEnumerable<object> ? string.Join(", ", (IEnumerable<object>)value) : value;
StateHasChanged();
}
}
}

View File

@@ -8,12 +8,13 @@
</NavLink>
</p>
<p class="menu-label flexCenter">
<span class="mdi mdi-18px"><img src="https://img.icons8.com/color/18/000000/nginx.png"></span>
<span class="mdi mdi-18px"><img src="https://img.icons8.com/color/20/000000/nginx.png"></span>
<span class="petiteCaps">&nbsp; NginX</span>
</p>
<ul class="menu-list">
<li>
<NavLink href="/nginx" class="petiteCaps"
@key="@ActiveNav.Keys.ElementAt(0)"
ActiveClass="@ActiveNav.GetValueOrDefault("nginx")"
@onclick="@(e => SelectMenuItem("nginx"))">
<span class="mdi mdi-file-cog-outline"></span>
@@ -22,6 +23,7 @@
</li>
<li>
<NavLink href="/nginx/logs" class="petiteCaps"
@key="@ActiveNav.Keys.ElementAt(1)"
ActiveClass="@ActiveNav.GetValueOrDefault("nginx/logs")"
@onclick="@(e => SelectMenuItem("nginx/logs"))">
<span class="mdi mdi-information-outline"></span>
@@ -30,12 +32,13 @@
</li>
</ul>
<p class="menu-label flexCenter">
<span class="mdi mdi-18px"><img src="https://img.icons8.com/color/18/000000/service.png"></span>
<span class="mdi mdi-18px"><img src="https://img.icons8.com/color/20/000000/service.png"></span>
<span class="petiteCaps">&nbsp; SystemD</span>
</p>
<ul class="menu-list">
<li>
<NavLink href="/systemd" class="petiteCaps"
@key="@ActiveNav.Keys.ElementAt(2)"
ActiveClass="@ActiveNav.GetValueOrDefault("systemd")"
@onclick="@(e => SelectMenuItem("systemd"))">
<span class="mdi mdi-file-cog-outline"></span>
@@ -44,6 +47,7 @@
</li>
<li>
<NavLink href="/systemd/logs" class="petiteCaps"
@key="@ActiveNav.Keys.ElementAt(3)"
ActiveClass="@ActiveNav.GetValueOrDefault("systemd/logs")"
@onclick="@(e => SelectMenuItem("systemd/logs"))">
<span class="mdi mdi-information-outline"></span>
@@ -52,12 +56,13 @@
</li>
</ul>
<p class="menu-label flexCenter">
<span class="mdi mdi-18px"><img src="https://img.icons8.com/color/18/000000/event-log.png"></span>
<span class="mdi mdi-18px"><img src="https://img.icons8.com/color/20/000000/event-log.png"></span>
<span class="petiteCaps">&nbsp; Dmesg</span>
</p>
<ul class="menu-list">
<li>
<NavLink href="/dmesg" class="petiteCaps"
@key="@ActiveNav.Keys.ElementAt(4)"
ActiveClass="@ActiveNav.GetValueOrDefault("dmesg")"
@onclick="@(e => SelectMenuItem("dmesg"))">
<span class="mdi mdi-information-outline"></span>

View File

@@ -10,11 +10,6 @@ namespace Seenginx.Shared
{
protected Dictionary<string, string> ActiveNav { get; set; }
public bool CollapsePanel { get; set; } = false;
[Parameter]
public string MenuActiveClass { get; set; }
[Parameter]
public EventCallback<string> MenuActiveClassChanged { get; set; }
protected async override Task OnInitializedAsync()
{
@@ -36,14 +31,5 @@ namespace Seenginx.Shared
ActiveNav[menuItem] = "is-active";
}
protected async Task ToggleMenu()
{
CollapsePanel = !CollapsePanel;
MenuActiveClass = CollapsePanel ? "active" : null;
await MenuActiveClassChanged.InvokeAsync(MenuActiveClass);
StateHasChanged();
}
}
}