private string BuildLiClass(mojoSiteMapNode mojoNode) { string result = string.Empty; string spacer = string.Empty; if (((mojoNode.Depth == 0) || (mojoNode.Depth == startingNodeOffset) //|| ((startingNodeOffset > 0) &&(isSubMenu) &&(mojoNode.Depth == startingNodeOffset + 1))) || ((startingNodeOffset > -1) && (mojoNode.Depth == startingNodeOffset + 1))) && (rootLevelLiCssClass.Length > 0)) { result = rootLevelLiCssClass; spacer = " "; } else if (liCssClass.Length > 0) { result = liCssClass; spacer = " "; } if (itemDepthCssPrefix.Length > 0) { result += spacer + itemDepthCssPrefix + mojoNode.Depth.ToInvariantString(); spacer = " "; } //if ((parentLiCssClass.Length > 0) && (mojoNode.ChildNodes.Count > 0)) if ((parentLiCssClass.Length > 0) && (mojoNode.HasVisibleChildren())) { result += spacer + parentLiCssClass; spacer = " "; } if ((liChildSelectedCssClass.Length > 0) && (currentNode != null) && (currentNode.IsDescendantOf(mojoNode)) ) { result += spacer + liChildSelectedCssClass; spacer = " "; } if ((liSelectedCssClass.Length > 0) && (currentNode != null) && (currentNode.PageGuid == mojoNode.PageGuid) ) { result += spacer + liSelectedCssClass; spacer = " "; } if ((renderCustomClassOnLi) && (mojoNode.MenuCssClass.Length > 0)) { result += spacer + mojoNode.MenuCssClass; } if (result.Length > 0) { return(" class='" + result + "'"); } return(result); }
void tree_TreeNodeDataBound(object sender, TreeNodeEventArgs e) { if (sender == null) { return; } if (e == null) { return; } TreeView menu = (TreeView)sender; if (menu == null) { return; } mojoSiteMapNode mapNode = (mojoSiteMapNode)e.Node.DataItem; if (mapNode == null) { return; } e.Node.NavigateUrl = "javascript:top.window.SetPage('" + mapNode.PageId + "','" + mapNode.Title + "');"; e.Node.Value = mapNode.PageGuid.ToString(); if (e.Node is mojoTreeNode) { mojoTreeNode tn = e.Node as mojoTreeNode; tn.HasVisibleChildren = mapNode.HasVisibleChildren(); } bool remove = false; if ((!isAdmin) && (!isContentAdmin) && (!isSiteEditor) && (!WebUser.IsInRoles(mapNode.CreateChildPageRoles))) { remove = true; } if ((!isAdmin) && (mapNode.ViewRoles == "Admins")) { remove = true; } // don't let children of this page be a choice for this page parent, its circular and causes an error // dont let a page be it's own parent if (((mapNode.ParentId == pageId) && (pageId > -1)) || (mapNode.PageId == pageId)) { remove = true; } if (remove) { if (e.Node.Depth == 0) { menu.Nodes.Remove(e.Node); } else { TreeNode parent = e.Node.Parent; if (parent != null) { parent.ChildNodes.Remove(e.Node); } } } else { #if !MONO if (mapNode.HasChildNodes) { e.Node.PopulateOnDemand = true; } #endif } }
void menu_TreeNodeDataBound(object sender, TreeNodeEventArgs e) { TreeView menu = (TreeView)sender; mojoSiteMapNode mapNode = (mojoSiteMapNode)e.Node.DataItem; if ((useImagesInSiteMap) && (mapNode.MenuImage.Length > 0)) { e.Node.ImageUrl = mapNode.MenuImage; } if (mapNode.OpenInNewWindow) { e.Node.Target = "_blank"; } if (useMenuTooltipForCustomCss) { e.Node.ToolTip = mapNode.MenuCssClass; } //if (treeViewPopulateOnDemand) //{ if (e.Node is mojoTreeNode) { mojoTreeNode tn = e.Node as mojoTreeNode; tn.HasVisibleChildren = mapNode.HasVisibleChildren(); } // } // added this 2007-09-07 // to solve treeview expand issue when page name is the same // as Page Name was used for value if not set explicitly e.Node.Value = mapNode.PageGuid.ToString(); if (resolveFullUrlsForMenuItemProtocolDifferences) { if (isSecureRequest) { if ( (!mapNode.UseSsl) && (!siteSettings.UseSslOnAllPages) && (mapNode.Url.StartsWith("~/")) ) { e.Node.NavigateUrl = insecureSiteRoot + mapNode.Url.Replace("~/", "/"); } } else { if ((mapNode.UseSsl) || (siteSettings.UseSslOnAllPages)) { if (mapNode.Url.StartsWith("~/")) { e.Node.NavigateUrl = secureSiteRoot + mapNode.Url.Replace("~/", "/"); } } } } bool remove = false; if (mapNode.Roles == null) { if ((!isAdmin) && (!isContentAdmin) && (!isSiteEditor)) { remove = true; } } else { if ((!isAdmin) && (mapNode.Roles.Count == 1) && (mapNode.Roles[0].ToString() == "Admins")) { remove = true; } if ((!isAdmin) && (!isContentAdmin) && (!isSiteEditor) && (!WebUser.IsInRoles(mapNode.Roles))) { remove = true; } } if (!mapNode.IncludeInSiteMap) { remove = true; } //if (mapNode.IsPending && !WebUser.IsAdminOrContentAdminOrContentPublisherOrContentAuthor) { remove = true; } if (mapNode.IsPending) { if ( (!isAdmin) && (!isContentAdmin) && (!isSiteEditor) && (!WebUser.IsInRoles(mapNode.EditRoles)) && (!WebUser.IsInRoles(mapNode.DraftEditRoles)) ) { remove = true; } } if ((mapNode.HideAfterLogin) && (Request.IsAuthenticated)) { remove = true; } if (isMobileSkin) { if (mapNode.PublishMode == webOnly) { remove = true; } } else { if (mapNode.PublishMode == mobileOnly) { remove = true; } } if (remove) { if (e.Node.Depth == 0) { menu.Nodes.Remove(e.Node); } else { TreeNode parent = e.Node.Parent; if (parent != null) { parent.ChildNodes.Remove(e.Node); } } } else { if (mapNode.HasVisibleChildren()) { //e.Node.PopulateOnDemand = treeViewPopulateOnDemand; e.Node.PopulateOnDemand = menu.PopulateNodesFromClient; } if (menu.ShowExpandCollapse) { e.Node.Expanded = mapNode.ExpandOnSiteMap; } } }
void SiteMap2_TreeNodeDataBound(object sender, TreeNodeEventArgs e) { if (sender == null) { return; } if (e == null) { return; } TreeView menu = (TreeView)sender; mojoSiteMapNode mapNode = (mojoSiteMapNode)e.Node.DataItem; if (e.Node is mojoTreeNode) { mojoTreeNode tn = e.Node as mojoTreeNode; tn.HasVisibleChildren = mapNode.HasVisibleChildren(); } e.Node.Value = mapNode.PageGuid.ToString(); bool remove = false; if (mapNode.Roles == null) { if ((!isAdmin) && (!isContentAdmin) && (!isSiteEditor)) { remove = true; } } else { if ((!isAdmin) && (mapNode.Roles.Count == 1) && (mapNode.Roles[0].ToString() == "Admins")) { remove = true; } if ((!isAdmin) && (!isContentAdmin) && (!isSiteEditor) && (!WebUser.IsInRoles(mapNode.Roles))) { remove = true; } } //if (!mapNode.IncludeInMenu) remove = true; if (!mapNode.IncludeInChildSiteMap) { remove = true; } //if (mapNode.IsPending && !WebUser.IsAdminOrContentAdminOrContentPublisherOrContentAuthor) remove = true; if (mapNode.IsPending) { if ( (!isAdmin) && (!isContentAdmin) && (!isSiteEditor) && (!WebUser.IsInRoles(mapNode.EditRoles)) && (!WebUser.IsInRoles(mapNode.DraftEditRoles)) ) { remove = true; } } if ((mapNode.HideAfterLogin) && (Request.IsAuthenticated)) { remove = true; } if (isMobileSkin) { if (mapNode.PublishMode == webOnly) { remove = true; } } else { if (mapNode.PublishMode == mobileOnly) { remove = true; } } if (maxRenderDepth > -1) { if (e.Node.Depth > maxRenderDepth) { remove = true; } } if (remove) { if (e.Node.Depth == 0) { menu.Nodes.Remove(e.Node); } else { TreeNode parent = e.Node.Parent; if (parent != null) { parent.ChildNodes.Remove(e.Node); } } } else { if (honorSiteMapExpandSettings && menu.ShowExpandCollapse) { e.Node.Expanded = mapNode.ExpandOnSiteMap; } } }