Example #1
0
        internal void PopulateWithSubFolders(WBLocationTreeState treeState, TreeNodeCollection treeNodeCollection, String viewMode, SPFolder parentFolder)
        {
            SPFolderCollection subFolders = parentFolder.SubFolders;

            if (subFolders.Count > 0)
            {
                List <SPFolder> folders = new List <SPFolder>();
                foreach (SPFolder folder in subFolders)
                {
                    folders.Add(folder);
                }
                folders = folders.OrderBy(o => o.Name).ToList();

                foreach (SPFolder folder in folders)
                {
                    WBFolderTreeNode folderNode = new WBFolderTreeNode(folder);
                    TreeNode         node       = folderNode.AsTreeNode();

                    if (folder.SubFolders.Count > 0 || viewMode == VIEW_MODE__REPLACE)
                    {
                        node.Expanded         = false;
                        node.PopulateOnDemand = true;
                        if (viewMode == VIEW_MODE__BROWSE_FOLDERS)
                        {
                            node.SelectAction = TreeNodeSelectAction.Select;
                        }
                        else
                        {
                            node.SelectAction = TreeNodeSelectAction.Expand;
                        }
                    }
                    else
                    {
                        node.Expanded         = true;
                        node.PopulateOnDemand = false;
                        node.SelectAction     = TreeNodeSelectAction.Select;
                    }

                    treeNodeCollection.Add(node);
                }
            }
            else
            {
                if (viewMode == VIEW_MODE__REPLACE)
                {
                    PopulateWithDocuments(treeState, treeNodeCollection, viewMode, parentFolder);
                }
            }
        }
Example #2
0
        internal void PopulateTreeNode(WBLocationTreeState treeState, TreeNode node, String viewMode)
        {
            WBLogging.Debug("Looking for WBFolderTreeNode with path: " + node.ValuePath);

            WBFolderTreeNode folderTreeNode = this.GetFolderTreeNode(node.ValuePath);

            if (folderTreeNode == null)
            {
                WBLogging.Debug("Did not find WBFolderTreeNode at: " + node.ValuePath);
                return;
            }

            if (folderTreeNode is WBRecordsTypeTreeNode)
            {
                WBLogging.Debug("Expanding a records type node: " + node.Text);

                WBRecordsTypeTreeNode recordsTypeNode = (WBRecordsTypeTreeNode)folderTreeNode;
                WBRecordsType         recordsType     = recordsTypeNode.RecordsType;
                TermCollection        childTerms      = recordsType.Term.Terms;
                if (childTerms.Count > 0)
                {
                    PopulateWithRecordsTypes(treeState, node.ChildNodes, viewMode, recordsTypeNode.Folder, recordsTypeNode.FunctionalArea, recordsType.Taxonomy, childTerms);
                }
                else
                {
                    if (viewMode != VIEW_MODE__NEW)
                    {
                        PopulateWithSubFolders(treeState, node.ChildNodes, viewMode, recordsTypeNode.Folder);
                    }
                }
            }
            else if (folderTreeNode is WBFolderTreeNode)
            {
                WBLogging.Debug("Expanding a folder node: " + node.Text);

                // You shouldn't be here if the view mode was NEW !
                PopulateWithSubFolders(treeState, node.ChildNodes, viewMode, folderTreeNode.Folder);
            }
            else
            {
                WBLogging.Debug("NOT expanding an unrecognised node: " + node.Text + " of type: " + node.GetType());
            }
        }