finished CRUD on pages

This commit is contained in:
2024-01-12 16:31:17 -07:00
parent 550a42f874
commit 324bb94eda
5 changed files with 116 additions and 23 deletions

View File

@@ -55,6 +55,39 @@
private async Task HandleDelete()
{
if (planner.LocalCourse != null && pageContext.Page != null)
{
var page = pageContext.Page;
var currentModule = planner
.LocalCourse
.Modules
.First(m =>
m.Pages.Contains(page)
) ?? throw new Exception("handling page delete, could not find module");
var newModules = planner.LocalCourse.Modules.Select(m =>
m.Name == currentModule.Name
? m with
{
Pages = m.Pages.Where(p => p != page).ToArray()
}
: m
)
.ToArray();
planner.LocalCourse = planner.LocalCourse with
{
Modules = newModules
};
if (pageInCanvas != null && planner.LocalCourse.Settings.CanvasId != null)
{
ulong courseId = planner.LocalCourse.Settings.CanvasId ?? throw new Exception("cannot delete if no course id");
await canvas.Pages.Delete(courseId, pageInCanvas.PageId);
}
Navigation.NavigateTo("/course/" + planner.LocalCourse?.Settings.Name);
}
}
private void handleNameChange(ChangeEventArgs e)
@@ -94,11 +127,10 @@
return;
deletingPageFromCanvas = true;
@* await canvas.Pages.Delete(
await canvas.Pages.Delete(
(ulong)planner.LocalCourse.Settings.CanvasId,
pageInCanvas.Id,
assignmentContext.Assignment.Name
); *@
pageInCanvas.PageId
);
await planner.LoadCanvasData();
deletingPageFromCanvas = false;
StateHasChanged();