From 1983de962c5543dbebf5d5f0b2d023fd3fdedd6e Mon Sep 17 00:00:00 2001 From: Marcus Efraimsson Date: Fri, 11 Sep 2020 15:17:41 +0200 Subject: [PATCH] BootData: Fix nav tree sort regression (#27533) #26395 introduced a regression regarding sort order of nav tree items set in Grafana boot data and used for rendering the sidemenu. This fixes so that sort happens after RunIndexDataHooks is called in case the hook make changes to the nav tree. --- pkg/api/index.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/api/index.go b/pkg/api/index.go index 3fdd6152068..7d9e0da8f9d 100644 --- a/pkg/api/index.go +++ b/pkg/api/index.go @@ -327,10 +327,6 @@ func (hs *HTTPServer) getNavTree(c *models.ReqContext, hasEditPerm bool) ([]*dto Children: []*dtos.NavLink{}, }) - sort.SliceStable(navTree, func(i, j int) bool { - return navTree[i].SortWeight < navTree[j].SortWeight - }) - return navTree, nil } @@ -434,6 +430,10 @@ func (hs *HTTPServer) setIndexViewData(c *models.ReqContext) (*dtos.IndexViewDat hs.HooksService.RunIndexDataHooks(&data, c) + sort.SliceStable(data.NavTree, func(i, j int) bool { + return data.NavTree[i].SortWeight < data.NavTree[j].SortWeight + }) + return &data, nil }