 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Json ¶
type Json struct {
	Text string `json:",omitempty"`
	Path string `json:",omitempty"`
	Subs []Json `json:",omitempty"`
}
    helper for simple json based loading and saving
type Leaf ¶
type Leaf interface {
	// Path returns the URL path for the leaf.
	// If it returns an empty string or a string that begins with ~ or $, the leaf
	// is not treated as a link.
	Path() string
	// String returns the string that is used to represent the leaf.
	// If the leaf is treated as a link (see Path()), String() would return the
	// linked text.
	String() string
}
    Leaf is the content of a Node It can be used for the html representation of the menu
type Node ¶
type Node struct {
	// Edges is a collection of menu nodes that are children the current node
	Edges []*Node
	// Leaf contains the item of the current node.
	// The root node of a menu tree has no leaf (<nil>).
	Leaf Leaf
}
    Node is a node of a menu tree
func (*Node) FindByPath ¶
FindByPath returns the first node that has the given path by starting with the leaf of m and then going through its egdes. If no node is found, <nil> is returned
func (*Node) FindByText ¶
FindByText returns the first node that has the given text by starting with the leaf and then going through its egdes. If no node is found, <nil> is returned
func (Node) MarshalJSON ¶
func (*Node) RootAt ¶
RootAt looks for the node with the given path and returns its parent node at nesting level depth. It can be used to get a sub menu for the request path within a http handler to show it in the layout at a different place than other parts of the menu tree. The returned node is a copy of the original node (without the leaf) and may not be used to manipulate the original node. For the later, FindByText() or FindByPath() can be used. If a node was found but it has no edges, <nil> is returned.
func (*Node) UnmarshalJSON ¶
UnmarshalJSON([]byte) error
type WriterTo ¶
type WriterTo interface {
	// WriterTo returns an io.WriterTo that writes the menu tree for the given root node.
	// The leaf matching the given path may be treated in a special way.
	// The given path may be seen as "active" or "selected" path.
	// The tree should only be visited up to the given depth.
	// WriterTo must handle the case when the root is <nil> (empty menu).
	WriterTo(root *Node, depth int, path string) io.WriterTo
}
    WriterTo provides a WriterTo that writes a representation of a menu tree