can select assignment group for assignments and quizzes

This commit is contained in:
2023-08-25 13:20:02 -06:00
parent bbae0c054d
commit 1ac6cfd57c
6 changed files with 195 additions and 30 deletions

View File

@@ -0,0 +1,48 @@
@typeparam T
@code {
[Parameter, EditorRequired]
public string Label { get; set; } = string.Empty;
[Parameter, EditorRequired]
public IEnumerable<T> Options { get; set; } = default!;
[Parameter, EditorRequired]
public Func<T, string> GetId { get; set; } = default!;
[Parameter, EditorRequired]
public Func<T, string> GetName { get; set; } = default!;
[Parameter, EditorRequired]
public Action<T?> OnSelect { get; set; } = default!;
private string htmlLabel => Label.Replace("-", "");
private string selectedItemId { get; set; }
private void onSelect(ChangeEventArgs e)
{
var newId = e.Value?.ToString();
var selectedOption = Options.FirstOrDefault(o => GetId(o) == newId);
OnSelect(selectedOption);
}
}
<div>
<label for="@htmlLabel">@Label</label>
<select
id="@htmlLabel"
name="@htmlLabel"
@bind="selectedItemId"
@oninput="onSelect"
>
@foreach(var option in Options)
{
<option
value="@(GetId(option))"
>
@GetName(option)
</option>
}
</select>
</div>