extracted a lot of canvas interfaces

This commit is contained in:
2024-05-03 15:22:26 -06:00
parent 353bd6df82
commit 9bae17a2a6
34 changed files with 183 additions and 130 deletions

View File

@@ -1,5 +1,5 @@
@using Management.Web.Shared.Components
@inject CanvasService canvas
@inject ICanvasService canvas
@inject CoursePlanner planner
@@ -42,7 +42,7 @@
private Action<ChangeEventArgs> saveGroupName(string groupId)
{
return (e) =>
return (e) =>
{
if(planner.LocalCourse != null)
{
@@ -54,17 +54,17 @@
);
planner.LocalCourse = planner.LocalCourse with
{
Settings = planner.LocalCourse.Settings with
Settings = planner.LocalCourse.Settings with
{
AssignmentGroups = newGroups
}
};
}
};
};
}
private Action<ChangeEventArgs> saveGroupWeight(string groupId)
{
return (e) =>
return (e) =>
{
if(planner.LocalCourse != null)
{
@@ -76,13 +76,13 @@
);
planner.LocalCourse = planner.LocalCourse with
{
Settings = planner.LocalCourse.Settings with
Settings = planner.LocalCourse.Settings with
{
AssignmentGroups = newGroups
}
};
}
};
};
}
private async Task SyncAssignmentGroupsWithCanvas()
@@ -105,13 +105,13 @@
<div class="row">
<div class="col-auto">
<label class="form-label">Group Name</label>
<input
<input
class="form-control"
@bind="groupName" @oninput="nameInputCallback">
</div>
<div class="col-auto">
<label class="form-label">Weight</label>
<input
<input
class="form-control"
@bind="weight"
@oninput="weightInputCallback"
@@ -120,7 +120,7 @@
</div>
}
<div class="d-flex justify-content-end">
<button
<button
class="btn btn-outline-primary"
@onclick="AddAssignmentGroup"
>
@@ -128,7 +128,7 @@
</button>
</div>
<button
<button
class="btn btn-outline-secondary"
@onclick="SyncAssignmentGroupsWithCanvas"
disabled="@syncingAssignmentGroups"

View File

@@ -8,7 +8,7 @@
@inject FileStorageManager fileStorageManager
@inject CanvasService canvas
@inject ICanvasService canvas
@inject CoursePlanner planner
@inject NavigationManager navigtion
@inject IConfiguration config

View File

@@ -3,7 +3,7 @@
@using Management.Web.Pages.Course.Module
@using Management.Web.Pages.Course.CourseCalendar
@inject CanvasService canvas
@inject ICanvasService canvas
@inject CoursePlanner planner
@code

View File

@@ -1,5 +1,5 @@
@using Management.Web.Shared.Components
@inject CanvasService canvas
@inject ICanvasService canvas
@inject CoursePlanner planner
@code
@@ -19,23 +19,23 @@
}
private IEnumerable<EnrollmentTermModel>? terms { get; set; } = null;
private ulong? _selectedTermId {get; set;}
private ulong? selectedTermId {
get => _selectedTermId;
private ulong? selectedTermId {
get => _selectedTermId;
set
{
_selectedTermId = value;
if(selectedTerm != null && planner.LocalCourse != null)
{
planner.LocalCourse = planner.LocalCourse with
planner.LocalCourse = planner.LocalCourse with
{
Settings = planner.LocalCourse.Settings with
Settings = planner.LocalCourse.Settings with
{
StartDate=selectedTerm.StartAt ?? new DateTime(),
EndDate=selectedTerm.EndAt ?? new DateTime(),
}
};
}
}
}
}
private EnrollmentTermModel? selectedTerm
{
@@ -59,8 +59,8 @@
}
<button
class="btn btn-outline-secondary"
<button
class="btn btn-outline-secondary"
@onclick="@(() => modal.Show())"
>
Edit Course Settings
@@ -71,7 +71,7 @@
<h1>Course Settings</h1>
</Title>
<Body>
<h5 class="text-center">Select Days Of Week</h5>
<div class="row m-3">
@foreach (DayOfWeek day in (DayOfWeek[])Enum.GetValues(typeof(DayOfWeek)))
@@ -80,16 +80,16 @@
<button
class="@(
planner.LocalCourse?.Settings.DaysOfWeek.Contains(day) ?? false
? "btn btn-secondary"
? "btn btn-secondary"
: "btn btn-outline-secondary"
)"
@onclick="() =>
)"
@onclick="() =>
{
if(planner.LocalCourse?.Settings.DaysOfWeek.Contains(day) ?? false)
{
planner.LocalCourse = planner.LocalCourse with
planner.LocalCourse = planner.LocalCourse with
{
Settings = planner.LocalCourse.Settings with
Settings = planner.LocalCourse.Settings with
{
DaysOfWeek = planner.LocalCourse.Settings.DaysOfWeek.Where((d) => d != day)
}
@@ -99,16 +99,16 @@
{
if (planner.LocalCourse != null)
{
planner.LocalCourse = planner.LocalCourse with
planner.LocalCourse = planner.LocalCourse with
{
Settings = planner.LocalCourse.Settings with
Settings = planner.LocalCourse.Settings with
{
DaysOfWeek = planner.LocalCourse.Settings.DaysOfWeek.Append(day)
}
};
}
}
}"
}"
>
@day
</button>
@@ -138,15 +138,15 @@
</div>
}
@if(planner.LocalCourse != null)
{
<div class="row justify-content-center m-3 text-center">
<div class="col-auto">
<div>Default Assignment Due Time</div>
<TimePicker Time="planner.LocalCourse.Settings.DefaultDueTime" UpdateTime="@((newTime) =>
planner.LocalCourse =
planner.LocalCourse with
<TimePicker Time="planner.LocalCourse.Settings.DefaultDueTime" UpdateTime="@((newTime) =>
planner.LocalCourse =
planner.LocalCourse with
{ Settings = planner.LocalCourse.Settings with { DefaultDueTime=newTime } }
)"
/>
@@ -156,11 +156,11 @@
<AssignmentGroups />
</Body>
<Footer>
<button
class="btn btn-outline-secondary"
<button
class="btn btn-outline-secondary"
@onclick="@(() => modal.Hide())"
>
Done Editing Course Settings
</button>
</Footer>
</Modal>
</Modal>

View File

@@ -1,5 +1,5 @@
@inject CoursePlanner planner
@inject CanvasService canvas
@inject ICanvasService canvas
@code {
@@ -19,7 +19,7 @@
Name=Name
};
planner.LocalCourse = planner.LocalCourse with
planner.LocalCourse = planner.LocalCourse with
{
Modules = planner.LocalCourse.Modules.Append(newModule)
};