moved assignment editing to its own page

This commit is contained in:
2023-08-31 15:12:01 -06:00
parent 3ae110d22a
commit ebb9cd4d2e
9 changed files with 145 additions and 103 deletions

View File

@@ -190,7 +190,7 @@
<div class="col">
<textarea
id="description"
class="form-control"
class="form-control h-100"
rows=12
@bind="description"
@oninput="handleNewDescription"

View File

@@ -4,18 +4,19 @@
@inject CoursePlanner planner
@inject CanvasService canvas
@inject NavigationManager Navigation
@inject AssignmentEditorContext assignmentContext
@code {
protected override void OnInitialized()
{
assignmentContext.StateHasChanged += reload;
reload();
}
private void reload()
{
if (assignmentContext.Assignment != null)
{
AssignmentModal?.Show();
name = assignmentContext.Assignment.Name;
lockAtDueDate = assignmentContext.Assignment.LockAtDueDate;
}
@@ -32,7 +33,6 @@
name = "";
lockAtDueDate = false;
}
public Modal? AssignmentModal { get; set; } = null;
private string name { get; set; } = String.Empty;
private bool lockAtDueDate { get; set; }
@@ -48,7 +48,6 @@
assignmentContext.SaveAssignment(newAssignment);
}
AssignmentModal?.Hide();
assignmentContext.Assignment = null;
}
@@ -86,7 +85,6 @@
await canvas.Assignments.Delete(courseId, assignment);
}
}
AssignmentModal?.Hide();
}
private void handleNameChange(ChangeEventArgs e)
@@ -134,65 +132,58 @@
.FirstOrDefault(g => g.Id == assignmentContext.Assignment?.LocalAssignmentGroupId);
}
<Modal @ref="AssignmentModal" OnHide="OnHide" Size="xl">
<Title>
@assignmentContext.Assignment?.Name
</Title>
@assignmentContext.Assignment?.Name
<Body>
@if (assignmentContext.Assignment != null)
{
<div class="m-1">
<label class="form-label">
Name
</label>
<input
class="form-control"
@bind="name"
@oninput="handleNameChange"
/>
</div>
<ButtonSelect
Label="Assignment Group"
Options="planner.LocalCourse.AssignmentGroups"
GetId="(g) => g.Id"
GetName="(g) => g.Name"
OnSelect="(g) => setAssignmentGroup(g)"
SelectedOption="selectedAssignmentGroup"
/>
<div class="m-1">
<AssignmentDescriptionEditor />
</div>
@if (assignmentContext.Assignment != null)
{
<div class="m-1">
<label class="form-label">
Name
</label>
<input
class="form-control"
@bind="name"
@oninput="handleNameChange"
/>
</div>
<ButtonSelect
Label="Assignment Group"
Options="planner.LocalCourse.AssignmentGroups"
GetId="(g) => g.Id"
GetName="(g) => g.Name"
OnSelect="(g) => setAssignmentGroup(g)"
SelectedOption="selectedAssignmentGroup"
/>
<div class="m-1">
<AssignmentDescriptionEditor />
</div>
<div class="form-check m-1">
<input
class="form-check-input"
id="lockAtDueDate"
type="checkbox"
@bind="lockAtDueDate"
@oninput="handleLockAtDueDateChange"
/>
<label
class="form-check-label"
for="lockAtDueDate"
>
Lock At Due Date
</label>
</div>
<RubricEditor />
<SubmissionTypeSelector />
}
</Body>
<Footer>
<ConfirmationModal Label="Delete" Class="btn btn-danger" OnConfirmAsync="HandleDelete" />
<button
class="btn btn-primary"
@onclick="@(() => {
AssignmentModal?.Hide();
assignmentContext.Assignment = null;
})"
<div class="form-check m-1">
<input
class="form-check-input"
id="lockAtDueDate"
type="checkbox"
@bind="lockAtDueDate"
@oninput="handleLockAtDueDateChange"
/>
<label
class="form-check-label"
for="lockAtDueDate"
>
Done
</button>
</Footer>
</Modal>
Lock At Due Date
</label>
</div>
<RubricEditor />
<SubmissionTypeSelector />
}
<ConfirmationModal Label="Delete" Class="btn btn-danger" OnConfirmAsync="HandleDelete" />
<button
class="btn btn-primary"
@onclick="@(() => {
assignmentContext.Assignment = null;
Navigation.NavigateTo("/course/" + planner.LocalCourse?.Name);
})"
>
Done
</button>

View File

@@ -40,7 +40,6 @@
}
}
<AssignmentForm />
<QuizForm />
<div class="row">

View File

@@ -17,11 +17,11 @@
void handleClick(MouseEventArgs e, LocalCourse course)
{
logger.LogInformation("here");
@* logger.LogInformation("here"); *@
planner.LocalCourse = course;
Navigation.NavigateTo("/course/" + course.Name);
Console.WriteLine("navigated to course detail");
}
}
<div class="text-center">

View File

@@ -3,6 +3,7 @@
@inject DragContainer dragContainer
@inject CoursePlanner planner
@inject NavigationManager Navigation
@inject AssignmentEditorContext assignmentContext
@inherits DroppableAssignment
@@ -44,6 +45,11 @@
.FirstOrDefault(
a => a.Id == Assignment.CanvasId
) != null;
private void OnClick()
{
assignmentContext.Assignment = Assignment;
Navigation.NavigateTo("/course/" + planner.LocalCourse.Name + "/assignment/" + Assignment.Id);
}
}
@@ -51,7 +57,7 @@
draggable="true"
@ondragstart="HandleDragStart"
@ondragend="HandleDragEnd"
@onclick="@(() => assignmentContext.Assignment = Assignment)"
@onclick="OnClick"
role="button"
>
<div class="card">

View File

@@ -2,8 +2,10 @@
@inject DragContainer dragContainer
@inject CoursePlanner planner
@inject NavigationManager Navigation
@inject AssignmentEditorContext assignmentContext
@inject ILogger<AssignmentInDay> logger
@inherits DroppableAssignment
@code {
@@ -29,13 +31,23 @@
{
dragContainer.DropCallback = null;
}
private void OnClick()
{
if(planner.LocalCourse != null)
{
assignmentContext.Assignment = Assignment;
Navigation.NavigateTo("/course/" + planner.LocalCourse.Name + "/assignment/" + Assignment.Id);
logger.LogInformation("navigating to assignment page");
}
}
}
<div
draggable="true"
@ondragstart="HandleDragStart"
@ondragend="HandleDragEnd"
@onclick="@(() => assignmentContext.Assignment = Assignment)"
@onclick="OnClick"
role="button"
>
@Assignment.Name