diff --git a/Moonlight/Features/FileManager/Implementations/CreateFileAction.cs b/Moonlight/Features/FileManager/Implementations/CreateFileAction.cs index 45fccbd4..2d447644 100644 --- a/Moonlight/Features/FileManager/Implementations/CreateFileAction.cs +++ b/Moonlight/Features/FileManager/Implementations/CreateFileAction.cs @@ -11,7 +11,7 @@ public class CreateFileAction : IFileManagerCreateAction public string Icon => "bx-file"; public string Color => "primary"; - public async Task Execute(BaseFileAccess access, FileView view, IServiceProvider provider) + public async Task Execute(BaseFileAccess access, UI.NewFileManager.FileManager fileManager, IServiceProvider provider) { var alertService = provider.GetRequiredService(); @@ -21,17 +21,15 @@ public class CreateFileAction : IFileManagerCreateAction return; await access.CreateFile(name); - - /* // We build a virtual entry here so we dont need to fetch one - await OpenEditor(new() + await fileManager.OpenEditor(new() { Name = name, Size = 0, IsFile = true, IsDirectory = false, LastModifiedAt = DateTime.UtcNow - });*/ + }); } } \ No newline at end of file diff --git a/Moonlight/Features/FileManager/Implementations/CreateFolderAction.cs b/Moonlight/Features/FileManager/Implementations/CreateFolderAction.cs index 78d7679b..b62289d1 100644 --- a/Moonlight/Features/FileManager/Implementations/CreateFolderAction.cs +++ b/Moonlight/Features/FileManager/Implementations/CreateFolderAction.cs @@ -11,7 +11,7 @@ public class CreateFolderAction : IFileManagerCreateAction public string Icon => "bx-folder"; public string Color => "primary"; - public async Task Execute(BaseFileAccess access, FileView view, IServiceProvider provider) + public async Task Execute(BaseFileAccess access, UI.NewFileManager.FileManager fileManager, IServiceProvider provider) { var alertService = provider.GetRequiredService(); var toastService = provider.GetRequiredService(); @@ -24,6 +24,6 @@ public class CreateFolderAction : IFileManagerCreateAction await access.CreateDirectory(name); await toastService.Success("Successfully created directory"); - await view.Refresh(); + await fileManager.View.Refresh(); } } \ No newline at end of file diff --git a/Moonlight/Features/FileManager/Implementations/DeleteContextAction.cs b/Moonlight/Features/FileManager/Implementations/DeleteContextAction.cs index 7e31caf6..11ec8dad 100644 --- a/Moonlight/Features/FileManager/Implementations/DeleteContextAction.cs +++ b/Moonlight/Features/FileManager/Implementations/DeleteContextAction.cs @@ -12,11 +12,11 @@ public class DeleteContextAction : IFileManagerContextAction public string Color => "danger"; public Func Filter => _ => true; - public async Task Execute(BaseFileAccess access, FileView view, FileEntry entry, IServiceProvider serviceProvider) + public async Task Execute(BaseFileAccess access, UI.NewFileManager.FileManager fileManager, FileEntry entry, IServiceProvider serviceProvider) { await access.Delete(entry); - await view.Refresh(); + await fileManager.View.Refresh(); var toastService = serviceProvider.GetRequiredService(); await toastService.Success("Successfully deleted item"); diff --git a/Moonlight/Features/FileManager/Implementations/DeleteSelectionAction.cs b/Moonlight/Features/FileManager/Implementations/DeleteSelectionAction.cs index f330e4cc..0426e311 100644 --- a/Moonlight/Features/FileManager/Implementations/DeleteSelectionAction.cs +++ b/Moonlight/Features/FileManager/Implementations/DeleteSelectionAction.cs @@ -10,7 +10,7 @@ public class DeleteSelectionAction : IFileManagerSelectionAction public string Name => "Delete"; public string Color => "danger"; - public async Task Execute(BaseFileAccess access, FileView view, FileEntry[] entries, IServiceProvider provider) + public async Task Execute(BaseFileAccess access, UI.NewFileManager.FileManager fileManager, FileEntry[] entries, IServiceProvider provider) { var alertService = provider.GetRequiredService(); var toastService = provider.GetRequiredService(); diff --git a/Moonlight/Features/FileManager/Implementations/DownloadContextAction.cs b/Moonlight/Features/FileManager/Implementations/DownloadContextAction.cs index 88a69ff9..48aa3210 100644 --- a/Moonlight/Features/FileManager/Implementations/DownloadContextAction.cs +++ b/Moonlight/Features/FileManager/Implementations/DownloadContextAction.cs @@ -15,7 +15,7 @@ public class DownloadContextAction : IFileManagerContextAction public string Color => "primary"; public Func Filter => entry => entry.IsFile; - public async Task Execute(BaseFileAccess access, FileView view, FileEntry entry, IServiceProvider serviceProvider) + public async Task Execute(BaseFileAccess access, UI.NewFileManager.FileManager fileManager, FileEntry entry, IServiceProvider serviceProvider) { var fileAccessService = serviceProvider.GetRequiredService(); var navigation = serviceProvider.GetRequiredService(); diff --git a/Moonlight/Features/FileManager/Implementations/RenameContextAction.cs b/Moonlight/Features/FileManager/Implementations/RenameContextAction.cs index 804173f8..b405c188 100644 --- a/Moonlight/Features/FileManager/Implementations/RenameContextAction.cs +++ b/Moonlight/Features/FileManager/Implementations/RenameContextAction.cs @@ -12,7 +12,7 @@ public class RenameContextAction : IFileManagerContextAction public string Color => "info"; public Func Filter => _ => true; - public async Task Execute(BaseFileAccess access, FileView view, FileEntry entry, IServiceProvider provider) + public async Task Execute(BaseFileAccess access, UI.NewFileManager.FileManager fileManager, FileEntry entry, IServiceProvider provider) { var alertService = provider.GetRequiredService(); var toastService = provider.GetRequiredService(); @@ -24,7 +24,7 @@ public class RenameContextAction : IFileManagerContextAction await access.Rename(entry.Name, newName); - await view.Refresh(); + await fileManager.View.Refresh(); await toastService.Success("Successfully renamed file"); } } \ No newline at end of file diff --git a/Moonlight/Features/FileManager/Interfaces/IFileManagerContextAction.cs b/Moonlight/Features/FileManager/Interfaces/IFileManagerContextAction.cs index d32106d5..e1e8ba11 100644 --- a/Moonlight/Features/FileManager/Interfaces/IFileManagerContextAction.cs +++ b/Moonlight/Features/FileManager/Interfaces/IFileManagerContextAction.cs @@ -10,5 +10,5 @@ public interface IFileManagerContextAction public string Color { get; } public Func Filter { get; } - public Task Execute(BaseFileAccess access, FileView view, FileEntry entry, IServiceProvider provider); + public Task Execute(BaseFileAccess access, UI.NewFileManager.FileManager fileManager, FileEntry entry, IServiceProvider provider); } \ No newline at end of file diff --git a/Moonlight/Features/FileManager/Interfaces/IFileManagerCreateAction.cs b/Moonlight/Features/FileManager/Interfaces/IFileManagerCreateAction.cs index 7ed2328d..d856cb10 100644 --- a/Moonlight/Features/FileManager/Interfaces/IFileManagerCreateAction.cs +++ b/Moonlight/Features/FileManager/Interfaces/IFileManagerCreateAction.cs @@ -9,5 +9,5 @@ public interface IFileManagerCreateAction public string Icon { get; } public string Color { get; } - public Task Execute(BaseFileAccess access, FileView view, IServiceProvider provider); + public Task Execute(BaseFileAccess access, UI.NewFileManager.FileManager fileManager, IServiceProvider provider); } \ No newline at end of file diff --git a/Moonlight/Features/FileManager/Interfaces/IFileManagerSelectionAction.cs b/Moonlight/Features/FileManager/Interfaces/IFileManagerSelectionAction.cs index a018dcf1..12c04aa7 100644 --- a/Moonlight/Features/FileManager/Interfaces/IFileManagerSelectionAction.cs +++ b/Moonlight/Features/FileManager/Interfaces/IFileManagerSelectionAction.cs @@ -8,5 +8,5 @@ public interface IFileManagerSelectionAction public string Name { get; } public string Color { get; } - public Task Execute(BaseFileAccess access, FileView view, FileEntry[] entries, IServiceProvider provider); + public Task Execute(BaseFileAccess access, UI.NewFileManager.FileManager fileManager, FileEntry[] entries, IServiceProvider provider); } \ No newline at end of file diff --git a/Moonlight/Features/FileManager/UI/NewFileManager/FileManager.razor b/Moonlight/Features/FileManager/UI/NewFileManager/FileManager.razor index 0a3c7364..bac3e032 100644 --- a/Moonlight/Features/FileManager/UI/NewFileManager/FileManager.razor +++ b/Moonlight/Features/FileManager/UI/NewFileManager/FileManager.razor @@ -144,7 +144,7 @@ else { [Parameter] public BaseFileAccess FileAccess { get; set; } - private FileView View; + public FileView View { get; private set; } private string Path = "/"; private IFileManagerContextAction[] ContextActions; @@ -244,12 +244,12 @@ else { await View.HideContextMenu(); - await contextAction.Execute(FileAccess, View, entry, ServiceProvider); + await contextAction.Execute(FileAccess, this, entry, ServiceProvider); } private async Task InvokeSelectionAction(IFileManagerSelectionAction action) { - await action.Execute(FileAccess, View, View.Selection, ServiceProvider); + await action.Execute(FileAccess, this, View.Selection, ServiceProvider); // Refresh resets the selection await View.Refresh(); @@ -257,7 +257,7 @@ else private async Task InvokeCreateAction(IFileManagerCreateAction action) { - await action.Execute(FileAccess, View, ServiceProvider); + await action.Execute(FileAccess, this, ServiceProvider); } private async Task OnSelectionChanged(FileEntry[] _) => await InvokeAsync(StateHasChanged); @@ -309,7 +309,7 @@ else #region File Editor - private async Task OpenEditor(FileEntry entry) + public async Task OpenEditor(FileEntry entry) { FileToEdit = entry; ShowEditor = true; @@ -317,7 +317,7 @@ else await InvokeAsync(StateHasChanged); } - private async Task CloseEditor() + public async Task CloseEditor() { ShowEditor = false; await InvokeAsync(StateHasChanged);