aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/angular/videos/components/list/video-miniature.component.ts
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2016-05-21 18:03:34 +0200
committerChocobozzz <florian.bigard@gmail.com>2016-05-21 18:08:23 +0200
commit501bc6c2b186f6a724a5b619d15aa44791f13995 (patch)
tree4a6e1d244c5f94305a25b6ec6f50f1a71ce9295d /client/angular/videos/components/list/video-miniature.component.ts
parent295ba044afc394ef51dac22263063670362787ec (diff)
downloadPeerTube-501bc6c2b186f6a724a5b619d15aa44791f13995.tar.gz
PeerTube-501bc6c2b186f6a724a5b619d15aa44791f13995.tar.zst
PeerTube-501bc6c2b186f6a724a5b619d15aa44791f13995.zip
Thumbnail, author and duration support in client
Diffstat (limited to 'client/angular/videos/components/list/video-miniature.component.ts')
-rw-r--r--client/angular/videos/components/list/video-miniature.component.ts47
1 files changed, 47 insertions, 0 deletions
diff --git a/client/angular/videos/components/list/video-miniature.component.ts b/client/angular/videos/components/list/video-miniature.component.ts
new file mode 100644
index 000000000..383c2c609
--- /dev/null
+++ b/client/angular/videos/components/list/video-miniature.component.ts
@@ -0,0 +1,47 @@
1import { Component, Input, Output, EventEmitter } from '@angular/core';
2import { DatePipe } from '@angular/common';
3import { ROUTER_DIRECTIVES } from '@angular/router-deprecated';
4
5import { Video } from '../../video';
6import { VideosService } from '../../videos.service';
7import { User } from '../../../users/models/user';
8
9@Component({
10 selector: 'my-video-miniature',
11 styleUrls: [ 'app/angular/videos/components/list/video-miniature.component.css' ],
12 templateUrl: 'app/angular/videos/components/list/video-miniature.component.html',
13 directives: [ ROUTER_DIRECTIVES ],
14 pipes: [ DatePipe ]
15})
16
17export class VideoMiniatureComponent {
18 @Output() removed = new EventEmitter<any>();
19
20 @Input() video: Video;
21 @Input() user: User;
22
23 hovering: boolean = false;
24
25 constructor(private _videosService: VideosService) {}
26
27 onHover() {
28 this.hovering = true;
29 }
30
31 onBlur() {
32 this.hovering = false;
33 }
34
35 displayRemoveIcon(): boolean {
36 return this.hovering && this.video.isRemovableBy(this.user);
37 }
38
39 removeVideo(id: string) {
40 if (confirm('Do you really want to remove this video?')) {
41 this._videosService.removeVideo(id).subscribe(
42 status => this.removed.emit(true),
43 error => alert(error)
44 );
45 }
46 }
47}