mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
module item sorting fixed
This commit is contained in:
@@ -39,7 +39,7 @@
|
|||||||
@onclick="OnClick"
|
@onclick="OnClick"
|
||||||
role="button"
|
role="button"
|
||||||
>
|
>
|
||||||
<ModuleItemLayout Name=Quiz.Name IsSyncedWithCanvas=existsInCanvas>
|
<ModuleItemLayout Name=@Quiz.Name IsSyncedWithCanvas=@existsInCanvas>
|
||||||
@if(!existsInCanvas)
|
@if(!existsInCanvas)
|
||||||
{
|
{
|
||||||
<div class="mx-3 text-body-tertiary">
|
<div class="mx-3 text-body-tertiary">
|
||||||
|
|||||||
@@ -159,7 +159,8 @@ public class AssignmentEditorContext
|
|||||||
createdAssignmentCanvasId
|
createdAssignmentCanvasId
|
||||||
);
|
);
|
||||||
|
|
||||||
await planner.LocalCourse.Modules.First().SortModuleItems(
|
var module = getCurrentLocalModule(Assignment, planner.LocalCourse);
|
||||||
|
await module.SortModuleItems(
|
||||||
(ulong)courseCanvasId,
|
(ulong)courseCanvasId,
|
||||||
canvasModule.Id,
|
canvasModule.Id,
|
||||||
canvas
|
canvas
|
||||||
|
|||||||
@@ -121,7 +121,8 @@ public class PageEditorContext(
|
|||||||
canvasPage
|
canvasPage
|
||||||
);
|
);
|
||||||
|
|
||||||
await planner.LocalCourse.Modules.First().SortModuleItems(
|
var currentModule = getCurrentLocalModule(Page, planner.LocalCourse);
|
||||||
|
await currentModule.SortModuleItems(
|
||||||
(ulong)courseCanvasId,
|
(ulong)courseCanvasId,
|
||||||
canvasModule.Id,
|
canvasModule.Id,
|
||||||
canvas
|
canvas
|
||||||
|
|||||||
@@ -40,15 +40,20 @@ public static partial class ModuleSyncronizationExtensions
|
|||||||
var canvasModuleItems = await canvas.Modules.GetModuleItems(canvasId, moduleCanvasId);
|
var canvasModuleItems = await canvas.Modules.GetModuleItems(canvasId, moduleCanvasId);
|
||||||
var moduleItemsInCorrectOrder = canvasModuleItems
|
var moduleItemsInCorrectOrder = canvasModuleItems
|
||||||
.OrderBy(canvasItem => {
|
.OrderBy(canvasItem => {
|
||||||
|
|
||||||
if(canvasItem.Type == "Page")
|
if(canvasItem.Type == "Page")
|
||||||
{
|
{
|
||||||
var localPage = localModule.Pages.FirstOrDefault(p => p.Name == canvasItem.Title);
|
var localPage = localModule.Pages.FirstOrDefault(p => p.Name == canvasItem.Title);
|
||||||
|
Console.WriteLine(JsonSerializer.Serialize(localModule.Pages));
|
||||||
|
|
||||||
if(localPage != null)
|
if(localPage != null)
|
||||||
return localPage.DueAt;
|
return localPage.DueAt.Date;
|
||||||
}
|
}
|
||||||
return canvasItem.ContentDetails?.DueAt;
|
return canvasItem.ContentDetails?.DueAt?.Date;
|
||||||
})
|
})
|
||||||
.Select((a, i) => (Item: a, Position: i + 1));
|
.ThenBy(canvasItem => canvasItem.Title)
|
||||||
|
.Select((a, i) => (Item: a, Position: i + 1))
|
||||||
|
.ToArray();
|
||||||
|
|
||||||
foreach (var (moduleItem, position) in moduleItemsInCorrectOrder)
|
foreach (var (moduleItem, position) in moduleItemsInCorrectOrder)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ public class CanvasAssignmentService(
|
|||||||
assignments =>
|
assignments =>
|
||||||
assignments.Select(
|
assignments.Select(
|
||||||
a => a with { DueAt = a.DueAt?.ToLocalTime(), LockAt = a.LockAt?.ToLocalTime() }
|
a => a with { DueAt = a.DueAt?.ToLocalTime(), LockAt = a.LockAt?.ToLocalTime() }
|
||||||
)
|
).ToArray()
|
||||||
);
|
).ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ulong> Create(
|
public async Task<ulong> Create(
|
||||||
|
|||||||
@@ -62,7 +62,16 @@ public class CanvasModuleService
|
|||||||
var (items, response) = await webRequestor.GetAsync<IEnumerable<CanvasModuleItem>>(request);
|
var (items, response) = await webRequestor.GetAsync<IEnumerable<CanvasModuleItem>>(request);
|
||||||
if (items == null)
|
if (items == null)
|
||||||
throw new Exception($"Error getting canvas module items for {url}");
|
throw new Exception($"Error getting canvas module items for {url}");
|
||||||
return items;
|
return items.Select(i =>
|
||||||
|
i with {
|
||||||
|
ContentDetails = i.ContentDetails == null
|
||||||
|
? null
|
||||||
|
: i.ContentDetails with {
|
||||||
|
DueAt = i.ContentDetails.DueAt?.ToLocalTime(),
|
||||||
|
LockAt = i.ContentDetails.LockAt?.ToLocalTime(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<Dictionary<CanvasModule, IEnumerable<CanvasModuleItem>>> GetAllModulesItems(
|
public async Task<Dictionary<CanvasModule, IEnumerable<CanvasModuleItem>>> GetAllModulesItems(
|
||||||
|
|||||||
Reference in New Issue
Block a user