diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2016-05-27 16:23:10 +0200 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2016-05-27 16:23:10 +0200 |
commit | 41a2aee38cf812510010da09de9bae53590ec119 (patch) | |
tree | 79d55d6ae0ef6f66ccb88890cf1ef1946dc65fb4 /client/app/videos/video-list/video-miniature.component.ts | |
parent | 157cb9c9713e08ff70078660a32dd77ecb87eabc (diff) | |
download | PeerTube-41a2aee38cf812510010da09de9bae53590ec119.tar.gz PeerTube-41a2aee38cf812510010da09de9bae53590ec119.tar.zst PeerTube-41a2aee38cf812510010da09de9bae53590ec119.zip |
Follow the angular styleguide for the directories structure
Diffstat (limited to 'client/app/videos/video-list/video-miniature.component.ts')
-rw-r--r-- | client/app/videos/video-list/video-miniature.component.ts | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/client/app/videos/video-list/video-miniature.component.ts b/client/app/videos/video-list/video-miniature.component.ts new file mode 100644 index 000000000..817636768 --- /dev/null +++ b/client/app/videos/video-list/video-miniature.component.ts | |||
@@ -0,0 +1,46 @@ | |||
1 | import { DatePipe } from '@angular/common'; | ||
2 | import { Component, Input, Output, EventEmitter } from '@angular/core'; | ||
3 | import { ROUTER_DIRECTIVES } from '@angular/router-deprecated'; | ||
4 | |||
5 | import { Video, VideoService } from '../shared/index'; | ||
6 | import { User } from '../../users/index'; | ||
7 | |||
8 | @Component({ | ||
9 | selector: 'my-video-miniature', | ||
10 | styleUrls: [ 'client/app/videos/video-list/video-miniature.component.css' ], | ||
11 | templateUrl: 'client/app/videos/video-list/video-miniature.component.html', | ||
12 | directives: [ ROUTER_DIRECTIVES ], | ||
13 | pipes: [ DatePipe ] | ||
14 | }) | ||
15 | |||
16 | export class VideoMiniatureComponent { | ||
17 | @Output() removed = new EventEmitter<any>(); | ||
18 | |||
19 | @Input() video: Video; | ||
20 | @Input() user: User; | ||
21 | |||
22 | hovering: boolean = false; | ||
23 | |||
24 | constructor(private _videoService: VideoService) {} | ||
25 | |||
26 | onHover() { | ||
27 | this.hovering = true; | ||
28 | } | ||
29 | |||
30 | onBlur() { | ||
31 | this.hovering = false; | ||
32 | } | ||
33 | |||
34 | displayRemoveIcon(): boolean { | ||
35 | return this.hovering && this.video.isRemovableBy(this.user); | ||
36 | } | ||
37 | |||
38 | removeVideo(id: string) { | ||
39 | if (confirm('Do you really want to remove this video?')) { | ||
40 | this._videoService.removeVideo(id).subscribe( | ||
41 | status => this.removed.emit(true), | ||
42 | error => alert(error) | ||
43 | ); | ||
44 | } | ||
45 | } | ||
46 | } | ||