@implements IDisposable; @inject IGlossaryService glossaryService @inject IGlossaryDialogService glossaryDialogService
@if (term == null) {
Term is null
} else {
@if (glossaryDialogService.HasHistory()) { }
@term.Term
@term.Category
@((MarkupString)RenderMarkdown(term.LongDefinition))
@if (term.RelatedEntityIds.Count > 0) {
Related Entities
@foreach (var entityId in term.RelatedEntityIds) { }
} @if (term.RelatedTermIds.Count > 0) {
Related Terms
@foreach (var relatedId in term.RelatedTermIds) { }
}
}
@code { private GlossaryTermModel? term; protected override void OnInitialized() { base.OnInitialized(); glossaryDialogService.Subscribe(OnUpdate); LoadTerm(); } void IDisposable.Dispose() { glossaryDialogService.Unsubscribe(OnUpdate); } void OnUpdate() { LoadTerm(); StateHasChanged(); } void LoadTerm() { var id = glossaryDialogService.GetTermId(); term = id != null ? glossaryService.GetTerm(id) : null; } void CloseDialog() { glossaryDialogService.CloseDialog(); } string RenderMarkdown(string text) { return Markdown.ToHtml(text); } }