TreeExtensions
Namespace: Hex1b
Assembly: Hex1b.dll
Extension methods for creating Tree widgets.
csharp
public static class TreeExtensionsInheritance
Object → TreeExtensions
Methods
Tree<TParent, T>(WidgetContext<TParent>, IEnumerable<T>, Func<T, string>, Func<T, bool>, Func<T, Task<IEnumerable<T>>>, Func<T, string>?)
Creates a Tree bound to a data source with lazy-loaded children.
Parameters:
ctx(WidgetContext<<TParent>>): The widget context.items(IEnumerable<<T>>): The root data items.labelSelector(Func<<T>, String>): Function to get the label from a data item.hasChildrenSelector(Func<<T>, Boolean>): Function to determine if an item has children to load.childrenLoader(Func<<T>, IEnumerable<<T>>>>): Async function to load children when an item is expanded.iconSelector(Func<<T>, String>): Optional function to get the icon from a data item.
Returns: TreeWidget
csharp
public static TreeWidget Tree<TParent, T>(this WidgetContext<TParent> ctx, IEnumerable<T> items, Func<T, string> labelSelector, Func<T, bool> hasChildrenSelector, Func<T, Task<IEnumerable<T>>> childrenLoader, Func<T, string>? iconSelector = null) where TParent : Hex1bWidgetTree<TParent, T>(WidgetContext<TParent>, IEnumerable<T>, Func<T, string>, Func<T, IEnumerable<T>>, Func<T, string>?, Func<T, bool>?)
Creates a Tree bound to a data source with selectors for label and children.
Parameters:
ctx(WidgetContext<<TParent>>): The widget context.items(IEnumerable<<T>>): The root data items.labelSelector(Func<<T>, String>): Function to get the label from a data item.childrenSelector(Func<<T>, IEnumerable<<T>>>): Function to get children from a data item.iconSelector(Func<<T>, String>): Optional function to get the icon from a data item.isExpandedSelector(Func<<T>, Boolean>): Optional function to determine if an item is expanded.
Returns: TreeWidget
csharp
public static TreeWidget Tree<TParent, T>(this WidgetContext<TParent> ctx, IEnumerable<T> items, Func<T, string> labelSelector, Func<T, IEnumerable<T>> childrenSelector, Func<T, string>? iconSelector = null, Func<T, bool>? isExpandedSelector = null) where TParent : Hex1bWidgetTree<TParent>(WidgetContext<TParent>, Func<TreeContext, IEnumerable<TreeItemWidget>>)
Creates a Tree using a builder callback with TreeContext.
Parameters:
ctx(WidgetContext<<TParent>>):builder(Func<TreeContext, TreeItemWidget>>):
Returns: TreeWidget
csharp
public static TreeWidget Tree<TParent>(this WidgetContext<TParent> ctx, Func<TreeContext, IEnumerable<TreeItemWidget>> builder) where TParent : Hex1bWidgetTree<TParent>(WidgetContext<TParent>, IReadOnlyList<TreeItemWidget>)
Creates a Tree with the specified root items.
Parameters:
ctx(WidgetContext<<TParent>>):items(IReadOnlyList<TreeItemWidget>):
Returns: TreeWidget
csharp
public static TreeWidget Tree<TParent>(this WidgetContext<TParent> ctx, IReadOnlyList<TreeItemWidget> items) where TParent : Hex1bWidgetTree<TParent>(WidgetContext<TParent>, params TreeItemWidget[])
Creates a Tree with the specified root items.
Parameters:
ctx(WidgetContext<<TParent>>):items(TreeItemWidget[]):
Returns: TreeWidget
csharp
public static TreeWidget Tree<TParent>(this WidgetContext<TParent> ctx, params TreeItemWidget[] items) where TParent : Hex1bWidget