@page "/course/{CourseName}/assignment/{AssignmentName}" @using CanvasModel.EnrollmentTerms @using CanvasModel.Courses @using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage @using LocalModels @using Management.Web.Shared.Module.Assignment @using Management.Web.Shared.Components @inject FileStorageManager fileStorageManager @inject CanvasService canvas @inject CoursePlanner planner @inject AssignmentEditorContext assignmentContext @inject ILogger logger @code { [Parameter] public string? CourseName { get; set; } = default!; [Parameter] public string? AssignmentName { get; set; } = default!; private bool loading { get; set; } = true; protected override async Task OnInitializedAsync() { if (loading) { loading = false; logger.LogInformation($"loading assignment {CourseName} {AssignmentName}"); if (planner.LocalCourse == null) { var courses = await fileStorageManager.LoadSavedCourses(); planner.LocalCourse = courses.First(c => c.Settings.Name == CourseName); logger.LogInformation($"set course to '{planner.LocalCourse?.Settings.Name}'"); } if (assignmentContext.Assignment == null) { var assignment = planner .LocalCourse? .Modules .SelectMany(m => m.Assignments) .FirstOrDefault(a => a.Name == AssignmentName); assignmentContext.Assignment = assignment; logger.LogInformation($"set assignment to '{assignmentContext.Assignment?.Name}'"); } await planner.LoadCanvasData(); base.OnInitialized(); StateHasChanged(); } } } @CourseName - @AssignmentName
@if (loading) { } @if (planner.LocalCourse != null && assignmentContext.Assignment != null) { }