before I dive too much more into adding pages in canvas

This commit is contained in:
2024-01-12 15:57:35 -07:00
parent 9f19704724
commit bca8497255
17 changed files with 472 additions and 60 deletions

View File

@@ -0,0 +1,71 @@
@page "/course/{CourseName}/page/{PageName}"
@using CanvasModel.EnrollmentTerms
@using CanvasModel.Courses
@using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage
@using LocalModels
@using Management.Web.Pages.Course.Module.ModuleItems
@using Management.Web.Shared.Components
@inject FileStorageManager fileStorageManager
@inject CanvasService canvas
@inject CoursePlanner planner
@inject PageEditorContext pageContext
@inject ILogger<CoursePageFormPage> logger
@code {
[Parameter]
public string? CourseName { get; set; } = default!;
[Parameter]
public string? PageName { get; set; } = default!;
private bool loading { get; set; } = true;
protected override async Task OnInitializedAsync()
{
if (loading)
{
loading = false;
logger.LogInformation($"loading page {CourseName} {PageName}");
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 (pageContext.Page == null)
{
var page = planner
.LocalCourse?
.Modules
.SelectMany(m => m.Pages)
.FirstOrDefault(a => a.Name == PageName);
pageContext.Page = page;
logger.LogInformation($"set page to '{pageContext.Page?.Name}'");
}
await planner.LoadCanvasData();
base.OnInitialized();
StateHasChanged();
}
}
}
<PageTitle>@CourseName - @PageName</PageTitle>
<div style="height: 100vh;" class="m-0 p-1 d-flex flex-row">
@if (loading)
{
<Spinner />
}
@if (planner.LocalCourse != null && pageContext.Page != null)
{
<CoursePageForm />
}
</div>