public static MvcHtmlString Semantic_ButtonIcon(this HtmlHelper helper, string id, string text, SemanticUIHelper.enButtonType btnType, SemanticUIHelper.Size size, object htmlAttributes = null, string iconName = null) { return(Semantic_Button2(helper, id, text, btnType, SemanticUIHelper.Size.mini, htmlAttributes, null, iconName)); }
/// <summary> /// 버튼(메뉴권한추가) /// </summary> /// <param name="helper"></param> /// <param name="id"></param> /// <param name="text"></param> /// <param name="btnType"></param> /// <param name="size"></param> /// <param name="htmlAttributes"></param> /// <returns></returns> public static MvcHtmlString Semantic_Button2(this HtmlHelper helper, string id, string text, SemanticUIHelper.enButtonType btnType, SemanticUIHelper.Size size, object htmlAttributes = null, string buttonpageURL = null, string iconName = null) { var chkurl = "/" + helper.ViewContext.RouteData.Values["controller"].ToString().ToLower() + "/" + helper.ViewContext.RouteData.Values["action"].ToString().ToLower(); if (!string.IsNullOrEmpty(buttonpageURL)) { chkurl = buttonpageURL; } LOGIN_WEBMENU data = SessionHelper.LoginInfo.WebMemu.Where(w => w.MENU_URL.ToLower().Contains(chkurl)).FirstOrDefault(); data = (data == null) ? new LOGIN_WEBMENU() { INSERT_AUTH = true, UPDATE_AUTH = true, EXCEL_AUTH = true, PRINT_AUTH = true } : data; /*자신의 메뉴에 없을 경우 버튼 비활성화*/ StringBuilder sbHtml = new StringBuilder(); sbHtml.Append(" <button "); //// Type가 지정 안되었을 경우 기본 설정 var arrType = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes).Where(w => w.Key.ToLower() == "type").ToList(); if (arrType.Count > 0) { sbHtml.Append(arrType[0].Key).Append("='").Append(arrType[0].Value).Append("'"); } else { sbHtml.Append("type='button'"); } sbHtml.Append(" class='ui "); var arrClass = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes).Where(w => w.Key.ToLower() == "class").ToList(); foreach (var cssData in arrClass) { sbHtml.Append(" ").Append(cssData.Value).Append(" "); } sbHtml.Append(" ").Append(btnType.ToString()).Append(" "); switch (btnType) { case SemanticUIHelper.enButtonType.Del: sbHtml.Append(" ").Append(SemanticUIHelper.enColor.red.ToString()).Append(" "); break; case SemanticUIHelper.enButtonType.Cancel: sbHtml.Append(" ").Append(SemanticUIHelper.enColor.orange.ToString()).Append(" "); break; case SemanticUIHelper.enButtonType.New: sbHtml.Append(" ").Append(SemanticUIHelper.enColor.teal.ToString()).Append(" "); break; case SemanticUIHelper.enButtonType.Request: sbHtml.Append(" ").Append(SemanticUIHelper.enColor.olive.ToString()).Append(" "); break; case SemanticUIHelper.enButtonType.Save: sbHtml.Append(" ").Append(SemanticUIHelper.enColor.blue.ToString()).Append(" "); break; case SemanticUIHelper.enButtonType.Excel: sbHtml.Append(" ").Append(SemanticUIHelper.enColor.green.ToString()).Append(" "); break; case SemanticUIHelper.enButtonType.ToList: sbHtml.Append(" ").Append(SemanticUIHelper.enColor.grey.ToString()).Append(" "); sbHtml.Append(" "); break; case SemanticUIHelper.enButtonType.Check: sbHtml.Append(" check "); break; case SemanticUIHelper.enButtonType.Print: sbHtml.Append(" ").Append(SemanticUIHelper.enColor.brown.ToString()).Append(" "); break; default: break; } switch (btnType) { case SemanticUIHelper.enButtonType.New: if (!data.INSERT_AUTH) { sbHtml.Append(" hide "); } else if (SessionHelper.LoginInfo.EDIT_MODE == enEditMode.READ) { sbHtml.Append(" hide "); } break; case SemanticUIHelper.enButtonType.Save: case SemanticUIHelper.enButtonType.Del: case SemanticUIHelper.enButtonType.Cancel: if (!data.UPDATE_AUTH) { sbHtml.Append(" hide "); } else if (SessionHelper.LoginInfo.EDIT_MODE == enEditMode.READ) { sbHtml.Append(" hide "); } break; case SemanticUIHelper.enButtonType.Excel: if (!data.EXCEL_AUTH) { sbHtml.Append(" hide "); } break; case SemanticUIHelper.enButtonType.Print: if (!data.PRINT_AUTH) { sbHtml.Append(" hide "); } break; default: break; } sbHtml.Append(size.ToString()).Append(" button' id='").Append(id).Append("' name='").Append(id).Append("'").Append(SemanticUIHelper.GetHtmlAttributeString(htmlAttributes)).Append("> ").Append("\n"); sbHtml.Append(text).Append("\n"); if (!string.IsNullOrEmpty(iconName)) { sbHtml.Append("<i class='").Append(iconName).Append("'></i>"); } sbHtml.Append(" </button>").Append("\n"); return(new MvcHtmlString(sbHtml.ToString().Trim())); }
public static MvcHtmlString TitleNavigation(this HtmlHelper helper, SemanticUIHelper.Size size = SemanticUIHelper.Size.big, string addTitle = "") { List <LOGIN_WEBMENU> activeMenuList = new List <LOGIN_WEBMENU>(); var chkurl = "/" + helper.ViewContext.RouteData.Values["controller"].ToString().ToLower() + "/" + helper.ViewContext.RouteData.Values["action"].ToString().ToLower(); LOGIN_WEBMENU data = SessionHelper.LoginInfo.WebMemu.Where(w => w.MENU_URL.ToLower().Contains(chkurl)).FirstOrDefault(); if (data == null) { data = new LOGIN_WEBMENU { NAME = "loggal Management" }; } else { activeMenuList.Add(data); } SessionHelper.LoginInfo.CURRENT_MENU_NAME = data.NAME; while (true) { data = SessionHelper.LoginInfo.WebMemu.Where(w => w.MENU_CODE == data.PARENT_CODE).FirstOrDefault(); if (data == null) { break; } else { activeMenuList.Add(data); } } if (activeMenuList.Count() == 0) { return(TitleHeader(helper, addTitle)); } else { activeMenuList = activeMenuList.OrderBy(o => o.SEARCH_CODE).ToList(); StringBuilder sbHtml = new StringBuilder(); sbHtml.Append("<div class='ui ").Append(size.ToString()).Append(" breadcrumb'>"); for (int i = 0; i < activeMenuList.Count(); i++) { if (i < activeMenuList.Count() - 1) { sbHtml.Append("<a class='section'>").Append(activeMenuList[i].NAME).Append("</a>"); sbHtml.Append("<i class='right angle icon divider'></i> "); } else { if (string.IsNullOrEmpty(helper.ViewBag.Title)) { string name = activeMenuList[i].NAME; try { if (Global.Format.IsNumeric(HttpContext.Current.Request.Url.Segments[HttpContext.Current.Request.Url.Segments.Count() - 1])) { name = name.Replace("등록", "정보"); } } catch (Exception) { } sbHtml.Append("<div class='active section'>").Append(name); SessionHelper.LoginInfo.CURRENT_MENU_NAME = name; } else { sbHtml.Append("<div class='active section'>").Append(helper.ViewBag.Title); } sbHtml.Append("</div>"); } } sbHtml.Append((string.IsNullOrEmpty(addTitle) ? "" : addTitle)).Append("</div>"); return(new MvcHtmlString(sbHtml.ToString())); } }