@namespace OpenArchival.Blazor.FileViewer @implements IFileViewer @using Microsoft.JSInterop @using MudBlazor @using OpenArchival.DataAccess @inject IJSRuntime JSRuntime
@code { [Parameter] public required FilePathListing File { get; set; } [Parameter] public EventCallback OnHeightMeasured { get; set; } private ElementReference _imageContainer; private async Task MeasureHeight() { try { var height = await JSRuntime.InvokeAsync("centerImageAndGetHeight", _imageContainer); await OnHeightMeasured.InvokeAsync((int)Math.Ceiling(height)); } catch (Exception ex) { Console.WriteLine($"Error measuring image height: {ex.Message}"); } } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { await MeasureHeight(); } } }