/// <summary> /// In HTML konvertieren /// </summary> /// <returns>Das Control als HTML</returns> public override IHtmlNode ToHtml() { var classes = new List <string>(); classes.Add(Class); classes.Add("modal"); if (Fade) { classes.Add("fade"); } var headerText = new HtmlElementH4(Header) { Class = "modal-title" }; var headerButtonLabel = new HtmlElementSpan(new HtmlText("×")) { }; headerButtonLabel.AddUserAttribute("aria-hidden", "true"); var headerButton = new HtmlElementButton(headerButtonLabel) { Class = "close" }; headerButton.AddUserAttribute("aria-label", "close"); headerButton.AddUserAttribute("data-dismiss", "modal"); var header = new HtmlElementDiv(headerText, headerButton) { Class = "modal-header" }; var body = new HtmlElementDiv(from x in Content select x.ToHtml()) { Class = "modal-body" }; var footerButtonOK = new HtmlElementButton(new HtmlText("OK")) { Type = "submit", Class = "btn btn-success" }; //footerButtonOK.AddUserAttribute("data-dismiss", "modal"); var footerButtonCancel = new HtmlElementButton(new HtmlText("Abbrechen")) { Type = "button", Class = "btn btn-danger" }; footerButtonCancel.AddUserAttribute("data-dismiss", "modal"); var footer = new HtmlElementDiv(footerButtonOK, footerButtonCancel) { Class = "modal-footer" }; var form = new HtmlElementForm(header, body, footer) { Action = "#" + ID, Method = "post", Name = "form_" + ID }; var content = new HtmlElementDiv(form) { Class = "modal-content" }; var dialog = new HtmlElementDiv(content) { Class = "modal-dialog", Role = "document" }; var html = new HtmlElementDiv(dialog) { ID = ID, Class = string.Join(" ", classes.Where(x => !string.IsNullOrWhiteSpace(x))), Style = Style, Role = "dialog" }; if (!string.IsNullOrWhiteSpace(OnShownCode)) { var shown = "$('#" + ID + "').on('shown.bs.modal', function(e) { " + OnShownCode + " });"; Page.AddScript(ID + "_shown", shown); } if (!string.IsNullOrWhiteSpace(OnHiddenCode)) { var hidden = "$('#" + ID + "').on('hidden.bs.modal', function() { " + OnHiddenCode + " });"; Page.AddScript(ID + "_hidden", hidden); } return(html); }
/// <summary> /// In HTML konvertieren /// </summary> /// <returns>Das Control als HTML</returns> public override IHtmlNode ToHtml() { var containerClasses = new List <string>(); containerClasses.Add(ClassContainer); containerClasses.Add("btn-group"); var buttonClasses = new List <string>(); buttonClasses.Add(ClassDropDown); buttonClasses.Add("btn"); buttonClasses.Add("dropdown-toggle"); if (Outline) { switch (Layout) { case TypesLayoutButton.Primary: buttonClasses.Add("btn-outline-primary"); break; case TypesLayoutButton.Success: buttonClasses.Add("btn-outline-success"); break; case TypesLayoutButton.Info: buttonClasses.Add("btn-outline-info"); break; case TypesLayoutButton.Warning: buttonClasses.Add("btn-outline-warning"); break; case TypesLayoutButton.Danger: buttonClasses.Add("btn-outline-danger"); break; case TypesLayoutButton.Light: buttonClasses.Add("btn-outline-light"); break; case TypesLayoutButton.Dark: buttonClasses.Add("btn-outline-dark"); break; } } else { switch (Layout) { case TypesLayoutButton.Primary: buttonClasses.Add("btn-primary"); break; case TypesLayoutButton.Success: buttonClasses.Add("btn-success"); break; case TypesLayoutButton.Info: buttonClasses.Add("btn-info"); break; case TypesLayoutButton.Warning: buttonClasses.Add("btn-warning"); break; case TypesLayoutButton.Danger: buttonClasses.Add("btn-danger"); break; case TypesLayoutButton.Light: buttonClasses.Add("btn-light"); break; case TypesLayoutButton.Dark: buttonClasses.Add("btn-dark"); break; } } switch (Size) { case TypesSize.Large: buttonClasses.Add("btn-lg"); break; case TypesSize.Small: buttonClasses.Add("btn-sm"); break; } if (Disabled) { buttonClasses.Add("disabled"); } var html = base.ToHtml(); var dropdownButton = new HtmlElementButton() { ID = string.IsNullOrWhiteSpace(ID) ? "" : ID + "_btn", Class = string.Join(" ", buttonClasses.Where(x => !string.IsNullOrWhiteSpace(x))), //Style = StyleButton, DataToggle = "dropdown" }; var dropdownElements = new HtmlElementUl ( Items.Select ( x => x == null ? new HtmlElementLi() { Class = "dropdown-divider", Inline = true } : x is ControlDropdownMenuHeader ? x.ToHtml() : new HtmlElementLi(x.ToHtml().AddClass("dropdown-item")) { } ) ) { Class = HorizontalAlignment == TypesHorizontalAlignment.Right ? "dropdown-menu dropdown-menu-right" : "dropdown-menu" }; return(new HtmlElementDiv(html, dropdownButton, dropdownElements) { Class = string.Join(" ", containerClasses.Where(x => !string.IsNullOrWhiteSpace(x))), }); }
/// <summary> /// In HTML konvertieren /// </summary> /// <returns>Das Control als HTML</returns> public override IHtmlNode ToHtml() { var classes = new List <string>(); classes.Add(Class); classes.Add("dropdown"); var buttonClasses = new List <string>(); buttonClasses.Add(ClassButton); buttonClasses.Add("btn"); if (Outline) { switch (Layout) { case TypesLayoutButton.Primary: buttonClasses.Add("btn-outline-primary"); break; case TypesLayoutButton.Success: buttonClasses.Add("btn-outline-success"); break; case TypesLayoutButton.Info: buttonClasses.Add("btn-outline-info"); break; case TypesLayoutButton.Warning: buttonClasses.Add("btn-outline-warning"); break; case TypesLayoutButton.Danger: buttonClasses.Add("btn-outline-danger"); break; case TypesLayoutButton.Light: buttonClasses.Add("btn-outline-light"); break; case TypesLayoutButton.Dark: buttonClasses.Add("btn-outline-dark"); break; } } else { switch (Layout) { case TypesLayoutButton.Primary: buttonClasses.Add("btn-primary"); break; case TypesLayoutButton.Success: buttonClasses.Add("btn-success"); break; case TypesLayoutButton.Info: buttonClasses.Add("btn-info"); break; case TypesLayoutButton.Warning: buttonClasses.Add("btn-warning"); break; case TypesLayoutButton.Danger: buttonClasses.Add("btn-danger"); break; case TypesLayoutButton.Light: buttonClasses.Add("btn-light"); break; case TypesLayoutButton.Dark: buttonClasses.Add("btn-dark"); break; } } switch (Size) { case TypesSize.Large: buttonClasses.Add("btn-lg"); break; case TypesSize.Small: buttonClasses.Add("btn-sm"); break; } switch (HorizontalAlignment) { case TypesHorizontalAlignment.Left: classes.Add("float-left"); break; case TypesHorizontalAlignment.Right: classes.Add("float-right"); break; } if (Block) { buttonClasses.Add("btn-block"); } var html = new HtmlElementDiv() { ID = ID, Class = string.Join(" ", classes.Where(x => !string.IsNullOrWhiteSpace(x))), Style = Style }; var button = new HtmlElementButton() { ID = string.IsNullOrWhiteSpace(ID) ? "" : ID + "_btn", Class = string.Join(" ", buttonClasses.Where(x => !string.IsNullOrWhiteSpace(x))), Style = StyleButton, DataToggle = "dropdown" }; if (!string.IsNullOrWhiteSpace(Icon) && !string.IsNullOrWhiteSpace(Text)) { button.Elements.Add(new HtmlElementSpan() { Class = Icon }); button.Elements.Add(new HtmlNbsp()); button.Elements.Add(new HtmlNbsp()); button.Elements.Add(new HtmlNbsp()); } else if (!string.IsNullOrWhiteSpace(Icon) && string.IsNullOrWhiteSpace(Text)) { button.AddClass(Icon); } if (!string.IsNullOrWhiteSpace(Text)) { button.Elements.Add(new HtmlText(Text)); } html.Elements.Add(button); html.Elements.Add ( new HtmlElementUl ( Items.Select ( x => x == null ? new HtmlElementLi() { Class = "dropdown-divider", Inline = true } : x is ControlDropdownMenuHeader ? x.ToHtml() : new HtmlElementLi(x.ToHtml().AddClass("dropdown-item")) { } ) ) { Class = HorizontalAlignment == TypesHorizontalAlignment.Right ? "dropdown-menu dropdown-menu-right" : "dropdown-menu" } ); return(html); }
/// <summary> /// In HTML konvertieren /// </summary> /// <returns>Das Control als HTML</returns> public override IHtmlNode ToHtml() { var classes = new List <string>(); classes.Add(Class); classes.Add("alert"); if (Dismissible) { classes.Add("alert-dismissible"); } if (Fade) { classes.Add("fade show"); } switch (Layout) { case TypesLayoutAlert.Success: classes.Add("alert-success"); break; case TypesLayoutAlert.Info: classes.Add("alert-info"); break; case TypesLayoutAlert.Warning: classes.Add("alert-warning"); break; case TypesLayoutAlert.Danger: classes.Add("alert-danger"); break; case TypesLayoutAlert.Light: classes.Add("alert-light"); break; case TypesLayoutAlert.Dark: classes.Add("alert-dark"); break; } var head = new HtmlElementStrong(new HtmlText(Head), new HtmlNbsp()); var button = new HtmlElementButton("×") { Class = "close" }; button.AddUserAttribute("data-dismiss", "alert"); button.AddUserAttribute("aria-label", "close"); button.AddUserAttribute("aria-hidden", "true"); return(new HtmlElementDiv(!string.IsNullOrWhiteSpace(Head) ? head : null, new HtmlText(Text), Dismissible ? button : null) { ID = ID, Class = string.Join(" ", classes.Where(x => !string.IsNullOrWhiteSpace(x))), Style = Style, Role = "alert" }); }
/// <summary> /// In HTML konvertieren /// </summary> /// <returns>Das Control als HTML</returns> public override IHtmlNode ToHtml() { var classes = new List <string>(); classes.Add(Class); classes.Add("btn"); if (Outline) { switch (Layout) { case TypesLayoutButton.Primary: classes.Add("btn-outline-primary"); break; case TypesLayoutButton.Success: classes.Add("btn-outline-success"); break; case TypesLayoutButton.Info: classes.Add("btn-outline-info"); break; case TypesLayoutButton.Warning: classes.Add("btn-outline-warning"); break; case TypesLayoutButton.Danger: classes.Add("btn-outline-danger"); break; case TypesLayoutButton.Dark: classes.Add("btn-outline-dark"); break; } } else { switch (Layout) { case TypesLayoutButton.Primary: classes.Add("btn-primary"); break; case TypesLayoutButton.Success: classes.Add("btn-success"); break; case TypesLayoutButton.Info: classes.Add("btn-info"); break; case TypesLayoutButton.Warning: classes.Add("btn-warning"); break; case TypesLayoutButton.Danger: classes.Add("btn-danger"); break; case TypesLayoutButton.Light: classes.Add("btn-light"); break; case TypesLayoutButton.Dark: classes.Add("btn-dark"); break; } } switch (Size) { case TypesSize.Large: classes.Add("btn-lg"); break; case TypesSize.Small: classes.Add("btn-sm"); break; } if (Block) { classes.Add("btn-block"); } switch (HorizontalAlignment) { case TypesHorizontalAlignment.Left: classes.Add("float-left"); break; case TypesHorizontalAlignment.Right: classes.Add("float-right"); break; } var html = new HtmlElementButton() { Text = Text, Type = "button", Value = Value, Class = string.Join(" ", classes.Where(x => !string.IsNullOrWhiteSpace(x))), Role = Role, Disabled = Disabled }; if (Content.Count > 0) { html.Elements.AddRange(Content.Select(x => x.ToHtml())); } if (Modal != null) { html.AddUserAttribute("data-toggle", "modal"); html.AddUserAttribute("data-target", "#" + Modal.ID); return(new HtmlList(html, Modal.ToHtml())); } return(html); }
/// <summary> /// In HTML konvertieren /// </summary> /// <returns>Das Control als HTML</returns> public override IHtmlNode ToHtml() { if (Page.HasParam(Name)) { Value = Page.GetParam(Name); var value = Page.GetParam(Name); if (!string.IsNullOrWhiteSpace(Value) && value == Value) { OnClickEvent(new EventArgs()); } } var classes = new List <string>(); classes.Add(Class); classes.Add("btn"); if (Outline) { switch (Layout) { case TypesLayoutButton.Primary: classes.Add("btn-outline-primary"); break; case TypesLayoutButton.Success: classes.Add("btn-outline-success"); break; case TypesLayoutButton.Info: classes.Add("btn-outline-info"); break; case TypesLayoutButton.Warning: classes.Add("btn-outline-warning"); break; case TypesLayoutButton.Danger: classes.Add("btn-outline-danger"); break; case TypesLayoutButton.Dark: classes.Add("btn-outline-dark"); break; } } else { switch (Layout) { case TypesLayoutButton.Primary: classes.Add("btn-primary"); break; case TypesLayoutButton.Success: classes.Add("btn-success"); break; case TypesLayoutButton.Info: classes.Add("btn-info"); break; case TypesLayoutButton.Warning: classes.Add("btn-warning"); break; case TypesLayoutButton.Danger: classes.Add("btn-danger"); break; case TypesLayoutButton.Light: classes.Add("btn-light"); break; case TypesLayoutButton.Dark: classes.Add("btn-dark"); break; } } switch (Size) { case TypesSize.Large: classes.Add("btn-lg"); break; case TypesSize.Small: classes.Add("btn-sm"); break; } switch (HorizontalAlignment) { case TypesHorizontalAlignment.Left: classes.Add("float-left"); break; case TypesHorizontalAlignment.Right: classes.Add("float-right"); break; } if (Block) { classes.Add("btn-block"); } var html = new HtmlElementButton() { Name = Name, Type = Type, Value = Value, Class = string.Join(" ", classes.Where(x => !string.IsNullOrWhiteSpace(x))), Role = Role, Disabled = Disabled }; if (!string.IsNullOrWhiteSpace(Icon) && !string.IsNullOrWhiteSpace(Text)) { html.Elements.Add(new HtmlElementSpan() { Class = Icon }); html.Elements.Add(new HtmlNbsp()); html.Elements.Add(new HtmlNbsp()); html.Elements.Add(new HtmlNbsp()); } else if (!string.IsNullOrWhiteSpace(Icon) && string.IsNullOrWhiteSpace(Text)) { html.AddClass(Icon); } if (!string.IsNullOrWhiteSpace(Text)) { html.Elements.Add(new HtmlText(Text)); } if (Content.Count > 0) { html.Elements.AddRange(Content.Select(x => x.ToHtml())); } return(html); }