@using Management.Web.Shared.Components @inject CoursePlanner planner @inject PageEditorContext pageContext @code { protected override void OnInitialized() { pageContext.StateHasChanged += reload; reload(); } private void reload() { if (pageContext.Page != null) { if(rawText == string.Empty) { rawText = pageContext.Page.ToMarkdown(); this.InvokeAsync(this.StateHasChanged); } } } public void Dispose() { pageContext.StateHasChanged -= reload; } private string rawText { get; set; } = string.Empty; private string? error = null; private MarkupString preview { get => (MarkupString)MarkdownService.Render(pageContext?.Page?.Text ?? ""); } private void handleChange(string newRawPage) { rawText = newRawPage; if (newRawPage != string.Empty) { try { var parsed = LocalCoursePage.ParseMarkdown(newRawPage); error = null; pageContext.SavePage(parsed); } catch(LocalPageMarkdownParseException e) { error = e.Message; } finally { StateHasChanged(); } } StateHasChanged(); } }
Error: @error
}