@using Markdig
@if (ShowEditButton) {
} @if (string.IsNullOrWhiteSpace(Value)) {
No notes
} else {
@((MarkupString)_html)
}
@code { [Parameter] public string? Value { get; set; } [Parameter] public bool ShowEditButton { get; set; } [Parameter] public EventCallback OnEdit { get; set; } [Parameter] public string? TestIdPrefix { get; set; } private string BaseTestId => string.IsNullOrWhiteSpace(TestIdPrefix) ? "markdown-viewer" : $"{TestIdPrefix}-markdown-viewer"; private string _html = string.Empty; private static readonly MarkdownPipeline Pipeline = new MarkdownPipelineBuilder() .UseAdvancedExtensions() .Build(); protected override void OnParametersSet() { _html = Markdown.ToHtml(Value ?? string.Empty, Pipeline); } private Task HandleEdit() { return OnEdit.HasDelegate ? OnEdit.InvokeAsync() : Task.CompletedTask; } }