got basic question and answer creation from canvas

This commit is contained in:
2023-08-17 18:50:59 -06:00
parent 4fb257e000
commit 28ad344018
18 changed files with 604 additions and 204 deletions

View File

@@ -79,29 +79,31 @@
@if(planner.LocalCourse != null)
{
<div class="mb-3">
<button
@onclick="planner.Clear"
class="btn btn-primary"
>
Select New Course
</button>
<CourseSettings />
<AssignmentTemplateManagement />
<div class="mb-3 d-flex justify-content-between" style="height: 4em;">
<div class="my-auto">
<button
@onclick="planner.Clear"
class="btn btn-primary"
>
Select New Course
</button>
<CourseSettings />
<AssignmentTemplateManagement />
<button
class="btn btn-outline-primary"
@onclick="planner.SyncWithCanvas"
>
Sync With Canvas
</button>
<a
class="btn btn-outline-secondary"
target="_blank"
href="@($"{Environment.GetEnvironmentVariable("CANVAS_URL")}/courses/{planner.LocalCourse.CanvasId}")"
>
View In Canvas
</a>
<button
class="btn btn-outline-primary"
@onclick="planner.SyncWithCanvas"
>
Sync With Canvas
</button>
<a
class="btn btn-outline-secondary"
target="_blank"
href="@($"{Environment.GetEnvironmentVariable("CANVAS_URL")}/courses/{planner.LocalCourse.CanvasId}")"
>
View In Canvas
</a>
</div>
@if(planner.LoadingCanvasData)
{

View File

@@ -32,10 +32,10 @@ if (canvas_url == null)
builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
builder.Services.AddScoped<IWebRequestor, WebRequestor>();
builder.Services.AddScoped<CanvasServiceUtils>();
builder.Services.AddScoped<CanvasAssignmentService>();
builder.Services.AddScoped<CanvasQuizService>();
builder.Services.AddScoped<CanvasService, CanvasService>();
builder.Services.AddScoped<YamlManager>();

View File

@@ -1,12 +1,13 @@
@using Management.Web.Shared.Components
@using Management.Web.Shared.Components.Quiz
@inject DragContainer dragContainer
@inject QuizEditorContext quizContext
@inject CoursePlanner planner
@inherits DroppableQuiz
@code {
private void HandleDragStart()
{
dragContainer.DropCallback = dropCallback;
@@ -16,6 +17,10 @@
{
dragContainer.DropCallback = null;
}
private bool isSyncedWithCanvas =>
planner.CanvasQuizzes != null
? Quiz.QuizIsCreated(planner.CanvasQuizzes)
: false;
}
@@ -29,9 +34,16 @@
>
<div class="card">
<div class="card-body p-0">
<div class="card-title pt-2 px-2 m-0">
<div class="card-title pt-2 px-2 m-0 d-flex justify-content-between">
<h4>@Quiz.Name</h4>
@if(isSyncedWithCanvas)
{
<CheckIcon />
}
else
{
<SyncIcon />
}
</div>
<div class="card-text overflow-hidden p-2">