88 lines
2.5 KiB
TypeScript
88 lines
2.5 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 { SeasonService, DataService, SeriesService, ArianeService, AdvancementService } from 'app/service';
|
|
|
|
@Component({
|
|
selector: 'app-season',
|
|
templateUrl: './season.html',
|
|
styleUrls: ['./season.less']
|
|
})
|
|
export class SeasonScene implements OnInit {
|
|
name: string = '';
|
|
seriesName: string = '';
|
|
description: string = '';
|
|
seriesId: number = null;
|
|
cover: string = '';
|
|
covers: Array<string> = [];
|
|
idSeason = -1;
|
|
videosError = '';
|
|
videos = [];
|
|
constructor(
|
|
private seasonService: SeasonService,
|
|
private seriesService: SeriesService,
|
|
private arianeService: ArianeService,
|
|
private dataService: DataService,
|
|
private advancementService: AdvancementService) {
|
|
|
|
}
|
|
|
|
ngOnInit() {
|
|
this.idSeason = this.arianeService.getSeasonId();
|
|
|
|
let self = this;
|
|
this.seasonService.get(this.idSeason)
|
|
.then((response: any) => {
|
|
console.log("Get element ! " + JSON.stringify(response));
|
|
self.name = response.name;
|
|
self.seriesId = response.parentId;
|
|
self.description = response.description;
|
|
if (response.covers === undefined || response.covers === null || response.covers.length === 0) {
|
|
self.cover = null;
|
|
self.covers = [];
|
|
} else {
|
|
self.cover = self.dataService.getCoverUrl(response.covers[0]);
|
|
for (let iii = 0; iii < response.covers.length; iii++) {
|
|
self.covers.push(self.dataService.getCoverUrl(response.covers[iii]));
|
|
}
|
|
}
|
|
self.seriesService.get(self.seriesId)
|
|
.then((response2: any) => {
|
|
self.seriesName = response2.name;
|
|
}).catch((response2: any) => {
|
|
self.seriesName = '';
|
|
});
|
|
}).catch((response3: any) => {
|
|
self.description = '';
|
|
self.name = '???';
|
|
self.seriesName = '';
|
|
self.seriesId = null;
|
|
self.cover = null;
|
|
self.covers = [];
|
|
});
|
|
console.log(`get parameter id: ${this.idSeason}`);
|
|
this.seasonService.getVideo(this.idSeason)
|
|
.then((response4: any) => {
|
|
self.videosError = '';
|
|
self.videos = response4;
|
|
}).catch((response5: any) => {
|
|
self.videosError = 'Can not get the List of video without season';
|
|
self.videos = [];
|
|
});
|
|
}
|
|
|
|
onSelectVideo(event: any, idSelected: number): void {
|
|
if (event.ctrlKey && event.altKey && event.which === 2) {
|
|
// special feature ==> add count id...
|
|
this.advancementService.updateTime(idSelected, 0, 1, true);
|
|
} else {
|
|
this.arianeService.navigateVideo(idSelected, event.which === 2, event.ctrlKey);
|
|
}
|
|
}
|
|
}
|