@using Management.Web.Shared.Components @using Management.Web.Shared.Components.AssignmentForm @using CanvasModel.Assignments; @inject DragContainer dragContainer @inject NavigationManager Navigation @inject AssignmentEditorContext assignmentContext @inherits DroppableAssignment @code { [Parameter] [EditorRequired] public LocalModule Module { get; set; } = new(); protected override void OnInitialized() { planner.StateHasChanged += reload; } private void reload() { this.InvokeAsync(this.StateHasChanged); } public void Dispose() { planner.StateHasChanged -= reload; } private bool showAll { get; set; } = false; private void HandleDragStart() { dragContainer.DropCallback = DropCallback; } private void HandleDragEnd() { dragContainer.DropCallback = null; } private CanvasAssignment? assignmentInCanvas => planner .CanvasAssignments? .FirstOrDefault( a => a.Name == Assignment.Name ); private bool isSyncedWithCanvas => assignmentInCanvas != null; private void OnClick() { assignmentContext.Assignment = Assignment; Navigation.NavigateTo("/course/" + planner.LocalCourse?.Settings.Name + "/assignment/" + Assignment.Name); } private bool NeedsToBeUpdatedInCanvas => planner.LocalCourse != null && planner.LocalCourse.Settings.CanvasId != null && planner.CanvasAssignments != null && planner.CanvasModules != null && assignmentInCanvas != null && Assignment.NeedsUpdates( (CanvasAssignment)assignmentInCanvas, Assignment.GetCanvasAssignmentGroupId(planner.LocalCourse.Settings.AssignmentGroups) ); }

@Assignment.Name

@if(isSyncedWithCanvas) { @if(NeedsToBeUpdatedInCanvas) { } else { } } else { }
@if(isSyncedWithCanvas && NeedsToBeUpdatedInCanvas) {
@Assignment.GetUpdateReason( (CanvasAssignment)assignmentInCanvas, Assignment.GetCanvasAssignmentGroupId(planner.LocalCourse.Settings.AssignmentGroups))
} @if(!showAll) {
Points: @Assignment.PointsPossible
Due At: @Assignment.DueAt
} else {
@((MarkupString) @Assignment.GetDescriptionHtml())
Points: @Assignment.PointsPossible
Due At: @Assignment.DueAt
Lock At: @Assignment.LockAt
Submission Types:
    @foreach(var type in Assignment.SubmissionTypes) {
  • @type
  • }
} @if(!showAll) {
} else {
}