ngx-admin/src/app/@theme/components/header/header.component.ts

86 lines
2.4 KiB
TypeScript
Raw Normal View History

import { Component, Input, OnInit } from '@angular/core';
import { NbMenuService, NbSidebarService } from '@nebular/theme';
import { NbThemeService } from '@nebular/theme';
import { UserService } from '../../../@core/data/users.service';
@Component({
selector: 'ngx-header',
2017-04-28 15:14:05 +03:00
styleUrls: ['./header.component.scss'],
template: `
<div class="header-container" [class.left]="position === 'normal'" [class.right]="position === 'inverse'">
<a (click)="toggleSidebar()" href="#" class="navigation"><i class="ion-navicon"></i></a>
<div class="logo" (click)="goToHome()">NgX&nbsp;<span>Admin</span></div>
2017-06-07 14:14:57 +03:00
<div class="theme-buttons">
2017-06-13 16:16:52 +03:00
<button class="btn btn-hero-primary" (click)="selectCosmicTheme()">Cosmic</button>
<button class="btn btn-hero-info" (click)="selectDefaultTheme()">Default</button>
2017-06-07 14:14:57 +03:00
</div>
</div>
<nb-actions
size="medium"
class="header-container"
[class.right]="position === 'normal'"
[class.left]="position === 'inverse'">
2017-08-30 17:22:05 +03:00
<nb-action icon="nb-grid-b" class="toggle-layout" (click)="toggleSettings()"></nb-action>
<nb-action>
<nb-user [menu]="userMenu" [name]="user?.name" [picture]="user?.picture"></nb-user>
</nb-action>
<nb-action disabled icon="ion-ios-bell-outline"></nb-action>
<nb-action icon="ion-ios-email-outline"></nb-action>
<nb-action>
<nb-search type="rotate-layout"></nb-search>
</nb-action>
</nb-actions>
`,
})
export class HeaderComponent implements OnInit {
@Input() position: string = 'normal';
user: any;
userMenu = [
{
title: 'Profile',
},
{
title: 'Log out',
},
];
constructor(private sidebarService: NbSidebarService,
private menuService: NbMenuService,
private themeService: NbThemeService,
private userService: UserService) {
}
ngOnInit() {
this.userService.getUsers()
.subscribe((users: any) => this.user = users.nick);
}
2017-06-21 17:34:10 +03:00
toggleSidebar(): boolean {
this.sidebarService.toggle(true, 'menu-sidebar');
return false;
}
toggleSettings(): boolean {
this.sidebarService.toggle(false, 'settings-sidebar');
2017-06-21 17:34:10 +03:00
return false;
}
goToHome() {
this.menuService.navigateHome();
}
2017-04-26 08:59:57 +03:00
2017-06-07 14:14:57 +03:00
selectCosmicTheme() {
this.themeService.changeTheme('cosmic');
}
selectDefaultTheme() {
this.themeService.changeTheme('default');
}
}