X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fvideos%2Fvideo-list%2Fvideo-miniature.component.ts;h=ba47155972a08d2b24cce7290b488b9da3a2342d;hb=5769e1db8d3d5a1e3baa8dff23090cfe93d48a50;hp=639339b445fd6802fc557896c8ec5c92cffefea4;hpb=4a6995be18b15de1834a39c8921a0e4109671bb6;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/videos/video-list/video-miniature.component.ts b/client/src/app/videos/video-list/video-miniature.component.ts index 639339b44..ba4715597 100644 --- a/client/src/app/videos/video-list/video-miniature.component.ts +++ b/client/src/app/videos/video-list/video-miniature.component.ts @@ -1,27 +1,31 @@ -import { DatePipe } from '@angular/common'; import { Component, Input, Output, EventEmitter } from '@angular/core'; -import { ROUTER_DIRECTIVES } from '@angular/router-deprecated'; -import { Video, VideoService } from '../shared'; +import { NotificationsService } from 'angular2-notifications'; + +import { ConfirmService } from '../../core'; +import { SortField, Video, VideoService } from '../shared'; import { User } from '../../shared'; @Component({ selector: 'my-video-miniature', - styles: [ require('./video-miniature.component.scss') ], - template: require('./video-miniature.component.html'), - directives: [ ROUTER_DIRECTIVES ], - pipes: [ DatePipe ] + styleUrls: [ './video-miniature.component.scss' ], + templateUrl: './video-miniature.component.html' }) export class VideoMiniatureComponent { @Output() removed = new EventEmitter(); + @Input() currentSort: SortField; @Input() user: User; @Input() video: Video; hovering = false; - constructor(private videoService: VideoService) {} + constructor( + private notificationsService: NotificationsService, + private confirmService: ConfirmService, + private videoService: VideoService + ) {} displayRemoveIcon() { return this.hovering && this.video.isRemovableBy(this.user); @@ -36,11 +40,16 @@ export class VideoMiniatureComponent { } removeVideo(id: string) { - if (confirm('Do you really want to remove this video?')) { - this.videoService.removeVideo(id).subscribe( - status => this.removed.emit(true), - error => alert(error) - ); - } + this.confirmService.confirm('Do you really want to delete this video?', 'Delete').subscribe( + res => { + if (res === false) return; + + this.videoService.removeVideo(id).subscribe( + status => this.removed.emit(true), + + error => this.notificationsService.error('Error', error.text) + ); + } + ); } }