Exemple #1
0
        public static DropdownMenuContent BeginDropdown <T>(this IWriter2 <T, AnyContent> parent)
            where T : AnyContentElement, IDropdownMenuParentMarker
        {
            var context = parent.Context;

            parent
            .CssClass("dropdown-toggle")
            .Attribute("data-toggle", "dropdown")
            .Attribute("aria-expanded", "false");

            var caret = parent.Context.CreateWriter <SimpleBlock>();

            caret.Item.Value(" <span class=\"caret\"></span>", true);
            parent.Content(caret); // NO Content(menu.Item) !!!

            // полностью записываем parent, так как меню будет ПОСЛЕ него
            var parentEnd = parent.BeginContent();

            parentEnd.Dispose();

            var menu = context.CreateWriter <DropdownMenu, DropdownMenuContent>();

            // пишем начало меню
            var menuEnd = menu.BeginContent();

            // возвращаем конец, чтобы записали "когда надо"
            return(menuEnd);
        }
Exemple #2
0
        public static IWriter2 <T, AnyContent> Dropdown <T>(this IWriter2 <T, AnyContent> parent, IWriter <DropdownMenu> menu)
            where T : AnyContentElement, IDropdownMenuParentMarker
        {
            parent
            .CssClass("dropdown-toggle")
            .Attribute("data-toggle", "dropdown")
            .Attribute("aria-expanded", "false");

            var caret = parent.Context.CreateWriter <SimpleBlock>();

            caret.Item.Value(" <span class=\"caret\"></span>", true);
            parent.Content(caret).Content(menu.Item);

            return(parent);
        }