moved settings into their own object

This commit is contained in:
2023-09-22 12:58:37 -06:00
parent e53222e35d
commit fa792f1f23
20 changed files with 81 additions and 70 deletions

View File

@@ -28,10 +28,13 @@
Id = Guid.NewGuid().ToString()
};
var updatedGroups = planner.LocalCourse.AssignmentGroups.Append(newGroup);
var updatedGroups = planner.LocalCourse.Settings.AssignmentGroups.Append(newGroup);
planner.LocalCourse = planner.LocalCourse with
{
AssignmentGroups = updatedGroups
Settings = planner.LocalCourse.Settings with
{
AssignmentGroups = updatedGroups
}
};
}
}
@@ -43,14 +46,17 @@
if(planner.LocalCourse != null)
{
var newName = e.Value?.ToString() ?? "";
var newGroups = planner.LocalCourse.AssignmentGroups.Select(
var newGroups = planner.LocalCourse.Settings.AssignmentGroups.Select(
g => g.Id == groupId
? g with { Name = newName }
: g
);
planner.LocalCourse = planner.LocalCourse with
{
AssignmentGroups = newGroups
Settings = planner.LocalCourse.Settings with
{
AssignmentGroups = newGroups
}
};
}
};
@@ -62,14 +68,17 @@
if(planner.LocalCourse != null)
{
var newWeight = double.Parse(e.Value?.ToString() ?? "0");
var newGroups = planner.LocalCourse.AssignmentGroups.Select(
var newGroups = planner.LocalCourse.Settings.AssignmentGroups.Select(
g => g.Id == groupId
? g with { Weight = newWeight }
: g
);
planner.LocalCourse = planner.LocalCourse with
{
AssignmentGroups = newGroups
Settings = planner.LocalCourse.Settings with
{
AssignmentGroups = newGroups
}
};
}
};
@@ -79,7 +88,7 @@
@if(planner.LocalCourse != null)
{
<h4 class="text-center">Assignment Groups</h4>
@foreach (var group in planner.LocalCourse.AssignmentGroups)
@foreach (var group in planner.LocalCourse.Settings.AssignmentGroups)
{
var groupName = group.Name;
var nameInputCallback = saveGroupName(group.Id);

View File

@@ -78,17 +78,20 @@
<div class="col">
<button
class="@(
planner.LocalCourse?.DaysOfWeek.Contains(day) ?? false
planner.LocalCourse?.Settings.DaysOfWeek.Contains(day) ?? false
? "btn btn-secondary"
: "btn btn-outline-secondary"
)"
@onclick="() =>
{
if(planner.LocalCourse?.DaysOfWeek.Contains(day) ?? false)
if(planner.LocalCourse?.Settings.DaysOfWeek.Contains(day) ?? false)
{
planner.LocalCourse = planner.LocalCourse with
{
DaysOfWeek = planner.LocalCourse.DaysOfWeek.Where((d) => d != day)
Settings = planner.LocalCourse.Settings with
{
DaysOfWeek = planner.LocalCourse.Settings.DaysOfWeek.Where((d) => d != day)
}
};
}
else
@@ -97,7 +100,10 @@
{
planner.LocalCourse = planner.LocalCourse with
{
DaysOfWeek = planner.LocalCourse.DaysOfWeek.Append(day)
Settings = planner.LocalCourse.Settings with
{
DaysOfWeek = planner.LocalCourse.Settings.DaysOfWeek.Append(day)
}
};
}
}
@@ -137,12 +143,10 @@
<div class="row justify-content-center m-3 text-center">
<div class="col-auto">
<div>Default Assignment Due Time</div>
<TimePicker
Time="planner.LocalCourse.DefaultDueTime"
UpdateTime="@((newTime) =>
<TimePicker Time="planner.LocalCourse.Settings.DefaultDueTime" UpdateTime="@((newTime) =>
planner.LocalCourse =
planner.LocalCourse with
{ DefaultDueTime=newTime }
{ Settings = planner.LocalCourse.Settings with { DefaultDueTime=newTime } }
)"
/>
</div>