215 lines
6.3 KiB
TypeScript
215 lines
6.3 KiB
TypeScript
/** @file
|
|
* @author Edouard DUPIN
|
|
* @copyright 2018, Edouard DUPIN, all right reserved
|
|
* @license PROPRIETARY (see license file)
|
|
*/
|
|
import { Component, OnInit } from '@angular/core';
|
|
import { Router } from '@angular/router';
|
|
import { UserService, SessionService, SSOService, ArianeService } from '../../service';
|
|
|
|
@Component({
|
|
selector: 'app-top-menu',
|
|
templateUrl: './top-menu.html',
|
|
styleUrls: [ './top-menu.less' ]
|
|
})
|
|
export class TopMenuComponent implements OnInit {
|
|
public login: string;// Session.getLogin();
|
|
public avatar: string;// Session.getAvatar();
|
|
public displayUserMenu: boolean = false;
|
|
public displayEditMenu: boolean = false;
|
|
|
|
public arianeTypeId: number = null;
|
|
public arianeTypeName: string = null;
|
|
|
|
public arianeUniverseId: number = null;
|
|
public arianeUniverseName: string = null;
|
|
|
|
public arianeSeriesId: number = null;
|
|
public arianeSeriesName: string = null;
|
|
|
|
public arianeSeasonId: number = null;
|
|
public arianeSeasonName: string = null;
|
|
|
|
public arianeVideoId: number = null;
|
|
public arianeVideoName: string = null;
|
|
|
|
public editShow: boolean = false;
|
|
|
|
constructor(private router: Router,
|
|
private sessionService: SessionService,
|
|
private arianeService: ArianeService,
|
|
private userService: UserService,
|
|
private ssoService: SSOService) {
|
|
|
|
}
|
|
|
|
ngOnInit() {
|
|
let self = this;
|
|
this.sessionService.change.subscribe((isConnected) => {
|
|
console.log(`TOP-MENU: receive event from session ...${isConnected}`);
|
|
if(isConnected === false) {
|
|
self.login = undefined;
|
|
self.avatar = undefined;
|
|
self.displayUserMenu = false;
|
|
} else {
|
|
self.updateIsJusteLogged();
|
|
}
|
|
});
|
|
if (this.sessionService.islogged()) {
|
|
this.updateIsJusteLogged();
|
|
}
|
|
this.arianeService.typeChange.subscribe((typeId: number) => {
|
|
this.arianeTypeId = typeId;
|
|
this.arianeTypeName = this.arianeService.getTypeName();
|
|
this.updateEditShow();
|
|
});
|
|
this.arianeService.universeChange.subscribe((universId) => {
|
|
this.arianeUniverseId = universId;
|
|
this.arianeUniverseName = this.arianeService.getUniverseName();
|
|
this.updateEditShow();
|
|
});
|
|
this.arianeService.seriesChange.subscribe((seriesId) => {
|
|
this.arianeSeriesId = seriesId;
|
|
this.arianeSeriesName = this.arianeService.getSeriesName();
|
|
this.updateEditShow();
|
|
});
|
|
this.arianeService.seasonChange.subscribe((seasonId) => {
|
|
this.arianeSeasonId = seasonId;
|
|
this.arianeSeasonName = this.arianeService.getSeasonName();
|
|
this.updateEditShow();
|
|
});
|
|
this.arianeService.videoChange.subscribe((videoId) => {
|
|
this.arianeVideoId = videoId;
|
|
this.arianeVideoName = this.arianeService.getVideoName();
|
|
this.updateEditShow();
|
|
});
|
|
}
|
|
|
|
private updateIsJusteLogged(): void {
|
|
this.login = this.sessionService.getLogin();
|
|
this.avatar = this.sessionService.getAvatar();
|
|
this.displayUserMenu = false;
|
|
console.log(` login:${this.sessionService.getLogin()}`);
|
|
console.log(` avatar:${this.avatar}`);
|
|
|
|
}
|
|
|
|
onAvatar(): void {
|
|
console.log(`onAvatar() ${ this.displayUserMenu}`);
|
|
this.displayUserMenu = !this.displayUserMenu;
|
|
this.displayEditMenu = false;
|
|
}
|
|
|
|
|
|
onHome(event: any): void {
|
|
console.log('onHome()');
|
|
this.router.navigate([ 'home' ]);
|
|
}
|
|
|
|
onSignIn(event: any): void {
|
|
console.log('onSignIn()');
|
|
this.ssoService.requestSignIn();
|
|
}
|
|
|
|
onSignUp(event: any): void {
|
|
console.log('onSignIn()');
|
|
this.ssoService.requestSignUp();
|
|
this.displayUserMenu = false;
|
|
}
|
|
|
|
onLogout(event: any): void {
|
|
console.log('onLogout()');
|
|
this.ssoService.requestSignOut();
|
|
this.userService.logOut();
|
|
this.router.navigate(['home']);
|
|
this.displayUserMenu = false;
|
|
}
|
|
|
|
|
|
onSetting(event: any): void {
|
|
console.log('onSetting()');
|
|
this.router.navigate([ 'settings' ]);
|
|
this.displayUserMenu = false;
|
|
}
|
|
|
|
onHelp(event: any): void {
|
|
console.log('onHelp()');
|
|
this.router.navigate([ 'help' ]);
|
|
this.displayUserMenu = false;
|
|
}
|
|
|
|
onOutUserProperty(): void {
|
|
console.log('onOutUserProperty ==> event...');
|
|
this.displayUserMenu = false;
|
|
this.displayEditMenu = false;
|
|
}
|
|
|
|
onArianeType(event: any): void {
|
|
console.log(`onArianeType(${ this.arianeTypeId })`);
|
|
this.arianeService.navigateType(this.arianeTypeId, event.which === 2);
|
|
}
|
|
|
|
onArianeUniverse(event: any): void {
|
|
console.log(`onArianeUniverse(${ this.arianeUniverseId })`);
|
|
this.arianeService.navigateUniverse(this.arianeUniverseId, event.which === 2);
|
|
}
|
|
|
|
onArianeSeries(event: any): void {
|
|
console.log(`onArianeSeries(${ this.arianeSeriesId })`);
|
|
this.arianeService.navigateSeries(this.arianeSeriesId, event.which === 2);
|
|
}
|
|
|
|
onArianeSeason(event: any): void {
|
|
console.log(`onArianeSeason(${ this.arianeSeasonId })`);
|
|
this.arianeService.navigateSeason(this.arianeSeasonId, event.which === 2);
|
|
}
|
|
|
|
updateEditShow():void {
|
|
this.editShow = /* this.arianeTypeId !== null
|
|
|| this.arianeUniverseId !== null
|
|
||*/ this.arianeSeriesId !== null ||
|
|
this.arianeSeasonId !== null ||
|
|
this.arianeVideoId !== null;
|
|
}
|
|
onEdit(): void {
|
|
console.log('onEdit()');
|
|
this.displayEditMenu = !this.displayEditMenu;
|
|
this.displayUserMenu = false;
|
|
}
|
|
onSubEditVideo(event: any): void {
|
|
console.log('onSubEdit()');
|
|
this.displayEditMenu = false;
|
|
this.displayUserMenu = false;
|
|
this.arianeService.navigateVideoEdit(this.arianeVideoId, event.which === 2);
|
|
}
|
|
onSubEditSeason(event: any): void {
|
|
console.log('onSubEdit()');
|
|
this.displayEditMenu = false;
|
|
this.displayUserMenu = false;
|
|
this.arianeService.navigateSeasonEdit(this.arianeSeasonId, event.which === 2);
|
|
}
|
|
onSubEditSeries(event: any): void {
|
|
console.log('onSubEdit()');
|
|
this.displayEditMenu = false;
|
|
this.displayUserMenu = false;
|
|
this.arianeService.navigateSeriesEdit(this.arianeSeriesId, event.which === 2);
|
|
}
|
|
onSubEditUniverse(event: any): void {
|
|
console.log('onSubEdit()');
|
|
this.displayEditMenu = false;
|
|
this.displayUserMenu = false;
|
|
this.arianeService.navigateUniverseEdit(this.arianeUniverseId, event.which === 2);
|
|
}
|
|
onSubEditType(event: any): void {
|
|
console.log('onSubEditType()');
|
|
this.displayEditMenu = false;
|
|
this.displayUserMenu = false;
|
|
this.arianeService.navigateTypeEdit(this.arianeTypeId, event.which === 2);
|
|
}
|
|
onAddMedia(event: any): void {
|
|
console.log('onAddMedia()');
|
|
this.router.navigate([ 'upload' ]);
|
|
this.displayUserMenu = false;
|
|
}
|
|
}
|