@using CanvasModel.EnrollmentTerms @using Management.Web.Shared.Module @using Management.Web.Shared.Semester @inject CanvasService canvas @inject CoursePlanner planner @code { protected override void OnInitialized() { planner.StateHasChanged += reload; } protected override async Task OnInitializedAsync() { if( planner.CanvasAssignments == null && planner.LocalCourse != null && planner.LocalCourse.CanvasId != null ) { var canvasId = planner.LocalCourse.CanvasId ?? throw new Exception("no canvas id found for selected course"); planner.CanvasAssignments = await canvas.GetAssignments(canvasId); planner.CanvasModules = await canvas.GetModules(canvasId); System.Console.WriteLine(JsonSerializer.Serialize(planner.CanvasAssignments)); } await base.OnInitializedAsync(); } private void reload() { this.InvokeAsync(this.StateHasChanged); } public void Dispose() { planner.StateHasChanged -= reload; } }