diff --git a/Oqtane.Client/Modules/Controls/FileManager.razor b/Oqtane.Client/Modules/Controls/FileManager.razor index c8c5e82a..9822859d 100644 --- a/Oqtane.Client/Modules/Controls/FileManager.razor +++ b/Oqtane.Client/Modules/Controls/FileManager.razor @@ -59,7 +59,7 @@ } - @if (_image != string.Empty && ShowImage) + @if (_image != string.Empty) {
@((MarkupString) _image) @@ -126,7 +126,7 @@ public EventCallback OnUpload { get; set; } // optional - executes a method in the calling component when a file is uploaded [Parameter] - public EventCallback OnChange { get; set; } // optional - executes a method in the calling component when a file is selected + public EventCallback OnSelect { get; set; } // optional - executes a method in the calling component when a file is selected [Parameter] public EventCallback OnDelete { get; set; } // optional - executes a method in the calling component when a file is deleted @@ -138,6 +138,11 @@ _id = Id; } + if (!ShowFiles) + { + ShowImage = false; + } + if (!string.IsNullOrEmpty(Folder)) { _folders = new List { new Folder { FolderId = -1, Name = Folder } }; @@ -154,12 +159,14 @@ if (file != null) { FolderId = file.FolderId; + await OnSelect.InvokeAsync(FileId); } else { FileId = -1; // file does not exist } } + await SetImage(); if (!string.IsNullOrEmpty(Filter)) @@ -237,7 +244,10 @@ { _message = string.Empty; FileId = int.Parse((string)e.Value); - await OnChange.InvokeAsync(FileId); + if (FileId != -1) + { + await OnSelect.InvokeAsync(FileId); + } await SetImage(); StateHasChanged(); @@ -250,7 +260,7 @@ if (FileId != -1) { _file = await FileService.GetFileAsync(FileId); - if (_file != null && _file.ImageHeight != 0 && _file.ImageWidth != 0) + if (_file != null && ShowImage && _file.ImageHeight != 0 && _file.ImageWidth != 0) { var maxwidth = 200; var maxheight = 200; @@ -292,21 +302,14 @@ _message = Localizer["Success.File.Upload"]; _messagetype = MessageType.Success; + // set FileId to first file in upload collection await GetFiles(); - - if (upload.Length == 1) + var file = _files.Where(item => item.Name == upload[0]).FirstOrDefault(); + if (file != null) { - var file = _files.Where(item => item.Name == upload[0]).FirstOrDefault(); - if (file != null) - { - FileId = file.FileId; - await SetImage(); - await OnUpload.InvokeAsync(FileId); - } - } - else - { - await OnUpload.InvokeAsync(-1); + FileId = file.FileId; + await SetImage(); + await OnUpload.InvokeAsync(FileId); } StateHasChanged(); } diff --git a/Oqtane.Server/Repository/SiteRepository.cs b/Oqtane.Server/Repository/SiteRepository.cs index 6200bc63..bbf8c856 100644 --- a/Oqtane.Server/Repository/SiteRepository.cs +++ b/Oqtane.Server/Repository/SiteRepository.cs @@ -136,7 +136,7 @@ namespace Oqtane.Repository Permissions = new List { new Permission(PermissionNames.Browse, RoleNames.Admin, true), - new Permission(PermissionNames.View, RoleNames.Admin, true), + new Permission(PermissionNames.View, RoleNames.Everyone, true), new Permission(PermissionNames.Edit, RoleNames.Admin, true) }.EncodePermissions() });