continuing to improve quiz markdown experience

This commit is contained in:
2023-10-12 15:18:54 -06:00
parent 4aa045d952
commit a12f6cb1fd
7 changed files with 45 additions and 27 deletions

View File

@@ -28,7 +28,7 @@ public class DroppableQuiz : ComponentBase
if (planner.LocalCourse == null)
return;
var currentModule =
planner.LocalCourse.Modules.First(m => m.Quizzes.Select(q => q.Id).Contains(Quiz.Id))
planner.LocalCourse.Modules.First(m => m.Quizzes.Select(q => q.Name + q.Description).Contains(Quiz.Name + Quiz.Description))
?? throw new Exception("in quiz callback, could not find module");
var defaultDueTimeDate = new DateTime(
@@ -41,7 +41,7 @@ public class DroppableQuiz : ComponentBase
);
var NewQuizList = currentModule.Quizzes
.Select(q => q.Id != Quiz.Id ? q : q with { DueAt = defaultDueTimeDate })
.Select(q => q.Name + q.Description != Quiz.Name + Quiz.Description ? q : q with { DueAt = defaultDueTimeDate })
.ToArray();
var updatedModule = currentModule with { Quizzes = NewQuizList };
@@ -62,11 +62,11 @@ public class DroppableQuiz : ComponentBase
m.Name != dropModule.Name
? m with
{
Quizzes = m.Quizzes.Where(q => q.Id != Quiz.Id).DistinctBy(q => q.Id)
Quizzes = m.Quizzes.Where(q => q.Name + q.Description != Quiz.Name + Quiz.Description).DistinctBy(q => q.Name + q.Description)
}
: m with
{
Quizzes = m.Quizzes.Append(Quiz).DistinctBy(q => q.Id)
Quizzes = m.Quizzes.Append(Quiz).DistinctBy(q => q.Name + q.Description)
}
)
.ToArray();

View File

@@ -6,15 +6,18 @@
}
<div class="row justify-content-between">
<div class="row justify-content-between text-secondary">
<div class="col">
@((MarkupString)Question.HtmlText)
points: @Question.Points
</div>
<div class="col-auto">
@Question.QuestionType
</div>
</div>
@((MarkupString)Question.HtmlText)
@foreach(var answer in Question.Answers)
{
string answerPreview = answer.HtmlText.StartsWith("<p>")

View File

@@ -24,13 +24,35 @@
@if(Quiz != null)
{
<div>Name: @Quiz.Name</div>
<div>Due At: @Quiz.DueAt</div>
<div>Lock At: @Quiz.LockAt</div>
<div>Shuffle Answers: @Quiz.ShuffleAnswers</div>
<div>Allowed Attempts: @Quiz.AllowedAttempts</div>
<div>One question at a time: @Quiz.OneQuestionAtATime</div>
<div>Assignment Group: @Quiz.LocalAssignmentGroupName</div>
<div class="row">
<div class="col-6 text-end">Name: </div>
<div class="col-6">@Quiz.Name</div>
</div>
<div class="row">
<div class="col-6 text-end">Due At: </div>
<div class="col-6">@Quiz.DueAt</div>
</div>
<div class="row">
<div class="col-6 text-end">Lock At: </div>
<div class="col-6">@Quiz.LockAt</div>
</div>
<div class="row">
<div class="col-6 text-end">Shuffle Answers: </div>
<div class="col-6">@Quiz.ShuffleAnswers</div>
</div>
<div class="row">
<div class="col-6 text-end">Allowed Attempts: </div>
<div class="col-6">@Quiz.AllowedAttempts</div>
</div>
<div class="row">
<div class="col-6 text-end">One question at a time: </div>
<div class="col-6">@Quiz.OneQuestionAtATime</div>
</div>
<div class="row">
<div class="col-6 text-end">Assignment Group: </div>
<div class="col-6">@Quiz.LocalAssignmentGroupName</div>
</div>
<div class="p-3">@Quiz.Description</div>