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)); }
/// <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); }
/// <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); }
/// <summary> /// Сформировать модальное окно /// </summary> /// <param name="title">Заголовок модального окна</param> /// <param name="text_ok_button">Текст конопки Ok (если null or empty), то кнопка не выводится вовсе</param> /// <param name="id_ok_button">ID атрибут конопки Ok</param> /// <param name="text_cansel_button">Текст конопки Cancel (если null or empty), то кнопка не выводится вовсе</param> /// <param name="body_html">Тело модального окна</param> /// <param name="id_modal_dialog">ID атрибут модального окна</param> public static div GetModalDialog(string title, string text_ok_button, string text_cansel_button, base_dom_root body_html, string id_modal_dialog = "exampleModal", string id_ok_button = "button_try_write") { span span_close_modal_header = new span("×"); span_close_modal_header.SetAttribute("aria-hidden", "true"); // button button_close_modal_header = new button(null); button_close_modal_header.AddCSS("close"); button_close_modal_header.SetAttribute("data-dismiss", "modal"); button_close_modal_header.SetAttribute("aria-label", "Close"); button_close_modal_header.AddDomNode(span_close_modal_header); // h5 h5_modal_header = new h5(title); h5_modal_header.AddCSS("modal-title"); div div_modal_header = new div(); div_modal_header.AddCSS("modal-header"); div_modal_header.AddDomNode(h5_modal_header); div_modal_header.AddDomNode(button_close_modal_header); // div modal_footer = new div(); modal_footer.AddCSS("modal-footer"); if (!string.IsNullOrEmpty(text_cansel_button)) { button button_close_modal_footer = GetButton(text_cansel_button, null, null, VisualBootstrapStylesEnum.secondary); button_close_modal_footer.SetAttribute("data-dismiss", "modal"); modal_footer.AddDomNode(button_close_modal_footer); } if (!string.IsNullOrEmpty(text_ok_button)) { button button_send_modal_footer = GetButton(text_ok_button, null, "#", VisualBootstrapStylesEnum.primary); button_send_modal_footer.Id_DOM = id_ok_button; modal_footer.AddDomNode(button_send_modal_footer); } // div modal_content = new div(); modal_content.AddCSS("modal-content"); modal_content.AddDomNode(div_modal_header); // div modal_body = new div(); modal_body.AddCSS("modal-body"); modal_body.AddDomNode(body_html); modal_content.AddDomNode(modal_body); // modal_content.AddDomNode(modal_footer); // div modal_dialog_document = new div(); modal_dialog_document.AddCSS("modal-dialog"); modal_dialog_document.CustomAttributes.Add("role", "document"); modal_dialog_document.AddDomNode(modal_content); // div ModalDialog = new div() { Id_DOM = id_modal_dialog }; ModalDialog.AddCSS("modal fade", true); ModalDialog.CustomAttributes.Add("tabindex", "-1"); ModalDialog.CustomAttributes.Add("role", "dialog"); ModalDialog.CustomAttributes.Add("aria-labelledby", id_modal_dialog); ModalDialog.CustomAttributes.Add("aria-hidden", "true"); ModalDialog.AddDomNode(modal_dialog_document); ModalDialog.before_coment_block = "Modal dialog"; return(ModalDialog); }