コード例 #1
0
ファイル: View.ascx.cs プロジェクト: ryanmalone/BGDNNWEB
        private void LoadSubfolders(DnnTreeNode node, int folderId, string nextFolderName, out DnnTreeNode nextNode, out int nextFolderId)
        {
            nextNode     = null;
            nextFolderId = 0;
            var folders = controller.GetFolders(folderId);

            foreach (var folder in folders)
            {
                var hasViewPermissions = HasViewPermissions(folder.Permissions);
                var newNode            = new DnnTreeNode
                {
                    ExpandMode = folder.HasChildren && hasViewPermissions ? TreeNodeExpandMode.WebService : TreeNodeExpandMode.ClientSide,
                    Text       = folder.FolderName,
                    ImageUrl   = folder.IconUrl,
                    Value      = folder.FolderID.ToString(CultureInfo.InvariantCulture),
                    Category   = folder.FolderMappingID.ToString(CultureInfo.InvariantCulture),
                };

                newNode.Attributes.Add("permissions", folder.Permissions.ToJson());
                node.Nodes.Add(newNode);

                if (hasViewPermissions && folder.FolderName.Equals(nextFolderName, StringComparison.InvariantCultureIgnoreCase))
                {
                    newNode.Expanded = true;
                    nextNode         = newNode;
                    nextFolderId     = folder.FolderID;
                }
            }
        }
コード例 #2
0
 private void SetupNodeAttributes(DnnTreeNode node, IEnumerable <PermissionViewModel> permissions, FolderViewModel folder)
 {
     node.Attributes.Add("permissions", permissions.ToJson());
     foreach (var attribute in folder.Attributes)
     {
         node.Attributes.Add(attribute.Key, attribute.Value.ToJson());
     }
 }
コード例 #3
0
        private DnnTreeNode CreateNodeFromFolder(FolderViewModel folder)
        {
            var node = new DnnTreeNode
            {
                Text     = folder.FolderName,
                ImageUrl = folder.IconUrl,
                Value    = folder.FolderID.ToString(CultureInfo.InvariantCulture),
                Category = folder.FolderMappingID.ToString(CultureInfo.InvariantCulture),
            };

            this.SetExpandable(node, folder.HasChildren && HasViewPermissions(folder.Permissions));
            return(node);
        }
コード例 #4
0
        private void BindTree()
        {
            var ctlLists    = new ListController();
            var colLists    = ctlLists.GetListInfoCollection(string.Empty, string.Empty, PortalSettings.ActiveTab.PortalID);
            var indexLookup = new Hashtable();

            listTree.Nodes.Clear();

            foreach (ListInfo list in colLists)
            {
                String filteredNode;
                if (list.DisplayName.Contains(":"))
                {
                    var finalPeriod = list.DisplayName.LastIndexOf(".", StringComparison.InvariantCulture);
                    filteredNode = list.DisplayName.Substring(finalPeriod + 1);
                }
                else
                {
                    filteredNode = list.DisplayName;
                }
                var node = new DnnTreeNode {
                    Text = filteredNode
                };
                {
                    node.Value    = list.Key;
                    node.ToolTip  = String.Format(LocalizeString("NoEntries"), list.EntryCount);
                    node.ImageUrl = IconController.IconURL("Folder");
                }
                if (list.Level == 0)
                {
                    listTree.Nodes.Add(node);
                }
                else
                {
                    if (indexLookup[list.ParentList] != null)
                    {
                        var parentNode = (DnnTreeNode)indexLookup[list.ParentList];

                        parentNode.Nodes.Add(node);
                    }
                }

                //Add index key here to find it later, should suggest with Joe to add it to DNNTree
                if (indexLookup[list.Key] == null)
                {
                    indexLookup.Add(list.Key, node);
                }
            }
        }
コード例 #5
0
ファイル: View.ascx.cs プロジェクト: ryanmalone/BGDNNWEB
        private void InitializeTreeViews()
        {
            var rootFolder = RootFolderViewModel;
            var rootNode   = new DnnTreeNode
            {
                ExpandMode = HasViewPermissions(rootFolder.Permissions) ? TreeNodeExpandMode.WebService : TreeNodeExpandMode.ClientSide,
                Text       = rootFolder.FolderName,
                ImageUrl   = rootFolder.IconUrl,
                Value      = rootFolder.FolderID.ToString(CultureInfo.InvariantCulture),
                Category   = rootFolder.FolderMappingID.ToString(CultureInfo.InvariantCulture),
                Selected   = true,
                Expanded   = true
            };

            var folderId = rootFolder.FolderID;
            var nextNode = rootNode;

            foreach (var folderName in Path.Split('/'))
            {
                LoadSubfolders(nextNode, folderId, folderName, out nextNode, out folderId);
                if (nextNode == null)
                {
                    // The requested folder does not exist or the user does not have permissions
                    break;
                }
            }

            if (nextNode != null)
            {
                nextNode.Expanded   = false;
                nextNode.Selected   = true;
                rootNode.ExpandMode = TreeNodeExpandMode.ClientSide;
                rootNode.Selected   = false;
            }

            rootNode.Attributes.Add("permissions", GetPermissionsForRootFolder(rootFolder.Permissions).ToJson());
            FolderTreeView.Nodes.Add(rootNode);
            DestinationTreeView.Nodes.Add(rootNode.Clone());

            InitializeTreeViewContextMenu();
        }
