@using Management.Web.Shared.Components @inject QuizEditorContext quizContext @code { private Modal? modal { get; set; } private LocalQuiz testQuiz; private string? error { get; set; } = null; private string _quizMarkdownInput { get; set; } = ""; private string quizMarkdownInput { get => _quizMarkdownInput; set { Console.WriteLine("setting"); _quizMarkdownInput = value; try { var newQuiz = LocalQuiz.ParseMarkdown(_quizMarkdownInput); error = null; testQuiz = newQuiz; quizContext.SaveQuiz(newQuiz); } catch (QuizMarkdownParseException e) { error = e.Message; StateHasChanged(); } } } protected override void OnInitialized() { reload(); quizContext.StateHasChanged += reload; } private void reload() { if (quizContext.Quiz != null) { if (quizMarkdownInput == "") { quizMarkdownInput = quizContext.Quiz.ToMarkdown(); } this.InvokeAsync(this.StateHasChanged); } } public void Dispose() { quizContext.StateHasChanged -= reload; } }
@*