internal static Node <TreeNode> CreateNode(this HierarchyNode <ContentItem> structure, IContentAdapterProvider adapters, Collections.ItemFilter filter) { var adapter = adapters.ResolveAdapter <NodeAdapter>(structure.Current); var children = structure.Children.Select(c => CreateNode(c, adapters, filter)).ToList(); return(new Node <TreeNode> { Current = adapter.GetTreeNode(structure.Current), HasChildren = adapter.HasChildren(structure.Current, filter), Expanded = children.Any(), Children = children }); }
IEnumerable <ContentItem> IActiveChildren.GetChildren(Collections.ItemFilter filter) { return(GetChildren(filter)); }