コード例 #1
0
ファイル: DiagnosticsMenu.cs プロジェクト: ketiko/fubumvc
        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");
            }
        }
コード例 #2
0
ファイル: DiagnosticsMenu.cs プロジェクト: loudej/fubumvc
 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");
     }
 }
コード例 #3
0
ファイル: MenuItemToken.cs プロジェクト: moacap/fubumvc
 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));
 }
コード例 #4
0
        // 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;
        }
コード例 #5
0
        // 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);
        }
コード例 #6
0
ファイル: MenuItemToken.cs プロジェクト: moacap/fubumvc
 public MenuItemToken()
 {
     Url      = string.Empty;
     Children = new MenuItemToken[0];
 }
コード例 #7
0
ファイル: MenuItemToken.cs プロジェクト: ketiko/fubumvc
 public MenuItemToken()
 {
     Url = string.Empty;
     Children = new MenuItemToken[0];
 }
コード例 #8
0
ファイル: MenuItemToken.cs プロジェクト: ketiko/fubumvc
 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);
 }