Beispiel #1
0
        public static MvcHtmlString BootstrapButton(this HtmlHelper html, string value, EButtonType buttonType = EButtonType.Submit, string iconCssClass = "", params EButtonClass[] buttonClasses)
        {
            var button = new TagBuilder(Tags.Button);
            var isRightAlignedCaret = buttonClasses.Contains(EButtonClass.IconRight);
            var leftAlignedText     = isRightAlignedCaret ? $"{value} " : string.Empty;
            var rightAlignedText    = !isRightAlignedCaret ? $" {value}" : string.Empty;

            button.MergeAttribute(Attributes.Type, buttonType.ToString());
            button.MergeAttribute(Attributes.Class, GetButtonClass(buttonType, buttonClasses));
            button.MergeAttribute(Attributes.DataLoadingText, $"<i class='fa fa-circle-o-notch fa-spin'></i> {value}");

            switch (buttonType)
            {
            case EButtonType.Delete:
                button.InnerHtml = $"{leftAlignedText}<i class='fa fa-trash'></i>{rightAlignedText}";
                break;

            case EButtonType.Edit:
                button.InnerHtml = $"{leftAlignedText}<i class='fa fa-pencil'></i>{rightAlignedText}";
                break;

            default:
                if (string.IsNullOrEmpty(iconCssClass))
                {
                    button.InnerHtml = value;
                }
                else
                {
                    button.InnerHtml = $"{leftAlignedText}<i class='fa {iconCssClass}'></i>{rightAlignedText}";
                }
                break;
            }

            return(MvcHtmlString.Create(button.ToString()));
        }