コード例 #6
0
        private void LoadSubfolders(DnnTreeNode node, int folderId, string nextFolderName, out DnnTreeNode nextNode, out int nextFolderId)
        {
            nextNode     = null;
            nextFolderId = 0;
            var folders = controller.GetFolders(ModuleId, folderId);

            foreach (var folder in folders)
            {
                var hasViewPermissions = HasViewPermissions(folder.Permissions);
                var newNode            = this.CreateNodeFromFolder(folder);
                SetupNodeAttributes(newNode, folder.Permissions, folder);

                node.Nodes.Add(newNode);

                if (hasViewPermissions && folder.FolderName.Equals(nextFolderName, StringComparison.InvariantCultureIgnoreCase))
                {
                    newNode.Expanded = true;
                    nextNode         = newNode;
                    nextFolderId     = folder.FolderID;
                }
            }
        }
コード例 #7
0
        private void BindTree()
        {
            var ctlLists    = new ListController();
            var colLists    = ctlLists.GetListInfoCollection(string.Empty, string.Empty, PortalSettings.ActiveTab.PortalID);
            var indexLookup = new Hashtable();

            listTree.Nodes.Clear();

            foreach (ListInfo list in colLists)
            {
                var node = new DnnTreeNode {
                    Text = list.DisplayName.Replace(list.ParentList + ".", "")
                };
                {
                    node.Value    = list.Key;
                    node.ToolTip  = String.Format(LocalizeString("NoEntries"), list.EntryCount);
                    node.ImageUrl = IconController.IconURL("Folder");
                }
                if (list.Level == 0)
                {
                    listTree.Nodes.Add(node);
                }
                else
                {
                    if (indexLookup[list.ParentList] != null)
                    {
                        var parentNode = (DnnTreeNode)indexLookup[list.ParentList];
                        parentNode.Nodes.Add(node);
                    }
                }

                //Add index key here to find it later, should suggest with Joe to add it to DNNTree
                if (indexLookup[list.Key] == null)
                {
                    indexLookup.Add(list.Key, node);
                }
            }
        }
コード例 #8
0
        private void BindTree()
        {
            var ctlLists = new ListController();
            var colLists = ctlLists.GetListInfoCollection(string.Empty, string.Empty, PortalSettings.ActiveTab.PortalID);
            var indexLookup = new Hashtable();

            listTree.Nodes.Clear();

            foreach (ListInfo list in colLists)
            {
				var node = new DnnTreeNode { Text = list.DisplayName.Replace(list.ParentList + ".", "") };
                {
                    node.Value = list.Key;
                    node.ToolTip = String.Format(LocalizeString("NoEntries"), list.EntryCount);
					node.ImageUrl = IconController.IconURL("Folder");
                }
                if (list.Level == 0)
                {
					listTree.Nodes.Add(node);
                }
                else
                {
                    if (indexLookup[list.ParentList] != null)
                    {
                        var parentNode = (DnnTreeNode) indexLookup[list.ParentList];
                        parentNode.Nodes.Add(node);
                    }
                }
                
                //Add index key here to find it later, should suggest with Joe to add it to DNNTree
                if (indexLookup[list.Key] == null)
                {
                    indexLookup.Add(list.Key, node);
                }
            }
        }
コード例 #9
0
 private void SetupNodeAttributes(DnnTreeNode node, IEnumerable<PermissionViewModel> permissions, FolderViewModel folder)
 {
     node.Attributes.Add("permissions", permissions.ToJson());
     foreach (var attribute in folder.Attributes)
     {
         node.Attributes.Add(attribute.Key, attribute.Value.ToJson());
     }
 }
コード例 #10
0
 private void SetExpandable(DnnTreeNode node, bool expandable)
 {
     node.ExpandMode = expandable ? TreeNodeExpandMode.WebService : TreeNodeExpandMode.ClientSide;
 }
コード例 #11
0
 private DnnTreeNode CreateNodeFromFolder(FolderViewModel folder)
 {
     var node = new DnnTreeNode
     {
         Text = folder.FolderName,
         ImageUrl = folder.IconUrl,
         Value = folder.FolderID.ToString(CultureInfo.InvariantCulture),
         Category = folder.FolderMappingID.ToString(CultureInfo.InvariantCulture),
     };
     this.SetExpandable(node, folder.HasChildren && HasViewPermissions(folder.Permissions));
     return node;
 }
