diff --git a/dashboard/src/app/index.module.ts b/dashboard/src/app/index.module.ts index 13b348dafd..68f8650eb4 100755 --- a/dashboard/src/app/index.module.ts +++ b/dashboard/src/app/index.module.ts @@ -162,7 +162,7 @@ initModule.config(['$routeProvider', ($routeProvider: che.route.IRouteProvider) const DEV = false; // configs -initModule.config(['$routeProvider', ($routeProvider) => { +initModule.config(['$routeProvider', ($routeProvider: che.route.IRouteProvider) => { // config routes (add demo page) if (DEV) { $routeProvider.accessWhen('/demo-components', { diff --git a/dashboard/src/app/navbar/navbar.controller.ts b/dashboard/src/app/navbar/navbar.controller.ts index 7f9f0e30a2..fbb925c262 100644 --- a/dashboard/src/app/navbar/navbar.controller.ts +++ b/dashboard/src/app/navbar/navbar.controller.ts @@ -10,7 +10,7 @@ */ 'use strict'; import {CheAPI} from '../../components/api/che-api.factory'; -import {CheKeycloak, keycloakUserInfo} from '../../components/api/che-keycloak.factory'; +import {CheKeycloak} from '../../components/api/che-keycloak.factory'; export class CheNavBarController { private menuItemUrl = { @@ -53,7 +53,6 @@ export class CheNavBarController { private hasPersonalAccount: boolean; private organizations: Array; private cheKeycloak: CheKeycloak; - private userInfo: keycloakUserInfo; /** * Default constructor @@ -75,7 +74,6 @@ export class CheNavBarController { this.$window = $window; this.chePermissions = chePermissions; this.cheKeycloak = cheKeycloak; - this.userInfo = null; this.profile = cheAPI.getProfile().getProfile(); @@ -90,12 +88,6 @@ export class CheNavBarController { cheAPI.getWorkspace().fetchWorkspaces(); cheAPI.getFactory().fetchFactories(); - if (this.cheKeycloak.isPresent()) { - this.cheKeycloak.fetchUserInfo().then((userInfo: keycloakUserInfo) => { - this.userInfo = userInfo; - }); - } - if (this.chePermissions.getSystemPermissions()) { this.updateData(); } else { @@ -123,6 +115,17 @@ export class CheNavBarController { this.$route.reload(); } + /** + * Returns user nickname. + * @return {string} + */ + getUserName(): string { + const {attributes, email} = this.profile; + const fullName = this.cheAPI.getProfile().getFullName(attributes).trim(); + + return fullName ? fullName : email; + } + /** * Toggle the left menu */ @@ -161,17 +164,24 @@ export class CheNavBarController { return this.organizations.length; } - openLinkInNewTab(url: string): void { - this.$window.open(url, '_blank'); + /** + * Returns number of root organizations. + * + * @return {number} + */ + getRootOrganizationsNumber(): number { + if (!this.organizations) { + return 0; + } + let rootOrganizations = this.organizations.filter((organization: any) => { + return !organization.parent; + }); + + return rootOrganizations.length; } - /** - * Returns true if Keycloak is present. - * - * @returns {boolean} - */ - isKeycloakPresent(): boolean { - return this.cheKeycloak.isPresent(); + openLinkInNewTab(url: string): void { + this.$window.open(url, '_blank'); } /** diff --git a/dashboard/src/app/navbar/navbar.html b/dashboard/src/app/navbar/navbar.html index 9376750635..cd5629df52 100644 --- a/dashboard/src/app/navbar/navbar.html +++ b/dashboard/src/app/navbar/navbar.html @@ -123,8 +123,7 @@
+ layout="column" layout-align="end stretch" flex>