From 8d5d820c5019dc447b91e62a5b36fdd08bb48dbe Mon Sep 17 00:00:00 2001 From: Alex Mickelson Date: Wed, 4 Oct 2023 14:06:07 -0600 Subject: [PATCH] button select uses name for uniqueness --- .../AssignmentForm/AssignmentForm.razor | 7 +++--- .../Components/Forms/ButtonSelect.razor | 23 ++++--------------- .../Shared/Components/Quiz/QuizSettings.razor | 7 +++--- Management/Models/Local/LocalQuiz.cs | 6 ++--- 4 files changed, 14 insertions(+), 29 deletions(-) diff --git a/Management.Web/Shared/Components/AssignmentForm/AssignmentForm.razor b/Management.Web/Shared/Components/AssignmentForm/AssignmentForm.razor index 9e0128f..54f5c27 100644 --- a/Management.Web/Shared/Components/AssignmentForm/AssignmentForm.razor +++ b/Management.Web/Shared/Components/AssignmentForm/AssignmentForm.razor @@ -112,14 +112,14 @@ } } - private void setAssignmentGroup(LocalAssignmentGroup group) + private void setAssignmentGroup(LocalAssignmentGroup? group) { if(assignmentContext.Assignment == null) return; var newAssignment = assignmentContext.Assignment with { - LocalAssignmentGroupId = group.Id + LocalAssignmentGroupId = group?.Id }; assignmentContext.SaveAssignment(newAssignment); @@ -150,8 +150,7 @@ diff --git a/Management.Web/Shared/Components/Forms/ButtonSelect.razor b/Management.Web/Shared/Components/Forms/ButtonSelect.razor index 1676960..1363d21 100644 --- a/Management.Web/Shared/Components/Forms/ButtonSelect.razor +++ b/Management.Web/Shared/Components/Forms/ButtonSelect.razor @@ -6,12 +6,8 @@ public string Label { get; set; } = string.Empty; [Parameter, EditorRequired] public IEnumerable Options { get; set; } = default!; - [Parameter, EditorRequired] - public Func GetId { get; set; } = default!; - - [Parameter, EditorRequired] - public Func GetName { get; set; } = default!; + public Func GetName { get; set; } = default!; [Parameter, EditorRequired] public Action OnSelect { get; set; } = default!; @@ -19,26 +15,17 @@ [Parameter, EditorRequired] public T? SelectedOption { get; set; } - protected override void OnParametersSet() - { - selectedItemId = SelectedOption != null ? GetId(SelectedOption) : ""; - - } - private string htmlLabel => Label.Replace("-", ""); - private string selectedItemId { get; set; } - private void onSelect(T option) { SelectedOption = option; - selectedItemId = GetId(option); OnSelect(SelectedOption); } - private string getButtonClasS(T option) + private string getButtonClass(T option) { - var partClass = selectedItemId == GetId(option) ? "primary" : "outline-primary"; + var partClass = GetName(option) == GetName(SelectedOption) ? "primary" : "outline-primary"; return $"mx-1 btn btn-{partClass}"; } } @@ -46,8 +33,8 @@
@foreach(var option in Options) { -