diff --git a/Management.Web/Pages/AssignmentForm.razor b/Management.Web/Pages/AssignmentForm.razor deleted file mode 100644 index e7c475a..0000000 --- a/Management.Web/Pages/AssignmentForm.razor +++ /dev/null @@ -1,33 +0,0 @@ -@page "/course/{CourseName}/assignment/{AssignmentId}" -@using CanvasModel.EnrollmentTerms -@using Management.Web.Shared.Course -@using Management.Web.Shared.Module.Assignment.Templates -@using Management.Web.Shared.Semester -@using CanvasModel.Courses -@using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage -@using LocalModels -@using Management.Web.Shared.Module.Assignment -@using Management.Web.Shared.Components - -@inject YamlManager yamlManager -@inject CanvasService canvas -@inject CoursePlanner planner - -@code { - [Parameter] - public string CourseName { get; set; } - [Parameter] - public string AssignmentId { get; set; } - - protected override async Task OnInitializedAsync() - { - if(planner.LocalCourse == null) - { - var courses = await yamlManager.LoadSavedCourses(); - planner.LocalCourse = courses.First(c => c.Name == CourseName); - } - base.OnInitialized(); - @* loading = false; *@ - } - -} \ No newline at end of file diff --git a/Management.Web/Pages/AssignmentFormPage.razor b/Management.Web/Pages/AssignmentFormPage.razor new file mode 100644 index 0000000..57531fb --- /dev/null +++ b/Management.Web/Pages/AssignmentFormPage.razor @@ -0,0 +1,67 @@ +@page "/course/{CourseName}/assignment/{AssignmentId}" + +@using CanvasModel.EnrollmentTerms +@using Management.Web.Shared.Components.AssignmentForm +@using Management.Web.Shared.Course +@using Management.Web.Shared.Module.Assignment.Templates +@using Management.Web.Shared.Semester +@using CanvasModel.Courses +@using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage +@using LocalModels +@using Management.Web.Shared.Module.Assignment +@using Management.Web.Shared.Components + +@inject YamlManager yamlManager +@inject CanvasService canvas +@inject CoursePlanner planner +@inject AssignmentEditorContext assignmentContext +@inject ILogger logger + +@code { + [Parameter] + public string? CourseName { get; set; } = default!; + [Parameter] + public string? AssignmentId { get; set; } = default!; + + private bool loading { get; set; }= true; + + protected override async Task OnInitializedAsync() + { + if(loading) + { + loading = false; + logger.LogInformation($"loading assignment {CourseName} {AssignmentId}"); + if(planner.LocalCourse == null) + { + var courses = await yamlManager.LoadSavedCourses(); + planner.LocalCourse = courses.First(c => c.Name == CourseName); + logger.LogInformation($"set course to '{planner.LocalCourse?.Name}'"); + } + + if(assignmentContext.Assignment == null) + { + var assignment = planner + .LocalCourse? + .Modules + .SelectMany(m => m.Assignments) + .FirstOrDefault(a => a.Id == AssignmentId); + + assignmentContext.Assignment = assignment; + logger.LogInformation($"set assignment to '{assignmentContext.Assignment?.Name}'"); + } + base.OnInitialized(); + StateHasChanged(); + } + } + +} + +@if(loading) +{ + +} + +@if(planner.LocalCourse != null && assignmentContext.Assignment != null) +{ + +} \ No newline at end of file diff --git a/Management.Web/Pages/Index.razor b/Management.Web/Pages/Index.razor index 9b43aca..3110642 100644 --- a/Management.Web/Pages/Index.razor +++ b/Management.Web/Pages/Index.razor @@ -17,8 +17,8 @@ private bool showNewFile { get; set; } = false; protected override void OnInitialized() { - planner.StateHasChanged += reload; planner.LocalCourse = null; + planner.StateHasChanged += reload; } private void reload() diff --git a/Management.Web/Shared/Components/AssignmentForm/AssignmentDescriptionEditor.razor b/Management.Web/Shared/Components/AssignmentForm/AssignmentDescriptionEditor.razor index e473db2..5608bcf 100644 --- a/Management.Web/Shared/Components/AssignmentForm/AssignmentDescriptionEditor.razor +++ b/Management.Web/Shared/Components/AssignmentForm/AssignmentDescriptionEditor.razor @@ -190,7 +190,7 @@