using Microsoft.AspNetCore.Components; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace Remotely.Server.Components.TreeView; public partial class TreeView : ComponentBase { [Parameter] [EditorRequired] public required IEnumerable DataSource { get; set; } [Parameter] [EditorRequired] public required Func> ChildItemSelector { get; set; } [Parameter] [EditorRequired] public required Func ItemHeaderSelector { get; set; } [Parameter] [EditorRequired] public required Func KeySelector { get; set; } [Parameter] public EventCallback ItemSelected { get; set; } [Parameter] public string? WrapperStyle { get; set; } [Parameter] public string? ChildItemStyle { get; set; } [Parameter] public int IndentLevel { get; set; } [Parameter] [EditorRequired] public required Func ItemTypeSelector { get; set; } [Parameter] [EditorRequired] public required Func? ItemIconCssSelector { get; set; } public TreeViewItem? SelectedNode { get; set; } }