mirror of
https://github.com/grafana/grafana.git
synced 2026-08-18 17:15:08 -05:00
TopNav: Support for deeper nesting in section nav (#52562)
This commit is contained in:
+30
-3
@@ -234,7 +234,21 @@ func (hs *HTTPServer) getNavTree(c *models.ReqContext, hasEditPerm bool, prefs *
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
navTree = append(navTree, appLinks...)
|
||||
|
||||
// When topnav is enabled we can test new information architecture where plugins live in Apps category
|
||||
if hs.Features.IsEnabled(featuremgmt.FlagTopnav) {
|
||||
navTree = append(navTree, &dtos.NavLink{
|
||||
Text: "Apps",
|
||||
Icon: "apps",
|
||||
Description: "App plugins",
|
||||
Id: "apps",
|
||||
Children: appLinks,
|
||||
Section: dtos.NavSectionCore,
|
||||
Url: hs.Cfg.AppSubURL + "/apps",
|
||||
})
|
||||
} else {
|
||||
navTree = append(navTree, appLinks...)
|
||||
}
|
||||
|
||||
configNodes := []*dtos.NavLink{}
|
||||
|
||||
@@ -335,8 +349,11 @@ func (hs *HTTPServer) getNavTree(c *models.ReqContext, hasEditPerm bool, prefs *
|
||||
})
|
||||
}
|
||||
|
||||
var configNode *dtos.NavLink
|
||||
var serverAdminNode *dtos.NavLink
|
||||
|
||||
if len(configNodes) > 0 {
|
||||
configNode := &dtos.NavLink{
|
||||
configNode = &dtos.NavLink{
|
||||
Id: dtos.NavIDCfg,
|
||||
Text: "Configuration",
|
||||
SubTitle: "Organization: " + c.OrgName,
|
||||
@@ -352,10 +369,20 @@ func (hs *HTTPServer) getNavTree(c *models.ReqContext, hasEditPerm bool, prefs *
|
||||
adminNavLinks := hs.buildAdminNavLinks(c)
|
||||
|
||||
if len(adminNavLinks) > 0 {
|
||||
serverAdminNode := navlinks.GetServerAdminNode(adminNavLinks)
|
||||
serverAdminNode = navlinks.GetServerAdminNode(adminNavLinks)
|
||||
navTree = append(navTree, serverAdminNode)
|
||||
}
|
||||
|
||||
if hs.Features.IsEnabled(featuremgmt.FlagTopnav) {
|
||||
// Move server admin into Configuration and rename to administration
|
||||
if configNode != nil && serverAdminNode != nil {
|
||||
configNode.Text = "Administration"
|
||||
configNode.Children = append(configNode.Children, serverAdminNode)
|
||||
adminNodeIndex := len(navTree) - 1
|
||||
navTree = navTree[:adminNodeIndex]
|
||||
}
|
||||
}
|
||||
|
||||
navTree = hs.addHelpLinks(navTree, c)
|
||||
|
||||
return navTree, nil
|
||||
|
||||
@@ -8,7 +8,7 @@ func GetServerAdminNode(children []*dtos.NavLink) *dtos.NavLink {
|
||||
url = children[0].Url
|
||||
}
|
||||
return &dtos.NavLink{
|
||||
Text: "Server Admin",
|
||||
Text: "Server admin",
|
||||
SubTitle: "Manage all users and orgs",
|
||||
HideFromTabs: true,
|
||||
Id: "admin",
|
||||
|
||||
Reference in New Issue
Block a user