static private BuildBranchStructure ( ItemFilter filter, IContentAdapterProvider adapters, ContentItem selectedItem, ContentItem root ) : HierarchyNode |
||
filter | ItemFilter | |
adapters | IContentAdapterProvider | |
selectedItem | ContentItem | |
root | ContentItem | |
return | HierarchyNode |
private Node <TreeNode> GetBranch(HttpContextBase context) { var root = Selection.ParseSelected(context.Request["root"]) ?? Selection.Traverse.RootPage; var selectedItem = Selection.SelectedItem; var filter = engine.EditManager.GetEditorFilter(context.User); var structure = ApiExtensions.BuildBranchStructure(filter, engine.Resolve <IContentAdapterProvider>(), selectedItem, root); var usersTemplate = structure.Children.Where(x => x.Current.Path == "/TemplateUsers/").FirstOrDefault(); ////var uploadFolder = structure.Children.Where(x => x.Current.Path == "/upload/").FirstOrDefault(); ////Option 1: set non expandable on the Upload directory in the structure still traverse to the selected item ////if (uploadFolder != null) //// uploadFolder.Current.NotExpandable = true; ////Option 2: remove upload folder will not traverse but upload folder will not be into tree ////if (uploadFolder != null) //// structure.Children.Remove(uploadFolder); ////Option 3: remove children of upload folder will execute fast but we will lost expand arrow in the tree ////if (uploadFolder != null) //// uploadFolder.Children.Clear(); if (usersTemplate != null) { structure.Children.Remove(usersTemplate); } return(ApiExtensions.CreateNode(structure, engine.Resolve <IContentAdapterProvider>(), filter)); }
private Node <TreeNode> GetBranch(HttpContextBase context) { var root = Selection.ParseSelected(context.Request["root"]) ?? Selection.Traverse.RootPage; var selectedItem = Selection.SelectedItem; var filter = engine.EditManager.GetEditorFilter(context.User); var structure = ApiExtensions.BuildBranchStructure(filter, engine.Resolve <IContentAdapterProvider>(), selectedItem, root); return(ApiExtensions.CreateNode(structure, engine.Resolve <IContentAdapterProvider>(), filter)); }
protected virtual Node <TreeNode> GetContent(HttpContextBase context, SelectionUtility selection, ContentItem selectedItem) { var filter = engine.EditManager.GetEditorFilter(context.User) & Content.Is.Page(); var root = selection.Traverse.RootPage; var structure = ApiExtensions.BuildBranchStructure(filter, engine.Resolve <IContentAdapterProvider>(), selectedItem, root); return(GetStructure(structure, filter)); }