diff --git a/src/SharpIDE.Photino/Components/SolutionExplorer.razor b/src/SharpIDE.Photino/Components/SolutionExplorer.razor index 720483a..9fe7bf9 100644 --- a/src/SharpIDE.Photino/Components/SolutionExplorer.razor +++ b/src/SharpIDE.Photino/Components/SolutionExplorer.razor @@ -13,29 +13,27 @@ transition-duration: 0.0s !important; } - - - - - @foreach (var folder in SolutionModel.Folders) - { - @GetSolutionFolderFragment(folder) - } - @foreach (var project in SolutionModel.Projects) - { - @GetProjectFragment(project) - } - - - - - - - - - - - + + + + @foreach (var folder in SolutionModel.Folders) + { + @GetSolutionFolderFragment(folder) + } + @foreach (var project in SolutionModel.Projects) + { + @GetProjectFragment(project) + } + + + + + + + + + + @code { [Parameter, EditorRequired] @@ -47,12 +45,19 @@ [Parameter] public EventCallback SelectedFileChanged { get; set; } + private MudMenu _contextMenuRef = null!; + private async Task InvokeSelectedFileChanged(SharpIdeFile file) { SelectedFile = file; await SelectedFileChanged.InvokeAsync(file); } + private async Task OpenProjectContextMenu(MouseEventArgs args) + { + await _contextMenuRef.OpenMenuAsync(args); + } + private RenderFragment GetSolutionFolderFragment(SharpIdeSolutionFolder slnFolder) => @ @@ -76,20 +81,23 @@ private RenderFragment GetProjectFragment(SharpIdeProjectModel project) => @ - - @if (project.Expanded) - { - @foreach (var folder in project.Folders) +
+ + @if (project.Expanded) { + @foreach (var folder in project.Folders) + { @GetFolderFragment(folder) + } + + @foreach (var file in project.Files) + { + @GetFileFragment(file) + } } - @foreach (var file in project.Files) - { - @GetFileFragment(file) - } - } - - ; + +
+
; private RenderFragment GetFolderFragment(SharpIdeFolder folder) => @