@if (!Scopes.Any())
{
}
@foreach (var scope in Scopes)
{
}
@code {
[Parameter] public IEnumerable Values { get; set; }
[Parameter] public EventCallback> ValuesChanged { get; set; }
List Scopes = new();
protected override void OnParametersSet()
{
if (Values != null)
Scopes = Values.Select(v => new ExternalProviderScope { Name = v }).ToList();
}
async Task Add()
{
Scopes.Add(new ExternalProviderScope());
if (ValuesChanged.HasDelegate)
await ValuesChanged.InvokeAsync(Scopes.Select(s => s.Name));
}
async Task Remove(ExternalProviderScope scope)
{
Scopes.Remove(scope);
if (ValuesChanged.HasDelegate)
await ValuesChanged.InvokeAsync(Scopes.Select(s => s.Name));
}
async Task Update()
{
if (ValuesChanged.HasDelegate)
await ValuesChanged.InvokeAsync(Scopes.Select(s => s.Name));
}
}