blob: e422d988e4ec36273a0cd49431c7b9161220c74f [file] [log] [blame]
import { Component, OnInit, Input } from '@angular/core';
import { SessionContext } from '../../common/session-context';
import { MdDialog, MdDialogConfig } from '@angular/material';
import { LogoutComponent } from '../../dialogs/logout/logout.component';
import { ShiftChangeComponent } from '../../dialogs/shift-change/shift-change.component';
import { MessageService } from '../../services/message.service';
import { Router } from '@angular/router';
@Component({
selector: 'app-main-navigation',
templateUrl: './main-navigation.component.html',
styleUrls: ['./main-navigation.component.css']
})
export class MainNavigationComponent implements OnInit {
private dialogConfig = new MdDialogConfig();
private alertCounter = 0;
constructor(
public sessionContext: SessionContext,
public dialog: MdDialog,
public router: Router,
private messageService: MessageService
) { }
ngOnInit() {
this.dialogConfig.disableClose = true;
}
openDialogLogout() {
this.dialogConfig.data = this;
const dialogRef = this.dialog.open(LogoutComponent, this.dialogConfig);
dialogRef.afterClosed().subscribe(result => {
});
}
openDialogShiftChange( fetchResponsibility: boolean ) {
const dialogRef = this.dialog.open(ShiftChangeComponent, this.dialogConfig);
dialogRef.componentInstance.isFetchingResp = fetchResponsibility;
dialogRef.afterClosed().subscribe(() => this.onDialogShiftClosed( dialogRef.componentInstance.isFetchingResp,
dialogRef.componentInstance.isChangingShift ));
}
onDialogShiftClosed( isFetching: boolean, isChangingShift: boolean ) {
if ( isChangingShift ) {
if ( isFetching ) {
this.sessionContext.setfilterMatrix(null);
this.router.navigate(['logout']);
// this.messageService.respChangedForCurrentUser$.emit(true);
} else {
this.openDialogLogout();
}
}
}
goToSearchPage() {
this.router.navigate(['/search']);
}
setFilterExpansionState() {
this.sessionContext.setFilterExpansionState(!this.sessionContext.filterExpanded);
}
logout() {
this.sessionContext.clearStorage();
}
goToReminderPage() {
this.router.navigate(['/reminders']);
}
goToShiftChangeOverview() {
this.router.navigate(['/shiftChangeOverview']);
}
goToOverview() {
this.router.navigate(['/overview']);
}
}