private string GetLeafNode(NavigationNode node, string content) { var anchorCss = node.Path.IsNullOrEmpty() ? "tree-toggle" : ""; var isNodeSelected = node.IsSelected(SelectedDocumentName); var listItemCss = node.HasChildItems ? "nav-header" : "last-link"; if (isNodeSelected) { listItemCss += " selected-tree"; } string listInnerItem; if (node.Path.IsNullOrEmpty() && node.IsLeaf) { listInnerItem = string.Format(ListItemSpan, anchorCss, node.Text.IsNullOrEmpty() ? "?" : node.Text); } else { listInnerItem = string.Format(ListItemAnchor, NormalizePath(node.Path, node.HasChildItems), anchorCss, node.Text.IsNullOrEmpty() ? "?" : node.Text); } return(string.Format(LiItemTemplateWithLink, listItemCss, node.HasChildItems ? "chevron-right" : "long-arrow-right", listInnerItem, content)); }
private string GetLeafNode(NavigationNode node, string content) { var sb = new StringBuilder(); var textCss = node.Path.IsNullOrEmpty() ? "tree-toggle" : ""; var isNodeSelected = node.IsSelected(SelectedDocumentName); var listItemCss = node.HasChildItems ? "nav-header" : "last-link"; if (isNodeSelected) { listItemCss += " selected-tree"; } string listInnerItem; if (node.Path.IsNullOrEmpty() && node.IsLeaf) { listInnerItem = string.Format(ListItemSpan, textCss, node.Text.IsNullOrEmpty() ? "?" : node.Text); } else { var badgeStringBuilder = new StringBuilder(); if (!node.Path.IsNullOrWhiteSpace() && node.CreationTime.HasValue && node.LastUpdatedTime.HasValue) { if (node.CreationTime + TimeSpan.FromDays(14) > DateTime.Now) { var newBadge = sb.Append("<span class='badge bg-primary ms-2' title=\"").Append(_localizer["NewExplanation"]).Append("\">").Append(_localizer["New"]).Append("</span>").ToString(); badgeStringBuilder.Append(newBadge); } else if (node.LastSignificantUpdateTime != null && node.LastSignificantUpdateTime + TimeSpan.FromDays(14) > DateTime.Now) { var updBadge = sb.Append("<span class='badge bg-light ms-2' title=\"").Append(_localizer["UpdatedExplanation"]).Append("\">").Append(_localizer["Upd"]).Append("</span>").ToString(); badgeStringBuilder.Append(updBadge); } } sb.Clear(); listInnerItem = string.Format(ListItemAnchor, NormalizePath(node.Path), textCss, node.Text.IsNullOrEmpty() ? "?" : sb.Append(node.Text).Append(badgeStringBuilder.ToString()).ToString()); } sb.Clear(); return(string.Format(LiItemTemplateWithLink, listItemCss, node.HasChildItems ? "chevron-right" : sb.Append("long-arrow-right ").Append(node.Path.IsNullOrEmpty() ? "no-link" : "has-link").ToString(), listInnerItem, content)); }
private string GetLeafNode(NavigationNode node, string content) { var textCss = node.Path.IsNullOrEmpty() ? "tree-toggle" : ""; var isNodeSelected = node.IsSelected(SelectedDocumentName); var listItemCss = node.HasChildItems ? "nav-header" : "last-link"; if (isNodeSelected) { listItemCss += " selected-tree"; } string listInnerItem; if (node.Path.IsNullOrEmpty() && node.IsLeaf) { listInnerItem = string.Format(ListItemSpan, textCss, node.Text.IsNullOrEmpty() ? "?" : node.Text); } else { var badge = ""; if (!node.Path.IsNullOrWhiteSpace() && node.CreationTime.HasValue && node.LastUpdatedTime.HasValue) { var newBadge = "<span class='badge badge-primary ml-2' title=\"" + _localizer["NewExplanation"] + "\">" + _localizer["New"] + "</span>"; var updBadge = "<span class='badge badge-light ml-2' title=\"" + _localizer["UpdatedExplanation"] + "\">" + _localizer["Upd"] + "</span>"; if (node.CreationTime + TimeSpan.FromDays(14) > DateTime.Now) { badge = newBadge; } else if (node.LastUpdatedTime + TimeSpan.FromDays(14) > DateTime.Now) { badge = updBadge; } } listInnerItem = string.Format(ListItemAnchor, NormalizePath(node.Path), textCss, node.Text.IsNullOrEmpty() ? "?" : node.Text + badge); } return(string.Format(LiItemTemplateWithLink, listItemCss, node.HasChildItems ? "chevron-right" : "long-arrow-right " + (node.Path.IsNullOrEmpty() ? "no-link" : "has-link"), listInnerItem, content)); }
private bool IsAnyNodeOpenedInThisLevel(NavigationNode node) { if (node.Items == null) { return(false); } if (node.IsSelected(SelectedDocumentName)) { return(true); } if (node.Items.Any(n => n.IsSelected(SelectedDocumentName))) { return(true); } return(false); }
private string GetLeafNode(NavigationNode node, string content) { var anchorCss = node.Path.IsNullOrEmpty() ? "tree-toggle" : ""; var isNodeSelected = node.IsSelected(SelectedDocumentName); if (isNodeSelected) { anchorCss += " opened"; } return(string.Format(LiItemTemplate, node.Path.IsNullOrEmpty() ? "#" : "/documents/" + ProjectName + "/" + Version + "/" + node.Path, node.Text.IsNullOrEmpty() ? "?" : node.Text, content, node.HasChildItems ? "nav-header" : "last-link", node.HasChildItems ? "chevron-down" : "long-arrow-right", anchorCss, isNodeSelected? "selected-tree" : "")); }
private string GetLeafNode(NavigationNode node, string content) { var anchorCss = node.Path.IsNullOrEmpty() ? "tree-toggle" : ""; var isNodeSelected = node.IsSelected(SelectedDocumentName); if (isNodeSelected) { anchorCss += " opened"; } var normalizedPath = node.Path != null && node.Path.EndsWith("." + ProjectFormat) ? node.Path.Left(node.Path.Length - ProjectFormat.Length - 1) : node.Path; return(string.Format(LiItemTemplate, node.Path.IsNullOrEmpty() ? "javascript:;" : "/documents/" + ProjectName + "/" + Version + "/" + normalizedPath, node.Text.IsNullOrEmpty() ? "?" : node.Text, content, node.HasChildItems ? "nav-header" : "last-link", node.HasChildItems ? "chevron-down" : "long-arrow-right", anchorCss, isNodeSelected ? "selected-tree" : "")); }