コード例 #1
0
        private static SelectListItemTree CreateItem(SiteNode siteNode, RequestContext requestContext)
        {
            if (siteNode == null)
            {
                return(new SelectListItemTree());
            }

            var selectListItem = new SelectListItemTree();

            var site = Kooboo.CMS.Sites.Models.IPersistableExtensions.AsActual(siteNode.Site);

            selectListItem.Text  = string.IsNullOrEmpty(site.DisplayName) ? site.Name : site.DisplayName;
            selectListItem.Value = site.FullName;

            string parent = requestContext.GetRequestValue("parent");

            selectListItem.Selected = site.FullName.EqualsOrNullEmpty(parent, StringComparison.CurrentCultureIgnoreCase);

            var children = siteNode.Children;
            var items    = new List <SelectListItemTree>();

            foreach (var c in children)
            {
                items.Add(CreateItem(c, requestContext));
            }
            selectListItem.Items = items;
            return(selectListItem);
        }
コード例 #2
0
        public static SelectListItemTree ToSelectListItemTree <T>(FolderTreeNode <T> node)
            where T : Folder
        {
            SelectListItemTree listItem = new SelectListItemTree()
            {
                Text  = node.Folder.FriendlyText,
                Value = node.Folder.FullName
            };

            listItem.Items = node.Children.ToSelectListItemTrees();
            return(listItem);
        }
コード例 #3
0
ファイル: Page_Metadata.cs プロジェクト: Epitomy/CMS
        private SelectListItemTree CreateSelectItemTreeNode(Page parent)
        {
            var node = new SelectListItemTree();

            node.Text  = parent.Name;
            node.Value = parent.FullName;

            var children = ServiceFactory.PageManager.ChildPages(Site.Current, parent.FullName, null);

            if (children != null)
            {
                node.Items = children.Select(o => CreateSelectItemTreeNode(o));
            }


            return(node);
        }
コード例 #4
0
        private void ToSelectListItem(FolderTreeNode <MediaFolder> node, List <SelectListItem> list, SelectListItem parent)
        {
            SelectListItemTree listItem = new SelectListItemTree()
            {
                Text  = (parent == null ? "" : parent.Text + " >> ") + node.Folder.FriendlyText,
                Value = node.Folder.FullName
            };

            list.Add(listItem);

            if (node.Children != null)
            {
                foreach (var item in node.Children)
                {
                    ToSelectListItem(item, list, listItem);
                }
            }
        }
コード例 #5
0
        private SelectListItemTree InitItem(TextFolder textFolder, Repository repository)
        {
            SelectListItemTree item = new SelectListItemTree
            {
                Text  = string.IsNullOrEmpty(textFolder.DisplayName) ? textFolder.Name : textFolder.DisplayName,
                Value = textFolder.FullName
            };

            textFolder.Repository = repository;

            var childFolders = ServiceFactory.TextFolderManager.ChildFolders(textFolder);

            if (childFolders != null)
            {
                item.Items = childFolders.Select(o => InitItem(o, repository));
            }

            return(item);
        }
コード例 #6
0
        private void AddSelectListItem(TextFolder textFolder, List <SelectListItem> list, SelectListItem parent = null)
        {
            SelectListItemTree item = new SelectListItemTree
            {
                Text  = (parent == null ? "" : parent.Text + " >> ") + textFolder.FriendlyText,
                Value = textFolder.FullName
            };

            list.Add(item);

            var childFolders = ServiceFactory.TextFolderManager.ChildFolders(textFolder);

            if (childFolders != null)
            {
                childFolders.ForEach((folder, index) =>
                {
                    AddSelectListItem(folder, list, item);
                });
            }
        }