X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fangular%2Fvideos%2Fcomponents%2Fwatch%2Fvideos-watch.component.ts;h=3eb005d07b4debd23ca197fa8a646729703fe10f;hb=471bc22f19767c1cb1e7ba7ad0ddf0ff5f0e88f4;hp=da7f942db4135fe865135eff0b37e11c8fc7dd3b;hpb=98b01bac2c2c4536aa97d826b61516657f4d15f5;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/angular/videos/components/watch/videos-watch.component.ts b/client/angular/videos/components/watch/videos-watch.component.ts index da7f942db..3eb005d07 100644 --- a/client/angular/videos/components/watch/videos-watch.component.ts +++ b/client/angular/videos/components/watch/videos-watch.component.ts @@ -1,23 +1,28 @@ -/// - -import { Component, OnInit, ElementRef } from 'angular2/core'; -import { RouteParams, CanDeactivate, ComponentInstruction } from 'angular2/router'; +import { Component, OnInit, ElementRef } from '@angular/core'; +import { RouteParams, CanDeactivate, ComponentInstruction } from '@angular/router-deprecated'; +import { BytesPipe } from 'angular-pipes/src/math/bytes.pipe'; // TODO import it with systemjs declare var WebTorrent: any; -import { Video } from '../../models/video'; -import { VideosService } from '../../services/videos.service'; +import { Video } from '../../video'; +import { VideosService } from '../../videos.service'; @Component({ selector: 'my-video-watch', templateUrl: 'app/angular/videos/components/watch/videos-watch.component.html', - styleUrls: [ 'app/angular/videos/components/watch/videos-watch.component.css' ] + styleUrls: [ 'app/angular/videos/components/watch/videos-watch.component.css' ], + pipes: [ BytesPipe ] }) export class VideosWatchComponent implements OnInit, CanDeactivate { video: Video; + downloadSpeed: number; + uploadSpeed: number; + numPeers: number; + loading: boolean = false; + private _interval: NodeJS.Timer; private client: any; constructor( @@ -38,20 +43,31 @@ export class VideosWatchComponent implements OnInit, CanDeactivate { } loadVideo(video: Video) { + this.loading = true; this.video = video; - + console.log('Adding ' + this.video.magnetUri + '.'); this.client.add(this.video.magnetUri, (torrent) => { - torrent.files[0].appendTo(this._elementRef.nativeElement, (err) => { + this.loading = false; + console.log('Added ' + this.video.magnetUri + '.'); + torrent.files[0].appendTo(this._elementRef.nativeElement.querySelector('.embed-responsive'), (err) => { if (err) { alert('Cannot append the file.'); console.error(err); } - }) - }) + }); + + // Refresh each second + this._interval = setInterval(() => { + this.downloadSpeed = torrent.downloadSpeed; + this.uploadSpeed = torrent.uploadSpeed; + this.numPeers = torrent.numPeers; + }, 1000); + }); } routerCanDeactivate(next: ComponentInstruction, prev: ComponentInstruction) : any { console.log('Removing video from webtorrent.'); + clearInterval(this._interval); this.client.remove(this.video.magnetUri); return true; }