From 9dcfe6dc39d09218d2c7e905cbb14cf44bf8442e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Tue, 9 Feb 2016 14:06:23 +0100 Subject: [PATCH] feat(apps): more work on app pages and sidemenu subnav --- pkg/api/dtos/index.go | 9 +++-- pkg/api/index.go | 37 ++++++++++--------- .../core/components/sidemenu/sidemenu.html | 12 +++++- .../app/core/components/sidemenu/sidemenu.ts | 8 ++-- public/less/login.less | 1 - public/less/sidemenu.less | 17 ++++++--- 6 files changed, 50 insertions(+), 34 deletions(-) diff --git a/pkg/api/dtos/index.go b/pkg/api/dtos/index.go index c5b81ee0e98..180ec767281 100644 --- a/pkg/api/dtos/index.go +++ b/pkg/api/dtos/index.go @@ -19,8 +19,9 @@ type PluginCss struct { } type NavLink struct { - Text string `json:"text"` - Icon string `json:"icon"` - Img string `json:"img"` - Url string `json:"url"` + Text string `json:"text"` + Icon string `json:"icon"` + Img string `json:"img"` + Url string `json:"url"` + Children []*NavLink `json:"children"` } diff --git a/pkg/api/index.go b/pkg/api/index.go index 9eea59fa4d2..74b168e53e9 100644 --- a/pkg/api/index.go +++ b/pkg/api/index.go @@ -51,32 +51,24 @@ func setIndexViewData(c *middleware.Context) (*dtos.IndexViewData, error) { data.MainNavLinks = append(data.MainNavLinks, &dtos.NavLink{ Text: "Dashboards", Icon: "fa fa-fw fa-th-large", - Url: "/", - }) - - data.MainNavLinks = append(data.MainNavLinks, &dtos.NavLink{ - Text: "Playlists", - Icon: "fa fa-fw fa-list", - Url: "/playlists", - }) - - data.MainNavLinks = append(data.MainNavLinks, &dtos.NavLink{ - Text: "Snapshots", - Icon: "fa-fw icon-gf icon-gf-snapshot", - Url: "/dashboard/snapshots", + Url: setting.AppSubUrl + "/", + Children: []*dtos.NavLink{ + {Text: "Playlists", Icon: "fa fa-fw fa-list", Url: setting.AppSubUrl + "/playlists"}, + {Text: "Snapshots", Icon: "fa-fw icon-gf icon-gf-snapshot", Url: setting.AppSubUrl + "/dashboard/snapshots"}, + }, }) if c.OrgRole == m.ROLE_ADMIN { data.MainNavLinks = append(data.MainNavLinks, &dtos.NavLink{ Text: "Data Sources", Icon: "fa fa-fw fa-database", - Url: "/datasources", + Url: setting.AppSubUrl + "/datasources", }) data.MainNavLinks = append(data.MainNavLinks, &dtos.NavLink{ Text: "Apps", Icon: "fa fa-fw fa-cubes", - Url: "/apps", + Url: setting.AppSubUrl + "/apps", }) } @@ -91,11 +83,20 @@ func setIndexViewData(c *middleware.Context) (*dtos.IndexViewData, error) { } if plugin.Pinned { - data.MainNavLinks = append(data.MainNavLinks, &dtos.NavLink{ + pageLink := &dtos.NavLink{ Text: plugin.Name, - Url: "/apps/edit/" + plugin.Id, + Url: setting.AppSubUrl + "/apps/" + plugin.Id + "/edit", Img: plugin.Info.Logos.Small, - }) + } + + for _, page := range plugin.Pages { + pageLink.Children = append(pageLink.Children, &dtos.NavLink{ + Url: setting.AppSubUrl + "/apps/" + plugin.Id + "/page/" + page.Slug, + Text: page.Name, + }) + } + + data.MainNavLinks = append(data.MainNavLinks, pageLink) } } diff --git a/public/app/core/components/sidemenu/sidemenu.html b/public/app/core/components/sidemenu/sidemenu.html index a651c87aa7c..dd3b71e54b4 100644 --- a/public/app/core/components/sidemenu/sidemenu.html +++ b/public/app/core/components/sidemenu/sidemenu.html @@ -1,7 +1,7 @@