Files
Moonlight/Moonlight.Client/UI/Views/Admin/Sys/Files.razor

49 lines
1.5 KiB
Plaintext

@page "/admin/system/files"
@using Microsoft.AspNetCore.Authorization
@using MoonCore.Helpers
@using Moonlight.Client.Implementations
@using MoonCore.Blazor.FlyonUi.Files.Manager
@using MoonCore.Blazor.FlyonUi.Files.Manager.Operations
@attribute [Authorize(Policy = "permissions:admin.system.overview")]
@inject HttpApiClient ApiClient
<div class="mb-5">
<NavTabs Index="2" Names="UiConstants.AdminNavNames" Links="UiConstants.AdminNavLinks"/>
</div>
<FileManager OnConfigure="OnConfigure" FsAccess="FsAccess" />
@code
{
private IFsAccess FsAccess;
protected override void OnInitialized()
{
FsAccess = new SystemFsAccess(ApiClient);
}
private void OnConfigure(FileManagerOptions options)
{
options.AddMultiOperation<DeleteOperation>();
options.AddMultiOperation<MoveOperation>();
options.AddMultiOperation<DownloadOperation>();
options.AddMultiOperation<ArchiveOperation>();
//options.AddSingleOperation<UnarchiveOperation>();
options.AddSingleOperation<RenameOperation>();
options.AddToolbarOperation<CreateFileOperation>();
options.AddToolbarOperation<CreateFolderOperation>();
options.AddToolbarOperation<UploadOperation>();
options.AddOpenOperation<EditorOpenOperation>();
options.AddOpenOperation<ImageOpenOperation>();
options.AddOpenOperation<VideoOpenOperation>();
options.WriteLimit = (int)ByteConverter.FromMegaBytes(20).Bytes;
}
}