Files
canvasManagement/Management.Web/Shared/Course/CourseDetails.razor
2023-07-29 20:33:00 -06:00

58 lines
1.5 KiB
Plaintext

@using CanvasModel.EnrollmentTerms
@using Management.Web.Shared.Module
@using Management.Web.Shared.Semester
@inject CanvasService canvas
@inject CoursePlanner planner
@code
{
protected override void OnInitialized()
{
planner.StateHasChanged += reload;
}
protected override async Task OnInitializedAsync()
{
if(
planner.CanvasAssignments == null
&& planner.LocalCourse != null
&& planner.LocalCourse.CanvasId != null
)
{
var canvasId = planner.LocalCourse.CanvasId ?? throw new Exception("no canvas id found for selected course");
planner.CanvasAssignments = await canvas.GetAssignments(canvasId);
planner.CanvasModules = await canvas.GetModules(canvasId);
System.Console.WriteLine(JsonSerializer.Serialize(planner.CanvasAssignments));
}
await base.OnInitializedAsync();
}
private void reload()
{
this.InvokeAsync(this.StateHasChanged);
}
public void Dispose()
{
planner.StateHasChanged -= reload;
}
}
<div class="row">
<div class="col overflow-y-auto border rounded " style="max-height: 95vh;">
@if (planner.LocalCourse != null)
{
<div class="py-2">
@foreach (var month in SemesterPlanner.GetMonthsBetweenDates(planner.LocalCourse.StartDate, planner.LocalCourse.EndDate))
{
<MonthDetail Month="month" />
<hr />
}
</div>
}
</div>
<div class="col-4 overflow-y-auto" style="max-height: 95vh;">
<Modules />
</div>
</div>