mirror of
https://github.com/grafana/grafana.git
synced 2025-07-31 03:42:39 +08:00
Connections: Support standalone plugin pages (#57772)
* feat(Connections): create sub-pages wrapped by `<Page>` * feat(Connections): rename the Connections page and update routes * feat(Connections): use new url for editing datasources * refactor(Connections): remove unused tab components * feat(Connections): update routes and nav titles * tests: fix tests for Connections * tests: fix typo in backend tests
This commit is contained in:
@ -264,8 +264,8 @@ func TestAddAppLinks(t *testing.T) {
|
||||
treeRoot.AddSection(service.buildDataConnectionsNavLink(reqCtx))
|
||||
connectionsNode := treeRoot.FindById("connections")
|
||||
require.Equal(t, "Connections", connectionsNode.Text)
|
||||
require.Equal(t, "Connect Data", connectionsNode.Children[1].Text)
|
||||
require.Equal(t, "connections-connect-data", connectionsNode.Children[1].Id) // Original "Connect Data" page
|
||||
require.Equal(t, "Connect data", connectionsNode.Children[1].Text)
|
||||
require.Equal(t, "connections-connect-data", connectionsNode.Children[1].Id) // Original "Connect data" page
|
||||
require.Equal(t, "", connectionsNode.Children[1].PluginID)
|
||||
|
||||
err := service.addAppLinks(&treeRoot, reqCtx)
|
||||
@ -273,8 +273,8 @@ func TestAddAppLinks(t *testing.T) {
|
||||
// Check if the standalone plugin page appears under the section where we registered it
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "Connections", connectionsNode.Text)
|
||||
require.Equal(t, "Connect Data", connectionsNode.Children[1].Text)
|
||||
require.Equal(t, "standalone-plugin-page-/connections/connect-data", connectionsNode.Children[1].Id) // Overridden "Connect Data" page
|
||||
require.Equal(t, "Connect data", connectionsNode.Children[1].Text)
|
||||
require.Equal(t, "standalone-plugin-page-/connections/connect-data", connectionsNode.Children[1].Id) // Overridden "Connect data" page
|
||||
require.Equal(t, "test-app3", connectionsNode.Children[1].PluginID)
|
||||
|
||||
// Check if the standalone plugin page does not appear under the app section anymore
|
||||
|
@ -534,29 +534,37 @@ func (s *ServiceImpl) buildDataConnectionsNavLink(c *models.ReqContext) *navtree
|
||||
var children []*navtree.NavLink
|
||||
var navLink *navtree.NavLink
|
||||
|
||||
baseId := "connections"
|
||||
baseUrl := s.cfg.AppSubURL + "/" + baseId
|
||||
baseUrl := s.cfg.AppSubURL + "/connections"
|
||||
|
||||
// Your connections
|
||||
children = append(children, &navtree.NavLink{
|
||||
Id: baseId + "-datasources",
|
||||
Text: "Data sources",
|
||||
Icon: "database",
|
||||
SubTitle: "Add and configure data sources",
|
||||
Url: baseUrl + "/datasources",
|
||||
Id: "connections-your-connections",
|
||||
Text: "Your connections",
|
||||
SubTitle: "Manage your existing connections",
|
||||
Url: baseUrl + "/your-connections",
|
||||
// Datasources
|
||||
Children: []*navtree.NavLink{{
|
||||
Id: "connections-your-connections-datasources",
|
||||
Text: "Datasources",
|
||||
SubTitle: "Manage your existing datasource connections",
|
||||
Url: baseUrl + "/your-connections/datasources",
|
||||
}},
|
||||
})
|
||||
|
||||
// Connect data
|
||||
children = append(children, &navtree.NavLink{
|
||||
Id: baseId + "-connect-data",
|
||||
Text: "Connect Data",
|
||||
Icon: "plug",
|
||||
SubTitle: "Manage data sources",
|
||||
Url: baseUrl + "/connect-data",
|
||||
Id: "connections-connect-data",
|
||||
Text: "Connect data",
|
||||
SubTitle: "Browse and create new connections",
|
||||
Url: s.cfg.AppSubURL + "/connections/connect-data",
|
||||
Children: []*navtree.NavLink{},
|
||||
})
|
||||
|
||||
// Connections (main)
|
||||
navLink = &navtree.NavLink{
|
||||
Text: "Connections",
|
||||
Icon: "link",
|
||||
Id: baseId,
|
||||
Id: "connections",
|
||||
Url: baseUrl,
|
||||
Children: children,
|
||||
Section: navtree.NavSectionCore,
|
||||
|
Reference in New Issue
Block a user