diff --git a/Seenginx.Components/FileItem.razor b/Seenginx.Components/FileItem.razor index df70f19..0af9c04 100644 --- a/Seenginx.Components/FileItem.razor +++ b/Seenginx.Components/FileItem.razor @@ -1,3 +1,12 @@ @inherits FileItemBase - +
+
+
+

@File.Folder

+

+ @File.Name +

+
+
+
\ No newline at end of file diff --git a/Seenginx.Components/FilesWithEditor.razor b/Seenginx.Components/FilesWithEditor.razor index 7ba8ebf..026b900 100644 --- a/Seenginx.Components/FilesWithEditor.razor +++ b/Seenginx.Components/FilesWithEditor.razor @@ -14,7 +14,7 @@
- +
@@ -23,30 +23,28 @@
- - -
+ +
diff --git a/Seenginx.Components/FilesWithEditor.razor.cs b/Seenginx.Components/FilesWithEditor.razor.cs index e557fa8..171a3eb 100644 --- a/Seenginx.Components/FilesWithEditor.razor.cs +++ b/Seenginx.Components/FilesWithEditor.razor.cs @@ -21,6 +21,13 @@ namespace Seenginx.Components [Parameter] public EventCallback ApplyFilter { get; set; } + [Parameter] + public EventCallback AddFile { get; set; } + [Parameter] + public EventCallback UpdateFile { get; set; } + [Parameter] + public EventCallback DeleteFile { get; set; } + [Parameter] public RenderFragment Editor { get; set; } @@ -35,14 +42,17 @@ namespace Seenginx.Components protected bool IsAnyFileSelected => SelectedFile != default; - private CFile SelectedFile { get; set; } + [Parameter] + public EventCallback SelectedFileChanged { get; set; } + [Parameter] + public CFile SelectedFile { get; set; } protected string SearchInput { get; set; } protected async Task OnDeselectClick() { SelectedFile = null; - //Clean on the right + await SelectedFileChanged.InvokeAsync(SelectedFile); } protected async Task OnFilterClick(EventArgs e, string filter) @@ -55,7 +65,7 @@ namespace Seenginx.Components Files[index].Unhide(); } - protected async Task OnSearchChanged() + protected void SearchInputChanged() { if (string.IsNullOrEmpty(SearchInput)) Files.ForEach(f => f.Hide()); @@ -71,17 +81,20 @@ namespace Seenginx.Components protected async Task OnFileClick(CFile file) { - SelectedFile = file; + await SelectedFileChanged.InvokeAsync(file); } - protected async Task OnCreateFile() + protected async Task OnAddDialog() { + await AddFile.InvokeAsync(null); } - protected async Task OnUpdateDialog(CFile file) + protected async Task OnUpdateDialog() { + await UpdateFile.InvokeAsync(SelectedFile); } - protected async Task OnDeleteDialog(CFile file) + protected async Task OnDeleteDialog() { + await UpdateFile.InvokeAsync(SelectedFile); } } } diff --git a/Seenginx.Components/Tabs.razor b/Seenginx.Components/Tabs.razor deleted file mode 100644 index 4c7d31b..0000000 --- a/Seenginx.Components/Tabs.razor +++ /dev/null @@ -1,3 +0,0 @@ -@* - -*@ \ No newline at end of file diff --git a/Seenginx.Components/TabsBase.cs b/Seenginx.Components/TabsBase.cs deleted file mode 100644 index 384c750..0000000 --- a/Seenginx.Components/TabsBase.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Microsoft.AspNetCore.Components; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -namespace Seenginx.Components -{ - public class TabsBase : ComponentBase - { - - } -} diff --git a/Seenginx/Pages/Nginx.razor b/Seenginx/Pages/Nginx.razor index cc2c45f..d2f1760 100644 --- a/Seenginx/Pages/Nginx.razor +++ b/Seenginx/Pages/Nginx.razor @@ -2,17 +2,20 @@ @page "/nginx" + + -
-
-

Configuration Files

- heh -
+ + -
-

- Hello -

-
-
+ + + + + + + +
diff --git a/Seenginx/Pages/Nginx.razor.cs b/Seenginx/Pages/Nginx.razor.cs index 45a2a1a..458546d 100644 --- a/Seenginx/Pages/Nginx.razor.cs +++ b/Seenginx/Pages/Nginx.razor.cs @@ -19,19 +19,51 @@ namespace Seenginx.Pages public string InputSearch { get; set; } public List ConfigFiles { get; set; } = new List(); + public ConfigFile SelectedFile { get; set; } + public List Filters { get; set; } = new List(); + public List FilteredOutFiles { get; set; } = new List(); + + private Dictionary FilterFolder { get; set; } = new Dictionary(); protected override async Task OnInitializedAsync() { ConfigFiles.AddRange(await NginxService.GetFilesAsync()); + Filters.AddRange(new List { "All", "Root", "Conf.d", "Enabled", "Disabled" }); + FilterFolder.Add("All", null); + FilterFolder.Add("Root", "/"); + FilterFolder.Add("Conf.d", "/conf.d"); + FilterFolder.Add("Enabled", "/sites-enabled"); + FilterFolder.Add("Disabled", "/sites-disabled"); await base.OnInitializedAsync(); } - protected void Change(object value, string name) + public async Task ApplyFilter(string filter) { - var str = value is IEnumerable ? string.Join(", ", (IEnumerable)value) : value; - - StateHasChanged(); + if (filter == "All") + ConfigFiles.ForEach(f => f.Unhide()); + else + ConfigFiles.ForEach(f => + { + if (f.Folder.Contains(FilterFolder[filter])) + f.Unhide(); + else + f.Hide(); + }); } + public async Task SelectedFileChanged(ConfigFile configFile) + { + SelectedFile = configFile; + } + + public async Task AddFile() + { + } + public async Task UpdateFile(ConfigFile configFile) + { + } + public async Task DeleteFile(ConfigFile configFile) + { + } } } diff --git a/Seenginx/_Imports.razor b/Seenginx/_Imports.razor index a73be9d..5874000 100644 --- a/Seenginx/_Imports.razor +++ b/Seenginx/_Imports.razor @@ -7,6 +7,6 @@ @using Microsoft.JSInterop @using Seenginx @using Seenginx.Shared +@using Seenginx.Models +@using Seenginx.Components -@using Radzen -@using Radzen.Blazor \ No newline at end of file