/// <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("nav"); switch (HorizontalAlignment) { case TypesTabHorizontalAlignment.Center: classes.Add("justify-content-center"); break; case TypesTabHorizontalAlignment.Right: classes.Add("justify-content-end"); break; } switch (Layout) { case TypesLayoutTab.Tab: classes.Add("nav-tabs"); break; case TypesLayoutTab.Pill: classes.Add("nav-pills"); break; } if (Justified) { classes.Add("nav-justified"); } var items = new List <HtmlElement>(); foreach (var item in Items) { var i = item.ToHtml() as HtmlElement; i.AddClass("nav-link"); items.Add(new HtmlElementLi(i) { Class = "nav-item" }); } var html = new HtmlElementUl(items) { ID = ID, Class = string.Join(" ", classes.Where(x => !string.IsNullOrWhiteSpace(x))), Style = Style, Role = Role }; return(html); }
///// <summary> ///// Füght eine neue Ersetzung hinzu ///// </summary> ///// <param name="key">Der Schlüssel</param> ///// <param name="value">Die Ersetzung</param> //public void AddReplace(string key, string value) //{ // if (!Replace.ContainsKey(key.ToLower())) // { // Replace.Add(key.ToLower(), value); // } // else // { // Replace[key.ToLower()] = value; // } //} /// <summary> /// In HTML konvertieren /// </summary> /// <returns>Das Control als HTML</returns> public override IHtmlNode ToHtml() { var addCss = "breadcrumb"; var html = new HtmlElementUl() { Class = Class + addCss }; var basePath = new Path(); foreach (var v in Path.Items) { basePath = new Path(v.Name, basePath, v.Fragment); html.Elements.Add ( new HtmlElementLi ( new HtmlElementA(v.Name) { Href = basePath.ToString() } ) { Class = "breadcrumb-item" } ); } if (Path.Items.Count == 0) { html.Elements.Add ( new HtmlElementLi ( new HtmlElementA(EmptyName) { Href = "/" } ) { Class = "breadcrumb-item" } ); } 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("timeline"); //classes.Add("list-unstyled"); var ul = new HtmlElementUl(Items.Select(x => new HtmlElementLi(x.ToHtml()) { Class = "item" })) { ID = ID, Class = string.Join(" ", classes.Where(x => !string.IsNullOrWhiteSpace(x))), Style = Style, Role = Role }; return(ul); }
/// <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("pagination"); switch (HorizontalAlignment) { case TypesHorizontalAlignment.Left: classes.Add("float-left"); break; case TypesHorizontalAlignment.Right: classes.Add("float-right"); break; } var html = new HtmlElementUl() { Class = string.Join(" ", classes.Where(x => !string.IsNullOrWhiteSpace(x))) }; if (Offset >= Count) { Offset = Count - 1; } if (Offset < 0) { Offset = 0; } if (Offset > 0 && Count > 1) { html.Elements.Add ( new HtmlElementLi ( new ControlLink(Page, null) { Params = Parameter.Create(new Parameter("offset", Offset - 1) { Scope = ParameterScope.Local }), Class = "page-link fas fa-angle-left" }.ToHtml() ) { Class = "page-item" } ); } else { html.Elements.Add ( new HtmlElementLi ( new ControlLink(Page, null) { Params = Parameter.Create(), Class = "page-link fas fa-angle-left" }.ToHtml() ) { Class = "page-item disabled" } ); } var buf = new List <int>(MaxDisplayCount); int j = 0; int k = 0; buf.Add(Offset); while (buf.Count < Math.Min(Count, MaxDisplayCount)) { if (Offset + j + 1 < Count) { j = j + 1; buf.Add(Offset + j); } if (Offset - k - 1 >= 0) { k = k + 1; buf.Add(Offset - k); } } buf.Sort(); foreach (var v in buf) { if (v == Offset) { html.Elements.Add ( new HtmlElementLi ( new ControlLink(Page, null, (v + 1).ToString()) { Params = Parameter.Create(new Parameter("offset", v) { Scope = ParameterScope.Local }), Class = "page-link" }.ToHtml() ) { Class = "page-item active" } ); } else { html.Elements.Add ( new HtmlElementLi ( new ControlLink(Page, null, (v + 1).ToString()) { Params = Parameter.Create(new Parameter("offset", v) { Scope = ParameterScope.Local }), Class = "page-link" }.ToHtml() ) { Class = "page-item" } ); } } if (Offset < Count - 1) { html.Elements.Add ( new HtmlElementLi ( new ControlLink(Page, null) { Params = Parameter.Create(new Parameter("offset", Offset + 1) { Scope = ParameterScope.Local }), Class = "page-link fas fa-angle-right" }.ToHtml() ) { Class = "page-item" } ); } else { html.Elements.Add ( new HtmlElementLi ( new ControlLink(Page, null) { Params = Parameter.Create(), Class = "page-link fas fa-angle-right" }.ToHtml() ) { Class = "page-item disabled" } ); } 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("btn"); var containerClasses = new List <string>(); containerClasses.Add(ClassContainer); containerClasses.Add("btn-group"); containerClasses.Add("btn-group-toggle"); var buttonClasses = new List <string>(); buttonClasses.Add(ClassDropDown); buttonClasses.Add("btn"); buttonClasses.Add("dropdown-toggle"); if (Outline) { switch (Layout) { case TypesLayoutButton.Primary: classes.Add("btn-outline-primary"); buttonClasses.Add("btn-outline-primary"); break; case TypesLayoutButton.Success: classes.Add("btn-outline-success"); buttonClasses.Add("btn-outline-success"); break; case TypesLayoutButton.Info: classes.Add("btn-outline-info"); buttonClasses.Add("btn-outline-info"); break; case TypesLayoutButton.Warning: classes.Add("btn-outline-warning"); buttonClasses.Add("btn-outline-warning"); break; case TypesLayoutButton.Danger: classes.Add("btn-outline-danger"); buttonClasses.Add("btn-outline-danger"); break; case TypesLayoutButton.Light: classes.Add("btn-outline-light"); buttonClasses.Add("btn-outline-light"); break; case TypesLayoutButton.Dark: classes.Add("btn-outline-dark"); buttonClasses.Add("btn-outline-dark"); break; } } else { switch (Layout) { case TypesLayoutButton.Primary: classes.Add("btn-primary"); buttonClasses.Add("btn-primary"); break; case TypesLayoutButton.Success: classes.Add("btn-success"); buttonClasses.Add("btn-success"); break; case TypesLayoutButton.Info: classes.Add("btn-info"); buttonClasses.Add("btn-info"); break; case TypesLayoutButton.Warning: classes.Add("btn-warning"); buttonClasses.Add("btn-warning"); break; case TypesLayoutButton.Danger: classes.Add("btn-danger"); buttonClasses.Add("btn-danger"); break; case TypesLayoutButton.Light: classes.Add("btn-light"); buttonClasses.Add("btn-light"); break; case TypesLayoutButton.Dark: classes.Add("btn-dark"); buttonClasses.Add("btn-dark"); break; } } switch (Size) { case TypesSize.Large: classes.Add("btn-lg"); buttonClasses.Add("btn-lg"); break; case TypesSize.Small: classes.Add("btn-sm"); buttonClasses.Add("btn-sm"); break; } if (Disabled) { classes.Add("disabled"); buttonClasses.Add("disabled"); } var html = new HtmlElementA(Text) { ID = ID, Class = string.Join(" ", classes.Where(x => !string.IsNullOrWhiteSpace(x))), Role = "button", Href = Url }; var dropdownButton = new HtmlElementP() { 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" }; if (Modal != null) { html.AddUserAttribute("data-toggle", "modal"); html.AddUserAttribute("data-target", "#" + Modal.ID); } return(new HtmlElementDiv(html, dropdownButton, dropdownElements, Modal != null ? Modal.ToHtml() : null) { 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); switch (Layout) { case TypesLayoutList.Group: classes.Add("list-group"); break; case TypesLayoutList.Simple: classes.Add("list-unstyled"); break; case TypesLayoutList.Inline: classes.Add("list-inline"); break; } switch (HorizontalAlignment) { case TypesHorizontalAlignment.Left: classes.Add("float-left"); break; case TypesHorizontalAlignment.Right: classes.Add("float-right"); break; } var items = (from x in Items select x.ToHtml()).ToList(); if (Layout == TypesLayoutList.Group) { items.ForEach(x => x.AddClass("list-group-item")); } if (!ShowBorder) { items.ForEach(x => x.AddClass("border-0")); } var html = null as HtmlElement; switch (Sorted) { case true: html = new HtmlElementUl(items) { ID = ID, Class = string.Join(" ", classes.Where(x => !string.IsNullOrWhiteSpace(x))), Style = Style, Role = Role }; break; default: html = new HtmlElementUl(items) { ID = ID, Class = string.Join(" ", classes.Where(x => !string.IsNullOrWhiteSpace(x))), Style = Style, Role = Role }; break; } return(html); }