/// <summary> /// In HTML konvertieren /// </summary> /// <param name="context">Der Kontext, indem das Steuerelement dargestellt wird</param> /// <returns>Das Control als HTML</returns> public override IHtmlNode Render(RenderContext context) { Classes.Add("modal"); if (Fade) { Classes.Add("fade"); } var headerText = new HtmlElementSectionH4(Header) { Class = "modal-title" }; var headerButtonLabel = new HtmlElementTextSemanticsSpan(new HtmlText("×")) { }; headerButtonLabel.AddUserAttribute("aria-hidden", "true"); var headerButton = new HtmlElementFieldButton(headerButtonLabel) { Class = "close" }; headerButton.AddUserAttribute("aria-label", "close"); headerButton.AddUserAttribute("data-dismiss", "modal"); var header = new HtmlElementTextContentDiv(headerText, headerButton) { Class = "modal-header" }; var body = new HtmlElementTextContentDiv() { Class = "modal-body" }; //foreach (var v in Content) //{ // body.Elements.Add(new FormularLabelGroup(v as FormularItem) // { // }.ToHtml(page, this)); //} var footerButtonOK = new HtmlElementFieldButton(new HtmlText("OK")) { Type = "submit", Class = "btn btn-success" }; //footerButtonOK.AddUserAttribute("data-dismiss", "modal"); var footerButtonCancel = new HtmlElementFieldButton(new HtmlText("Abbrechen")) { Type = "button", Class = "btn btn-danger" }; footerButtonCancel.AddUserAttribute("data-dismiss", "modal"); var footer = new HtmlElementTextContentDiv(footerButtonOK, footerButtonCancel) { Class = "modal-footer" }; var form = new HtmlElementFormForm(header, body, footer) { Action = "#" + ID, Method = "post", Name = "form_" + ID }; var content = new HtmlElementTextContentDiv(form) { Class = "modal-content" }; var dialog = new HtmlElementTextContentDiv(content) { Class = "modal-dialog", Role = "document" }; var html = new HtmlElementTextContentDiv(dialog) { ID = ID, Class = GetClasses(), Style = GetStyles(), Role = "dialog" }; if (!string.IsNullOrWhiteSpace(OnShownCode)) { var shown = "$('#" + ID + "').on('shown.bs.modal', function(e) { " + OnShownCode + " });"; context.Page.AddScript(ID + "_shown", shown); } if (!string.IsNullOrWhiteSpace(OnHiddenCode)) { var hidden = "$('#" + ID + "').on('hidden.bs.modal', function() { " + OnHiddenCode + " });"; context.Page.AddScript(ID + "_hidden", hidden); } return(html); }
/// <summary> /// In HTML konvertieren /// </summary> /// <param name="context">Der Kontext, indem das Steuerelement dargestellt wird</param> /// <returns>Das Control als HTML</returns> public override IHtmlNode Render(RenderContext context) { Classes.Add("modal"); if (Fade) { Classes.Add("fade"); } var headerText = new HtmlElementSectionH4(Header) { Class = "modal-title" }; var headerButtonLabel = new HtmlElementTextSemanticsSpan(new HtmlText("×")) { }; headerButtonLabel.AddUserAttribute("aria-hidden", "true"); var headerButton = new HtmlElementFieldButton(headerButtonLabel) { Class = "close" }; headerButton.AddUserAttribute("aria-label", "close"); headerButton.AddUserAttribute("data-dismiss", "modal"); var header = new HtmlElementTextContentDiv(headerText, headerButton) { Class = "modal-header" }; var body = new HtmlElementTextContentDiv(from x in Content select x.Render(context)) { Class = "modal-body" }; var footerButton = new HtmlElementFieldButton(new HtmlText(context.I18N("webexpress", "modal.close.label"))) { Type = "button", Class = Css.Concatenate("btn", new PropertyColorButton(TypeColorButton.Primary).ToStyle()) }; footerButton.AddUserAttribute("data-dismiss", "modal"); var footer = new HtmlElementTextContentDiv(footerButton) { Class = "modal-footer" }; var content = new HtmlElementTextContentDiv(header, body, footer) { Class = "modal-content" }; var dialog = new HtmlElementTextContentDiv(content) { Class = "modal-dialog", Role = "document" }; var html = new HtmlElementTextContentDiv(dialog) { ID = ID, Class = string.Join(" ", Classes.Where(x => !string.IsNullOrWhiteSpace(x))), Style = string.Join("; ", Styles.Where(x => !string.IsNullOrWhiteSpace(x))), Role = "dialog" }; if (!string.IsNullOrWhiteSpace(OnShownCode)) { var shown = "$('#" + ID + "').on('shown.bs.modal', function(e) { " + OnShownCode + " });"; context.Page.AddScript(ID + "_shown", shown); } if (!string.IsNullOrWhiteSpace(OnHiddenCode)) { var hidden = "$('#" + ID + "').on('hidden.bs.modal', function() { " + OnHiddenCode + " });"; context.Page.AddScript(ID + "_hidden", hidden); } return(html); }