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; } } }
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()); } }
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); }
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); } } }
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(); }
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; } } }
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); } } }
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); } } }
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()); } }
private void SetExpandable(DnnTreeNode node, bool expandable) { node.ExpandMode = expandable ? TreeNodeExpandMode.WebService : TreeNodeExpandMode.ClientSide; }
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; }
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); } } }