@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; } public int Height { get; private set; } [Parameter] public EventCallback OnHeightMeasured { get; set; } private ElementReference _imageContainer; protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { try { await Task.Delay(50); Height = await JSRuntime.InvokeAsync("centerImageAndGetHeight", _imageContainer); if (Height > 0) { await OnHeightMeasured.InvokeAsync(Height); } } catch (JSException ex) { Console.WriteLine($"[ERROR] JavaScript Interop failed: {ex.Message}"); } } } }