+
+ SearchInputChanged(e.Value.ToString())" class="input is-rounded is-small" type="text" placeholder="Search...">
+
+
+
+
-
- SearchInputChanged(e.Value.ToString())" class="input is-rounded is-small" type="text" placeholder="Search...">
-
-
-
-
diff --git a/Seenginx/Components/FilesWithEditor.razor.cs b/Seenginx/Components/FilesWithEditor.razor.cs
index 8046a36..201d5e9 100644
--- a/Seenginx/Components/FilesWithEditor.razor.cs
+++ b/Seenginx/Components/FilesWithEditor.razor.cs
@@ -18,9 +18,7 @@ namespace Seenginx.Components
[Parameter]
public List Filters { get; set; } = new List();
[Parameter]
- public List FilteredOutFiles { get; set; } = new List();
- [Parameter]
- public EventCallback ApplyFilter { get; set; }
+ public Dictionary FilterFolder { get; set; } = new Dictionary();
[Parameter]
public EventCallback AddFile { get; set; }
@@ -42,6 +40,7 @@ namespace Seenginx.Components
public RenderFragment DeleteDialog { get; set; }
protected string SelectedFilter { get; set; }
+ protected string SearchInput { get; set; }
protected bool IsAnyFileSelected => SelectedFile != default;
@@ -58,26 +57,69 @@ namespace Seenginx.Components
protected async Task OnFilterClick(string filter)
{
- await ApplyFilter.InvokeAsync(filter);
- //for (int index = 0; index < Files.Count; index++)
- // if (FilteredOutFiles.Contains(index))
- // Files[index].Hide();
- // else
- // Files[index].Unhide();
+ SelectedFilter = filter;
+ SearchFile();
}
protected async Task SearchInputChanged(string searchInput)
{
- if (string.IsNullOrEmpty(searchInput))
- Files.ForEach(f => f.Unhide());
+ SearchInput = searchInput;
+ SearchFile();
+ }
+
+ private void SearchFile()
+ {
+ if (string.IsNullOrEmpty(SearchInput))
+ {
+ if (SelectedFilter == "All")
+ Files.ForEach(f => f.Unhide());
+ else if (SelectedFilter == "Root")
+ Files.ForEach(f =>
+ {
+ if (f.Folder == FilterFolder[SelectedFilter])
+ f.Unhide();
+ else
+ f.Hide();
+ });
+ else
+ Files.ForEach(f =>
+ {
+ if (f.Folder.Contains(FilterFolder[SelectedFilter]))
+ f.Unhide();
+ else
+ f.Hide();
+ });
+ }
else
- Files.ForEach(f =>
- {
- if (f.Name.ToLower().Contains(searchInput.ToLower()))
- f.Unhide();
- else
- f.Hide();
- });
+ {
+ if (SelectedFilter == "All")
+ Files.ForEach(f => { if (f.Name.ToLower().Contains(SearchInput)) f.Unhide(); else f.Hide(); });
+ else if (SelectedFilter == "Root")
+ Files.ForEach(f =>
+ {
+ if (f.Folder == FilterFolder[SelectedFilter])
+ f.Unhide();
+ else
+ f.Hide();
+ });
+ else
+ Files.ForEach(f =>
+ {
+ if (f.Folder.Contains(FilterFolder[SelectedFilter]))
+ f.Unhide();
+ else
+ f.Hide();
+ });
+ //Files.ForEach(f => f.Unhide());
+ //else
+ // Files.ForEach(f =>
+ // {
+ // if (f.Name.ToLower().Contains(searchInput.ToLower()))
+ // f.Unhide();
+ // else
+ // f.Hide();
+ // });
+ }
}
protected async Task OnFileClick(MouseEventArgs e, CFile file)
diff --git a/Seenginx/Pages/Nginx.razor b/Seenginx/Pages/Nginx.razor
index d2f1760..3a47d09 100644
--- a/Seenginx/Pages/Nginx.razor
+++ b/Seenginx/Pages/Nginx.razor
@@ -2,8 +2,8 @@
@page "/nginx"
-
diff --git a/Seenginx/Pages/Nginx.razor.cs b/Seenginx/Pages/Nginx.razor.cs
index 60d6049..4ca6575 100644
--- a/Seenginx/Pages/Nginx.razor.cs
+++ b/Seenginx/Pages/Nginx.razor.cs
@@ -23,7 +23,7 @@ namespace Seenginx.Pages
public List Filters { get; set; } = new List();
public List FilteredOutFiles { get; set; } = new List();
- private Dictionary FilterFolder { get; set; } = new Dictionary();
+ public Dictionary FilterFolder { get; set; } = new Dictionary();
protected override async Task OnInitializedAsync()
{
@@ -37,28 +37,6 @@ namespace Seenginx.Pages
await base.OnInitializedAsync();
}
- public async Task ApplyFilter(string filter)
- {
- if (filter == "All")
- ConfigFiles.ForEach(f => f.Unhide());
- else if (filter == "Root")
- ConfigFiles.ForEach(f =>
- {
- if (f.Folder == FilterFolder[filter])
- f.Unhide();
- else
- f.Hide();
- });
- else
- ConfigFiles.ForEach(f =>
- {
- if (f.Folder.Contains(FilterFolder[filter]))
- f.Unhide();
- else
- f.Hide();
- });
- }
-
public async Task SelectedFileChanged(ConfigFile configFile)
{
SelectedFile = configFile;