github.com/keysonZZZ/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgView/kmgBootstrap/tplNavBarNode.go (about) 1 package kmgBootstrap 2 3 import ( 4 "bytes" 5 "github.com/bronze1man/kmg/kmgXss" 6 ) 7 8 func tplNavBarNode(node NavBarNode, level int) string { 9 var _buf bytes.Buffer 10 _buf.WriteString(` `) 11 if len(node.ChildList) == 0 { 12 _buf.WriteString(` <li><a href="`) 13 _buf.WriteString(kmgXss.H(node.Url)) 14 _buf.WriteString(`">`) 15 _buf.WriteString(kmgXss.H(node.Name)) 16 _buf.WriteString(`</a></li> 17 `) 18 } else if level == 0 { 19 _buf.WriteString(` <li class="dropdown"> 20 <a href="javascript:" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">`) 21 _buf.WriteString(kmgXss.H(node.Name)) 22 _buf.WriteString(` <span class="caret"></span></a> 23 <ul class="dropdown-menu"> 24 `) 25 for _, subNode := range node.ChildList { 26 _buf.WriteString(` `) 27 _buf.WriteString(tplNavBarNode(subNode, level+1)) 28 _buf.WriteString(` `) 29 } 30 _buf.WriteString(` </ul> 31 </li> 32 `) 33 } else { 34 _buf.WriteString(` <li class="dropdown-submenu"> 35 <a href="javascript:">`) 36 _buf.WriteString(kmgXss.H(node.Name)) 37 _buf.WriteString(`</a> 38 <ul class="dropdown-menu"> 39 `) 40 for _, subNode := range node.ChildList { 41 _buf.WriteString(` `) 42 _buf.WriteString(tplNavBarNode(subNode, level+1)) 43 _buf.WriteString(` `) 44 } 45 _buf.WriteString(` </ul> 46 </li>`) 47 } 48 return _buf.String() 49 }