@using Management.Web.Shared.Module.Assignment @using LocalModels @inject CoursePlanner configurationManagement @inject CoursePlanner planner @inject AssignmentDragContainer dragContainer @code { [Parameter, EditorRequired] public LocalModule Module { get; set; } = default!; private bool dragging {get; set;} = false; protected override void OnInitialized() { planner.StateHasChanged += reload; } private void reload() { this.InvokeAsync(this.StateHasChanged); } public void Dispose() { planner.StateHasChanged -= reload; } private string accordionId { get => Module.Name.Replace(" ", "") + "-AccordionItem"; } void OnDragEnter() { dragging = true; } void OnDragLeave() { dragging = false; } void OnDrop() { dragging = false; if(dragContainer.DropCallback == null){ System.Console.WriteLine("no drop callback set"); return; } dragContainer.DropCallback?.Invoke(null, Module); } }

@* data-bs-parent="#modulesAccordion" include to limit expanded sections *@
Assignments
@foreach (var a in Module.Assignments) { }