Example #1
0
 private TreeDataItem GetChildren(Item item, string selectedItemId, string filteredBaseTemplateId)
 {
     if (!item.HasChildren)
     {
         return(BuildTreeNode(item, selectedItemId, filteredBaseTemplateId, false));
     }
     else
     {
         TreeDataItem root = BuildTreeNode(item, selectedItemId, filteredBaseTemplateId, true);
         foreach (Item child in item.Children)
         {
             root.Children.Add(GetChildren(child, selectedItemId, filteredBaseTemplateId));
         }
         return(root);
     }
 }
Example #2
0
        private TreeDataItem BuildTreeNode(Item item, string selectedItemId, string filteredBaseTemplateId, bool initializeChildrenCollection)
        {
            var node = new TreeDataItem()
            {
                Id          = item.ID.Guid.ToString(),
                DisplayName = item.DisplayName,
                IconUrl     = ItemHelper.GetIconUrl(item),
                State       = GetNodeState(item, selectedItemId, filteredBaseTemplateId),
                Path        = item.Paths.FullPath
            };

            if (initializeChildrenCollection)
            {
                node.Children = new List <TreeDataItem>();
            }

            return(node);
        }
Example #3
0
        private TreeDataItem[] GetItemSubTreeSelectedNodeFromDB(string itemId, string dbName, string selectedItemId, string filteredBaseTemplateId)
        {
            TreeDataItem tree = null;

            if (string.IsNullOrWhiteSpace(itemId))
            {
                return(null);
            }

            if (string.IsNullOrWhiteSpace(dbName))
            {
                dbName = DEFAULT_DATABASE;
            }

            using (new Sitecore.SecurityModel.SecurityDisabler())
            {
                Sitecore.Data.Database database = Sitecore.Data.Database.GetDatabase(dbName);

                var rootItem = database.GetItem(new Sitecore.Data.ID(itemId));
                tree = GetChildren(rootItem, selectedItemId, filteredBaseTemplateId);
            }
            return(new TreeDataItem[] { tree });
        }