mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
before I dive too much more into adding pages in canvas
This commit is contained in:
71
Management.Web/Pages/CoursePageForm/CoursePageFormPage.razor
Normal file
71
Management.Web/Pages/CoursePageForm/CoursePageFormPage.razor
Normal 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>
|
||||
Reference in New Issue
Block a user