--- /dev/null
+<div dropdown>
+ <a dropdownToggle
+ class="dropdown-toggle"
+ data-toggle="dropdown"
+ i18n-title
+ title="Logged in user">
+ <i class="fa fa-user fa-fw"></i>
+ <span class="caret"></span>
+ </a>
+ <ul *dropdownMenu
+ class="dropdown-menu dropdown-menu-right"
+ role="menu">
+ <li class="disabled"
+ role="menuitem">
+ <a i18n
+ class="dropdown-item disabled"
+ href="#">Signed in as
+ <strong>{{ username }}</strong>
+ </a>
+ </li>
+ <li class="divider dropdown-divider"></li>
+ <li role="menuitem">
+ <a class="dropdown-item"
+ (click)="logout()">
+ <i class="fa fa-sign-out fa-fw"></i>
+ <span i18n> Sign out</span>
+ </a>
+ </li>
+ </ul>
+</div>
--- /dev/null
+import { HttpClientTestingModule } from '@angular/common/http/testing';
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { RouterTestingModule } from '@angular/router/testing';
+
+import { configureTestBed } from '../../../../testing/unit-test-helper';
+import { SharedModule } from '../../../shared/shared.module';
+import { IdentityComponent } from './identity.component';
+
+describe('IdentityComponent', () => {
+ let component: IdentityComponent;
+ let fixture: ComponentFixture<IdentityComponent>;
+
+ configureTestBed({
+ imports: [HttpClientTestingModule, SharedModule, RouterTestingModule],
+ declarations: [IdentityComponent]
+ });
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(IdentityComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
--- /dev/null
+import { Component, OnInit } from '@angular/core';
+import { Router } from '@angular/router';
+
+import { AuthService } from '../../../shared/api/auth.service';
+import { AuthStorageService } from '../../../shared/services/auth-storage.service';
+
+@Component({
+ selector: 'cd-identity',
+ templateUrl: './identity.component.html',
+ styleUrls: ['./identity.component.scss']
+})
+export class IdentityComponent implements OnInit {
+ username: string;
+
+ constructor(
+ private router: Router,
+ private authStorageService: AuthStorageService,
+ private authService: AuthService
+ ) {}
+
+ ngOnInit() {
+ this.username = this.authStorageService.getUsername();
+ }
+
+ logout() {
+ this.authService.logout(() => {
+ this.router.navigate(['/login']);
+ });
+ }
+}
import { AdministrationComponent } from './administration/administration.component';
import { BreadcrumbsComponent } from './breadcrumbs/breadcrumbs.component';
import { DashboardHelpComponent } from './dashboard-help/dashboard-help.component';
+import { IdentityComponent } from './identity/identity.component';
import { NavigationComponent } from './navigation/navigation.component';
import { NotificationsComponent } from './notifications/notifications.component';
import { TaskManagerComponent } from './task-manager/task-manager.component';
NotificationsComponent,
TaskManagerComponent,
DashboardHelpComponent,
- AdministrationComponent
+ AdministrationComponent,
+ IdentityComponent
],
exports: [NavigationComponent, BreadcrumbsComponent]
})
<li>
<cd-administration class="oa-navbar"></cd-administration>
</li>
- <li class="tc_logout">
- <cd-logout class="oa-navbar"></cd-logout>
+ <li>
+ <cd-identity class="oa-navbar"></cd-identity>
</li>
</ul>
<!-- /.navbar-utility -->