public BootstrapMenuItemTag(MenuItemToken item) : base("li") { var link = Add("a").Append(new LiteralTag(item.Text)); if (item.Url.IsNotEmpty()) { link.Attr("href", item.Url); } if (item.Children.Any()) { link.Attr("href", "#"); link.AddClass("dropdown-toggle"); link.Attr("data-toggle", "dropdown"); link.Add("b").AddClass("caret"); var ul = Add("ul").AddClass("dropdown-menu"); item.Children.Each(child => { var childTag = new BootstrapMenuItemTag(child); ul.Append(childTag); }); } if (item.MenuItemState == MenuItemState.Active) { AddClass("active"); } }
public DiagnosticMenuItemTag(MenuItemToken item) : base("li") { var link = Add("a").Attr("href", item.Url).Text(item.Text); if (item.MenuItemState == MenuItemState.Active) { link.AddClass("active"); } }
public bool Equals(MenuItemToken other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(Equals(other.Key, Key) && Equals(other.Text, Text) && Equals(other.Url, Url) && Equals(other.MenuItemState, MenuItemState)); }
// TODO -- this could really use some more end to end testing public MenuItemToken BuildToken(MenuNode node) { var token = new MenuItemToken { Children = node.Children.Select(BuildToken).ToArray(), Key = node.Key.Key, Text = node.Key.ToString(), MenuItemState = _stateService.DetermineStateFor(node) }; if (node.Icon().IsNotEmpty()) { token.IconUrl = _urls.UrlForAsset(AssetFolder.images, node.Icon()); } if (node.Type == MenuNodeType.Leaf) { token.Url = _request.ToFullUrl(node.CreateUrl()); } return token; }
// TODO -- this could really use some more end to end testing public MenuItemToken BuildToken(MenuNode node) { var token = new MenuItemToken { Children = node.Children.Select(BuildToken).ToArray(), Key = node.Key.Key, Text = node.Key.ToString(), MenuItemState = _stateService.DetermineStateFor(node) }; if (node.Icon().IsNotEmpty()) { token.IconUrl = _urls.UrlForAsset(AssetFolder.images, node.Icon()); } if (node.Type == MenuNodeType.Leaf) { token.Url = _request.ToFullUrl(node.CreateUrl()); } return(token); }
public MenuItemToken() { Url = string.Empty; Children = new MenuItemToken[0]; }
public bool Equals(MenuItemToken other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return Equals(other.Key, Key) && Equals(other.Text, Text) && Equals(other.Url, Url) && Equals(other.MenuItemState, MenuItemState); }