You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Connected.Components/src/Connected.Components/Components/GridRow.razor.cs

58 lines
1.2 KiB

using Connected.Utilities;
using Microsoft.AspNetCore.Components;
namespace Connected.Components;
public partial class GridRow : ComponentBase
{
[CascadingParameter]
public Grid Parent { get; set; }
public List<GridRowContent> Children { get; set; }
[Parameter]
public RenderFragment? ChildContent { get; set; }
[Parameter]
public bool CollapsedItemShown { get; set; } = false;
private void ToggleNav()
{
CollapsedItemShown = !CollapsedItemShown;
}
[Parameter]
public string Class { get; set; } = string.Empty;
[Parameter]
public GridRowTemplate? Template { get; set; } = null;
private string GridRowClass
{
get
{
return new CssBuilder("data-grid-row-content")
.AddClass("show",CollapsedItemShown)
.AddClass(Class)
.Build();
}
}
[Parameter]
public EventCallback<ChangeEventArgs> SwitchButtonChangeEvent { get; set; }
private async Task SwitchButtonChange(ChangeEventArgs args)
{
await SwitchButtonChangeEvent.InvokeAsync(args);
}
private string SwitchButtonId = Guid.NewGuid().ToString();
protected override async Task OnInitializedAsync()
{
if (Parent.Rows is null) Parent.Rows = new();
Parent.Rows.Add(this);
await base.OnInitializedAsync();
}
}