public static MvcHtmlString Semantic_Button(this HtmlHelper helper, string id, string text, enButtonType btnType, Size size, object htmlAttributes = null)
        {
            StringBuilder sbHtml = new StringBuilder();

            sbHtml.Append(" <button ");

            var    arrType  = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes).Where(w => w.Key.ToLower() == "type").ToList();
            var    arrClass = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes).Where(w => w.Key.ToLower() == "class").Select(s => s.Value).ToList();;
            string addClass = string.Empty;

            if (arrClass.Count() > 0)
            {
                addClass = string.Join(" ", arrClass);
            }
            if (arrType.Count > 0)
            {
                sbHtml.Append(arrType[0].Key).Append("='").Append(arrType[0].Value).Append("'");
            }
            else
            {
                sbHtml.Append("type='button'");
            }
            sbHtml.Append(" class='ui ");
            switch (btnType)
            {
            case enButtonType.Del:
                sbHtml.Append(" ").Append(SemanticUIHelper.enColor.red.ToString()).Append(" ");
                break;

            case enButtonType.Cancel:
                sbHtml.Append(" ").Append(SemanticUIHelper.enColor.orange.ToString()).Append(" ");
                break;

            case enButtonType.New:
                sbHtml.Append(" ").Append(SemanticUIHelper.enColor.teal.ToString()).Append(" ");
                break;

            case enButtonType.Request:
                sbHtml.Append(" ").Append(SemanticUIHelper.enColor.olive.ToString()).Append(" ");
                break;

            case enButtonType.Save:
                sbHtml.Append(" ").Append(SemanticUIHelper.enColor.blue.ToString()).Append(" ");
                break;

            case enButtonType.Excel:
                sbHtml.Append(" ").Append(SemanticUIHelper.enColor.green.ToString()).Append(" ");
                break;

            case enButtonType.ToList:
                sbHtml.Append(" ").Append(SemanticUIHelper.enColor.grey.ToString()).Append(" ");
                break;

            default:
                break;
            }
            sbHtml.Append(size.ToString()).Append(" button ").Append(addClass).Append("' id='").Append(id).Append("' name='").Append(id).Append("'").Append(SemanticUIHelper.GetHtmlAttributeString(htmlAttributes)).Append("> ").Append("\n");
            sbHtml.Append(text).Append("\n");
            sbHtml.Append(" </button>").Append("\n");

            return(MvcHtmlString.Create(sbHtml.ToString().Trim()));
        }
        /// <summary>
        /// Semintic UI TextBox 정의
        /// </summary>
        /// <param name="helper"></param>
        /// <param name="id"></param>
        /// <param name="value"></param>
        /// <param name="size"></param>
        /// <param name="htmlAttributes"></param>
        /// <returns></returns>
        public static MvcHtmlString Semantic_TextBox(this HtmlHelper helper, string id, string value, Size size, string width, object htmlAttributes = null, string iconName = null, string firstIcon = null)
        {
            StringBuilder sbHtml = new StringBuilder();


            var sHtmlAttr = SemanticUIHelper.GetHtmlAttributeString(htmlAttributes);

            RouteValueDictionary arrHtmlAtribute = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes);


            if (htmlAttributes != null)
            {
                var classData = arrHtmlAtribute.Where(w => w.Key == "class").ToList();
                if (classData.Count() > 0)
                {
                    arrHtmlAtribute["class"] = arrHtmlAtribute["class"] + " ui input field ";
                    var array = Enum.GetNames(typeof(SemanticUIHelper.Size)).ToList();
                    if (array.Where(w => ((string)classData[0].Value).Contains(w)).Count() == 0)
                    {
                        arrHtmlAtribute["class"] = arrHtmlAtribute["class"] + size.ToString();
                    }
                }
            }

            arrHtmlAtribute["class"] = string.IsNullOrEmpty((string)arrHtmlAtribute["class"]) ? "ui input field " + size.ToString() : arrHtmlAtribute["class"];
            arrHtmlAtribute["class"] = arrHtmlAtribute["class"] + (!string.IsNullOrEmpty(iconName) ? " icon" : "");
            arrHtmlAtribute["class"] = arrHtmlAtribute["class"] + (!string.IsNullOrEmpty(firstIcon) ? " left icon" : "");

            sbHtml.Append("<div ").Append(SemanticUIHelper.GetHtmlAttributeString(arrHtmlAtribute));
            if (width != null)
            {
                sbHtml.Append(" style='width:").Append(width).Append("'");
            }
            sbHtml.Append("> ");

            if (((string)arrHtmlAtribute.Where(w => w.Key == "class").First().Value).Contains("dataclear"))
            {
                /*  <!-- 크롬 비번 자동완성 방지를 위한 input -->
                 *                  <input type="password" style="display: block; width:0px; height:0px; border: 0;" @@focus="$refs.pwdInput.focus()">
                 *                  <input type="password" class="form-control m-b-5" placeholder="패스워드" v-model="user.password" autocomplete="off" ref="pwdInput" />*/

                string addType = arrHtmlAtribute.Where(w => w.Key == "type").Count() > 0 ? " type='" + (string)arrHtmlAtribute.Where(w => w.Key == "type").FirstOrDefault().Value + "' " : "";
                sbHtml.Append("<input  id ='").Append(id).Append("_fake' name = '").Append(id).Append("_fake'").Append(addType).Append(" autocomplete = 'new-password' class='fake-autofill-fields' style = 'display: none;' @focus='$refs.").Append(id).Append("_ref.focus()'>");
            }
            if (!string.IsNullOrEmpty(firstIcon))
            {
                sbHtml.Append("<i class='").Append(firstIcon).Append("'></i>");
            }
            sbHtml.Append("<input  id='").Append(id).Append("' name='").Append(id).Append("' value='").Append(value).Append("'").Append(SemanticUIHelper.GetHtmlAttributeString(htmlAttributes)).Append(" ref='").Append(id).Append("_ref'");

            if (!SemanticUIHelper.GetHtmlAttributeString(htmlAttributes).ToUpper().Contains("TYPE"))
            {
                sbHtml.Append(" type='text' ");
            }

            sbHtml.Append("> ");
            if (!string.IsNullOrEmpty(iconName))
            {
                sbHtml.Append("<i class='").Append(iconName).Append("'></i>");
            }
            sbHtml.Append("</div>                      ");
            return(new MvcHtmlString(sbHtml.ToString().Trim()));
        }