mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
smarter canvas updates, only update when a change is detected
This commit is contained in:
@@ -84,6 +84,11 @@
|
||||
>
|
||||
Sync With Canvas
|
||||
</button>
|
||||
|
||||
@if(planner.LoadingCanvasData)
|
||||
{
|
||||
<Spinner />
|
||||
}
|
||||
</div>
|
||||
<CourseDetails />
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
global using System.Text.Json.Serialization;
|
||||
global using System.Text.Json;
|
||||
global using System.ComponentModel.DataAnnotations;
|
||||
global using Management.Services.Canvas;
|
||||
global using CanvasModel.EnrollmentTerms;
|
||||
global using CanvasModel.Courses;
|
||||
global using CanvasModel;
|
||||
@@ -19,8 +20,12 @@ var builder = WebApplication.CreateBuilder(args);
|
||||
// Add services to the container.
|
||||
builder.Services.AddRazorPages();
|
||||
builder.Services.AddServerSideBlazor();
|
||||
|
||||
builder.Services.AddScoped<IWebRequestor, WebRequestor>();
|
||||
builder.Services.AddScoped<CanvasServiceUtils>();
|
||||
builder.Services.AddScoped<CanvasAssignmentService>();
|
||||
builder.Services.AddScoped<CanvasService, CanvasService>();
|
||||
|
||||
builder.Services.AddScoped<YamlManager>();
|
||||
builder.Services.AddScoped<CoursePlanner>();
|
||||
builder.Services.AddScoped<AssignmentDragContainer>();
|
||||
|
||||
@@ -14,19 +14,24 @@
|
||||
}
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
if(
|
||||
planner.CanvasAssignments == null
|
||||
&& planner.LocalCourse != null
|
||||
&& planner.LocalCourse.CanvasId != null
|
||||
)
|
||||
{
|
||||
var canvasId = planner.LocalCourse.CanvasId ?? throw new Exception("no canvas id found for selected course");
|
||||
planner.CanvasAssignments = await canvas.GetAssignments(canvasId);
|
||||
planner.CanvasModules = await canvas.GetModules(canvasId);
|
||||
System.Console.WriteLine(JsonSerializer.Serialize(planner.CanvasAssignments));
|
||||
}
|
||||
await base.OnInitializedAsync();
|
||||
}
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if(firstRender)
|
||||
{
|
||||
if(
|
||||
planner.CanvasAssignments == null
|
||||
&& planner.LocalCourse != null
|
||||
&& planner.LocalCourse.CanvasId != null
|
||||
)
|
||||
{
|
||||
await planner.LoadCanvasData();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void reload()
|
||||
{
|
||||
|
||||
@@ -140,7 +140,19 @@
|
||||
</h4>
|
||||
@if(isSyncedWithCanvas)
|
||||
{
|
||||
<div>Synced With Canvas</div>
|
||||
@if(planner.LocalCourse != null
|
||||
&& planner.LocalCourse.CanvasId != null
|
||||
&& planner.CanvasAssignments != null
|
||||
&& planner.CanvasModules != null
|
||||
&& planner.AssignmentNeedsUpdates(Assignment)
|
||||
)
|
||||
{
|
||||
<div>need to update canvas</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div>Canvas is up to date</div>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user