コード例 #12
0
        private void LoadSubfolders(DnnTreeNode node, int folderId, string nextFolderName, out DnnTreeNode nextNode, out int nextFolderId)
        {
            nextNode = null;
            nextFolderId = 0;
            var folders = controller.GetFolders(ModuleId, folderId);
            foreach (var folder in folders)
            {
                var hasViewPermissions = HasViewPermissions(folder.Permissions);
                var newNode = this.CreateNodeFromFolder(folder);
                SetupNodeAttributes(newNode, folder.Permissions, folder);

                node.Nodes.Add(newNode);

                if (hasViewPermissions && folder.FolderName.Equals(nextFolderName, StringComparison.InvariantCultureIgnoreCase))
                {
                    newNode.Expanded = true;
                    nextNode = newNode;
                    nextFolderId = folder.FolderID;                    
                }
            }
        }
コード例 #13
0
        private void BindTree()
        {
            var ctlLists = new ListController();
            var colLists = ctlLists.GetListInfoCollection(string.Empty, string.Empty, PortalSettings.ActiveTab.PortalID);
            var indexLookup = new Hashtable();

            listTree.Nodes.Clear();

            foreach (ListInfo list in colLists)
            {
                String filteredNode;
                if (list.DisplayName.Contains(":"))
                {
                    var finalPeriod = list.DisplayName.LastIndexOf(".", StringComparison.InvariantCulture);
                    filteredNode = list.DisplayName.Substring(finalPeriod + 1);

                }
                else
                {
                    filteredNode = list.DisplayName;
                }
				var node = new DnnTreeNode { Text = filteredNode };
                {
                    node.Value = list.Key;
                    node.ToolTip = String.Format(LocalizeString("NoEntries"), list.EntryCount);
					node.ImageUrl = IconController.IconURL("Folder");
                }
                if (list.Level == 0)
                {
					listTree.Nodes.Add(node);
                }
                else
                {
                    if (indexLookup[list.ParentList] != null)
                    {
                        
                        var parentNode = (DnnTreeNode) indexLookup[list.ParentList];
  
                        parentNode.Nodes.Add(node);
                    }
                }
                
                //Add index key here to find it later, should suggest with Joe to add it to DNNTree
                if (indexLookup[list.Key] == null)
                {
                    indexLookup.Add(list.Key, node);
                }
            }
        }
コード例 #14
0
 private void SetExpandable(DnnTreeNode node, bool expandable)
 {
     node.ExpandMode = expandable ? TreeNodeExpandMode.WebService : TreeNodeExpandMode.ClientSide;
 }
コード例 #15
0
ファイル: View.ascx.cs プロジェクト: rrsc/Dnn.Platform
        private void InitializeTreeViews()
        {
            var rootFolder = RootFolderViewModel;
            var rootNode = new DnnTreeNode
            {
                ExpandMode = HasViewPermissions(rootFolder.Permissions) ? TreeNodeExpandMode.WebService : TreeNodeExpandMode.ClientSide,
                Text = rootFolder.FolderName,
                ImageUrl = rootFolder.IconUrl,
                Value = rootFolder.FolderID.ToString(CultureInfo.InvariantCulture),
                Category = rootFolder.FolderMappingID.ToString(CultureInfo.InvariantCulture),
                Selected = true,
                Expanded = true
            };      

            var folderId = rootFolder.FolderID;
            var nextNode = rootNode;
            foreach (var folderName in Path.Split('/'))
            {
                LoadSubfolders(nextNode, folderId, folderName, out nextNode, out folderId);
                if (nextNode == null)
                {
                    // The requested folder does not exist or the user does not have permissions
                    break;
                }
            }

            if (nextNode != null)
            {
                nextNode.Expanded = false;
                nextNode.Selected = true;
                rootNode.ExpandMode = TreeNodeExpandMode.ClientSide;
                rootNode.Selected = false;                    
            }

            rootNode.Attributes.Add("permissions", GetPermissionsForRootFolder(rootFolder.Permissions).ToJson());
            FolderTreeView.Nodes.Add(rootNode);
            DestinationTreeView.Nodes.Add(rootNode.Clone());

            InitializeTreeViewContextMenu();
        }
コード例 #16
0
ファイル: View.ascx.cs プロジェクト: rrsc/Dnn.Platform
        private void LoadSubfolders(DnnTreeNode node, int folderId, string nextFolderName, out DnnTreeNode nextNode, out int nextFolderId)
        {
            nextNode = null;
            nextFolderId = 0;
            var folders = controller.GetFolders(folderId);
            foreach (var folder in folders)
            {
                var hasViewPermissions = HasViewPermissions(folder.Permissions);
                var newNode = new DnnTreeNode
                {
                    ExpandMode = folder.HasChildren && hasViewPermissions ? TreeNodeExpandMode.WebService : TreeNodeExpandMode.ClientSide,
                    Text = folder.FolderName,
                    ImageUrl = folder.IconUrl,
                    Value = folder.FolderID.ToString(CultureInfo.InvariantCulture),
                    Category = folder.FolderMappingID.ToString(CultureInfo.InvariantCulture),                    
                };

                newNode.Attributes.Add("permissions", folder.Permissions.ToJson());
                node.Nodes.Add(newNode);

                if (hasViewPermissions && folder.FolderName.Equals(nextFolderName, StringComparison.InvariantCultureIgnoreCase))
                {
                    newNode.Expanded = true;
                    nextNode = newNode;
                    nextFolderId = folder.FolderID;                    
                }
            }
        }