@namespace LANCommander.UI.Components @typeparam TItem
@if (InputPosition == DataListInputPosition.Left) { } @ItemTemplate(Item) @if (InputPosition == DataListInputPosition.Right) { }
@code { [CascadingParameter(Name = "Selected")] public bool Selected { get; set; } [CascadingParameter(Name = "Radio")] public bool Radio { get; set; } [CascadingParameter(Name = "Checkbox")] public bool Checkbox { get; set; } [CascadingParameter(Name = "InputPosition")] public DataListInputPosition InputPosition { get; set; } [CascadingParameter(Name = "SelectionTemplate")] public RenderFragment SelectionTemplate { get; set; } [Parameter] public TItem Item { get; set; } [Parameter] public RenderFragment ItemTemplate { get; set; } [Parameter] public EventCallback OnSelectedChanged { get; set; } [Parameter] public FlexAlign Align { get; set; } = FlexAlign.Center; [Parameter] public FlexJustify Justify { get; set; } = FlexJustify.Center; [Parameter] public FlexGap Gap { get; set; } = FlexGap.Middle; private async Task ToggleSelection() { if (OnSelectedChanged.HasDelegate) await OnSelectedChanged.InvokeAsync(!Selected); } }