})
export class VideoWatchComponent implements OnInit, CanDeactivate {
- video: Video;
downloadSpeed: number;
- uploadSpeed: number;
- numPeers: number;
loading: boolean = false;
+ numPeers: number;
+ uploadSpeed: number;
+ video: Video;
- private interval: NodeJS.Timer;
private client: any;
+ private interval: NodeJS.Timer;
constructor(
- private videoService: VideoService,
+ private elementRef: ElementRef,
private routeParams: RouteParams,
- private elementRef: ElementRef
+ private videoService: VideoService
) {
// TODO: use a service
this.client = new WebTorrent({ dht: false });
}
- ngOnInit() {
- let id = this.routeParams.get('id');
- this.videoService.getVideo(id).subscribe(
- video => this.loadVideo(video),
- error => alert(error)
- );
- }
-
loadVideo(video: Video) {
this.loading = true;
this.video = video;
// Refresh each second
this.interval = setInterval(() => {
this.downloadSpeed = torrent.downloadSpeed;
- this.uploadSpeed = torrent.uploadSpeed;
this.numPeers = torrent.numPeers;
+ this.uploadSpeed = torrent.uploadSpeed;
}, 1000);
});
}
+ ngOnInit() {
+ let id = this.routeParams.get('id');
+ this.videoService.getVideo(id).subscribe(
+ video => this.loadVideo(video),
+ error => alert(error)
+ );
+ }
+
routerCanDeactivate(next: ComponentInstruction, prev: ComponentInstruction) {
console.log('Removing video from webtorrent.');
clearInterval(this.interval);