From a4da0adf384a71bcace450ac7659a069fe95f4e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Wed, 16 Aug 2017 15:37:13 +0200 Subject: [PATCH] ux: switching orgs now works through modal --- pkg/api/index.go | 8 -- public/app/core/components/help/help.html | 9 -- public/app/core/components/org_switcher.ts | 82 +++++++++++++++++++ .../core/components/sidemenu/sidemenu.html | 59 +++---------- .../app/core/components/sidemenu/sidemenu.ts | 23 ++---- public/app/core/core.ts | 4 +- public/app/core/services/context_srv.ts | 1 + 7 files changed, 103 insertions(+), 83 deletions(-) create mode 100644 public/app/core/components/org_switcher.ts diff --git a/pkg/api/index.go b/pkg/api/index.go index 23ba7aedc23..aef0bc98fb1 100644 --- a/pkg/api/index.go +++ b/pkg/api/index.go @@ -133,14 +133,6 @@ func setIndexViewData(c *middleware.Context) (*dtos.IndexViewData, error) { } data.NavTree = append(data.NavTree, profileNode) - } else { - data.NavTree = append(data.NavTree, &dtos.NavLink{ - Text: "Sign in", - Id: "sign-in", - Icon: "fa fa-fw fa-sign-in", - Url: setting.AppSubUrl + "/login", - HideFromMenu: true, - }) } if setting.AlertingEnabled && (c.OrgRole == m.ROLE_ADMIN || c.OrgRole == m.ROLE_EDITOR) { diff --git a/public/app/core/components/help/help.html b/public/app/core/components/help/help.html index c07d57a0ffc..45faa560e40 100644 --- a/public/app/core/components/help/help.html +++ b/public/app/core/components/help/help.html @@ -4,15 +4,6 @@ Shortcuts - - - - - - - - - diff --git a/public/app/core/components/org_switcher.ts b/public/app/core/components/org_switcher.ts new file mode 100644 index 00000000000..fe8a7a3412c --- /dev/null +++ b/public/app/core/components/org_switcher.ts @@ -0,0 +1,82 @@ +/// + +import coreModule from 'app/core/core_module'; +import config from 'app/core/config'; +import {contextSrv} from 'app/core/services/context_srv'; + +const template = ` + diff --git a/public/app/core/components/sidemenu/sidemenu.ts b/public/app/core/components/sidemenu/sidemenu.ts index 2172723763a..0c4bb881279 100644 --- a/public/app/core/components/sidemenu/sidemenu.ts +++ b/public/app/core/components/sidemenu/sidemenu.ts @@ -9,18 +9,13 @@ export class SideMenuCtrl { user: any; mainLinks: any; bottomNav: any; - appSubUrl: string; loginUrl: string; - orgFilter: string; - orgItems: any; - orgs: any; - maxShownOrgs: number; + isSignedIn: boolean; /** @ngInject */ constructor(private $scope, private $rootScope, private $location, private contextSrv, private backendSrv, private $element) { + this.isSignedIn = contextSrv.isSignedIn; this.user = contextSrv.user; - this.appSubUrl = config.appSubUrl; - this.maxShownOrgs = 10; this.mainLinks = _.filter(config.bootData.navTree, item => !item.hideFromMenu); this.bottomNav = _.filter(config.bootData.navTree, item => item.hideFromMenu); this.loginUrl = 'login?redirect=' + encodeURIComponent(this.$location.path()); @@ -38,17 +33,13 @@ export class SideMenuCtrl { } this.loginUrl = 'login?redirect=' + encodeURIComponent(this.$location.path()); }); - - this.orgFilter = ''; } - getUrl(url) { - return config.appSubUrl + url; - } - - search() { - this.$rootScope.appEvent('show-dash-search'); - } + switchOrg() { + this.$rootScope.appEvent('show-modal', { + templateHtml: '', + }); + } } export function sideMenuDirective() { diff --git a/public/app/core/core.ts b/public/app/core/core.ts index 65b8fbbc4ec..996a15bebef 100644 --- a/public/app/core/core.ts +++ b/public/app/core/core.ts @@ -53,6 +53,7 @@ import {userPicker} from './components/user_picker'; import {userGroupPicker} from './components/user_group_picker'; import {geminiScrollbar} from './components/scroll/scroll'; import {gfPageDirective} from './components/gf_page'; +import {orgSwitcher} from './components/org_switcher'; export { arrayJoin, @@ -84,5 +85,6 @@ export { userPicker, userGroupPicker, geminiScrollbar, - gfPageDirective + gfPageDirective, + orgSwitcher, }; diff --git a/public/app/core/services/context_srv.ts b/public/app/core/services/context_srv.ts index 2ff65fd6d0f..6e69391f757 100644 --- a/public/app/core/services/context_srv.ts +++ b/public/app/core/services/context_srv.ts @@ -9,6 +9,7 @@ export class User { isGrafanaAdmin: any; isSignedIn: any; orgRole: any; + orgId: number; timezone: string; helpFlags1: number; lightTheme: boolean;