@foreach (var item in ListValuesOrd)
{
}
@code {
#region Public Properties
[Parameter]
public string ClassDesel { get; set; } = "btn-secondary";
[Parameter]
public string ClassSel { get; set; } = "btn-primary";
[Parameter]
public EventCallback EC_ValueChanged { get; set; }
[Parameter]
public List ListValues { get; set; } = new List();
///
/// Indica se sia possibile selezionare + valori
///
[Parameter]
public bool MultiSel { get; set; } = true;
#endregion Public Properties
#region Public Classes
public class ItemData
{
#region Public Properties
public string CodItem { get; set; } = "";
public int Ordinal { get; set; } = 0;
public bool Selected { get; set; } = false;
public string Text { get; set; } = "";
public string Tooltip { get; set; } = "";
#endregion Public Properties
}
#endregion Public Classes
#region Protected Properties
protected List ListValuesOrd
{
get => ListValues.OrderBy(x => x.Ordinal).ToList() ?? new List();
}
#endregion Protected Properties
#region Private Methods
private string btnSel(bool selected)
{
return selected ? ClassSel : ClassDesel;
}
private async void ToggleVal(ItemData currItem)
{
currItem.Selected = MultiSel ? !currItem.Selected : true;
// se non abilitata sel multipla
if (!MultiSel)
{
// deseleziono gli altri...
foreach (var item in ListValues)
{
if (!item.CodItem.Equals(currItem.CodItem))
{
item.Selected = false;
}
}
}
await EC_ValueChanged.InvokeAsync(currItem);
}
#endregion Private Methods
}