コード例 #1
0
ファイル: Alert.cs プロジェクト: badhitman/HtmlGenerator
        public override string GetHTML(int deep = 0)
        {
            Childs.Clear();
            AddCSS("alert alert-" + StyleAlert.ToString("g"), true);
            if (isDismissible)
            {
                AddCSS("alert-dismissible fade show", true);
            }

            css_style = "min-height: 50px;";
            SetAttribute("role", "alert");

            if (isDismissible)
            {
                button button_close = new button(null);
                button_close.AddCSS("close");

                button_close.SetAttribute("data-dismiss", "alert");
                button_close.SetAttribute("aria-label", "Close");
                span my_span = new span()
                {
                    InnerText = "×"
                };
                my_span.SetAttribute("aria-hidden", "true");
                button_close.AddDomNode(my_span);
                Childs.Add(button_close);
            }

            Childs.Add(new text(Message));

            return(base.GetHTML(deep));
        }
コード例 #2
0
ファイル: Badges.cs プロジェクト: badhitman/HtmlGenerator
        public override string GetHTML(int deep = 0)
        {
            if (!(StyleBadge is null))
            {
                AddCSS("badge-" + StyleBadge?.ToString("g"));
            }

            return(base.GetHTML(deep));
        }
コード例 #3
0
ファイル: Button.cs プロジェクト: badhitman/HtmlGenerator
        public override string GetHTML(int deep = 0)
        {
            Childs.Clear();
            AddCSS("btn " + "btn" + (isOutlineStyle ? "-outline" : "") + "-" + StyleButton.ToString("g"), true);

            tag_custom_name = TypeButton.ToString("g");

            switch (TypeButton)
            {
            case TypesBootstrapButton.a:
                base.TypeButton = null;
                SetAttribute("role", "button");
                if (disabled)
                {
                    AddCSS("disabled");
                    SetAttribute("aria-disabled", "true");
                    SetAttribute("tabindex", "-1");
                }
                break;

            case TypesBootstrapButton.button:
                if (ToggleState)
                {
                    SetAttribute("data-toggle", "button");
                    SetAttribute("aria-pressed", "false");
                }
                break;

            case TypesBootstrapButton.input:
                SetAttribute("value", InnerText);
                InnerText = null;
                break;

            default:
                // какая-то ошибка
                break;
            }

            if (!(SizeButton is null))
            {
                AddCSS("btn-" + SizeButton?.ToString("g"));
            }

            return(base.GetHTML(deep));
        }
コード例 #4
0
        /// <summary>
        /// Добавить вложеную группу, как dropdown menus
        /// </summary>
        /// <param name="nesting">Набор вложеной группы кнопок</param>
        /// <param name="id_node">Уникальный идентификатор вложеного узла. Если IsNullOrEmpty => будет сгенерирован guid</param>
        public void AddNestingDropdownGroup(List <DataParticleItem> nesting, string title_node, string id_node = null)
        {
            if (string.IsNullOrEmpty(id_node))
            {
                id_node = Guid.NewGuid().ToString().Replace("-", "");
            }

            GroupElements nested_group = new GroupElements()
            {
                aria_label = "nested group - " + id_node
            };
            button node_button = new button(title_node)
            {
                Id_DOM = id_node
            };

            node_button.AddCSS("btn btn-" + default_style.ToString() + " dropdown-toggle", true);
            node_button.SetAttribute("data-toggle", "dropdown");
            node_button.SetAttribute("aria-haspopup", "true");
            node_button.SetAttribute("aria-expanded", "false");
            nested_group.Childs.Add(node_button);

            div dropdown_node = new div();

            dropdown_node.AddCSS("dropdown-menu");
            dropdown_node.SetAttribute("aria-labelledby", id_node);
            foreach (DataParticleItem item in nesting)
            {
                using (a a_item = new a()
                {
                    href = item.Value, InnerText = item.Title
                })
                {
                    a_item.AddCSS("dropdown-item");
                    dropdown_node.AddDomNode(a_item);
                }
            }
            Childs.Add(nested_group);
        }
コード例 #5
0
        /// <summary>
        /// Сформировать кнопку
        /// </summary>
        /// <param name="text">Текст кнопки</param>
        /// <param name="href">Ссылка (если требуетс кнопка-ссылка)</param>
        /// <param name="style">Стиль оформления кнопки</param>
        /// <param name="size">Размер кнопки</param>
        /// <param name="btn_block">Флаг режима заполнения родительского блока во всю ширину</param>
        /// <param name="outline_style">Флаг отключения цвета фона. В этом режиме стиль оформления будет использован для рамки и цвета, но не для фона</param>
        public static button GetButton(string text, string id_button = null, string href = null, VisualBootstrapStylesEnum?style = null, SizingBootstrap?size = null, bool btn_block = false, bool outline_style = false)
        {
            button ret_button = new button(text)
            {
                Id_DOM = id_button
            };

            ret_button.AddCSS("btn");
            if (!(style is null))
            {
                ret_button.AddCSS("btn" + (outline_style ? "-outline-" : "-") + style?.ToString("g"));
            }
            if (!(size is null))
            {
                ret_button.AddCSS("btn-" + size?.ToString("g").ToLower());
            }

            if (btn_block)
            {
                ret_button.AddCSS("btn-block");
            }

            ret_button.AddCSS("active");
            if (string.IsNullOrEmpty(href))
            {
                ret_button.SetAttribute("type", "button");
            }
            else
            {
                ret_button.tag_custom_name = "a";
                ret_button.SetAttribute("href", href);
                ret_button.SetAttribute("role", "button");
                ret_button.SetAttribute("aria-pressed", "true");
            }

            return(ret_button);
        }