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  }