Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        ///// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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))),
            });
        }
Ejemplo n.º 6
0
        /// <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);
        }