refactor folder display

This commit is contained in:
Matt Parker
2025-08-02 18:29:22 +10:00
parent ebd3376836
commit 0f25d8e59a

View File

@@ -67,9 +67,7 @@
{ {
@foreach (var folder in project.Folders) @foreach (var folder in project.Folders)
{ {
<MudTreeViewItem T="ISharpIdeNode" TextTypo="Typo.body2" Icon="@Icons.Material.Filled.Folder" IconColor="Color.Default" @bind-Expanded="folder.Expanded" Text="@folder.Name" Value="@folder">
@GetFolderFragment(folder) @GetFolderFragment(folder)
</MudTreeViewItem>
} }
@foreach (var file in project.Files) @foreach (var file in project.Files)
{ {
@@ -81,20 +79,21 @@
private RenderFragment GetFolderFragment(SharpIdeFolder folder) => private RenderFragment GetFolderFragment(SharpIdeFolder folder) =>
@<text> @<text>
@foreach (var subFolder in folder.Folders) <MudTreeViewItem T="ISharpIdeNode" TextTypo="Typo.body2" Icon="@Icons.Material.Filled.Folder" IconColor="Color.Default" @bind-Expanded="folder.Expanded" Text="@folder.Name" Value="@folder">
@if (folder.Expanded)
{ {
<MudTreeViewItem T="ISharpIdeNode" TextTypo="Typo.body2" Icon="@Icons.Material.Filled.Folder" IconColor="Color.Default" @bind-Expanded="subFolder.Expanded" Text="@subFolder.Name" Value="@subFolder"> @foreach (var subFolder in folder.Folders)
@if (subFolder.Expanded) {
{ @GetFolderFragment(subFolder)
@GetFolderFragment(subFolder) }
} @foreach (var file in folder.Files)
</MudTreeViewItem> {
@GetFileFragment(file)
}
} }
@foreach (var file in folder.Files) </MudTreeViewItem>
{
@GetFileFragment(file) </text>;
}
</text>;
private RenderFragment GetFileFragment(SharpIdeFile file) => private RenderFragment GetFileFragment(SharpIdeFile file) =>
@<text> @<text>