private string renderMenuItem(Scaffold scaff, structMenuItem item, int level = 0) { var gutter = ""; var subs = new StringBuilder(); for (var x = 0; x < level; x++) { gutter += "<div class=\"gutter\"></div>"; } if (item.submenu != null) { if(item.submenu.Count > 0) { foreach(var sub in item.submenu) { subs.Append(renderMenuItem(scaff, sub, level + 1)); } } } scaff.Data["label"] = item.label; scaff.Data["href"] = item.href == "" ? "javascript:" : item.href; scaff.Data["icon"] = item.icon; scaff.Data["gutter"] = gutter; if(subs.Length > 0) { scaff.Data["target"] = " target=\"_self\""; scaff.Data["submenu"] = "<div class=\"row submenu\"><ul class=\"menu\">" + subs.ToString() + "</ul></div>"; } else { scaff.Data["submenu"] = ""; } return scaff.Render(); }
private structMenuItem menuItem(string label, string href, string icon, List<structMenuItem> submenu = null) { var menu = new structMenuItem(); menu.label = label; menu.href = href; menu.icon = icon; menu.submenu = submenu; return menu; }