@using Management.Web.Shared.Components @using Management.Web.Shared.Components.AssignmentForm @using CanvasModel.Assignments; @inject DragContainer dragContainer @inject CoursePlanner planner @inject NavigationManager Navigation @inject AssignmentEditorContext assignmentContext @inherits DroppableAssignment @code { [Parameter] [EditorRequired] public LocalModule Module { get; set; } = new(); private bool showUpdateForm = false; 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); } }