From 6725d05c5f71e0cdf0deba6692220b73e42e7ffa Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 20 Dec 2017 17:53:58 +0100 Subject: [PATCH] Add ability to remove a video on watch page --- .../+video-watch/video-watch.component.html | 6 +++++ .../+video-watch/video-watch.component.ts | 26 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/client/src/app/videos/+video-watch/video-watch.component.html b/client/src/app/videos/+video-watch/video-watch.component.html index e3214a331..e9ca336dd 100644 --- a/client/src/app/videos/+video-watch/video-watch.component.html +++ b/client/src/app/videos/+video-watch/video-watch.component.html @@ -49,6 +49,12 @@ Blacklist + +
  • + + Delete + +
  • diff --git a/client/src/app/videos/+video-watch/video-watch.component.ts b/client/src/app/videos/+video-watch/video-watch.component.ts index adb698e99..df4cfa666 100644 --- a/client/src/app/videos/+video-watch/video-watch.component.ts +++ b/client/src/app/videos/+video-watch/video-watch.component.ts @@ -221,6 +221,32 @@ export class VideoWatchComponent implements OnInit, OnDestroy { return this.video.tags.join(', ') } + isVideoRemovable () { + return this.video.isRemovableBy(this.authService.getUser()) + } + + removeVideo (event: Event) { + event.preventDefault() + + this.confirmService.confirm('Do you really want to delete this video?', 'Delete').subscribe( + res => { + if (res === false) return + + this.videoService.removeVideo(this.video.id) + .subscribe( + status => { + this.notificationsService.success('Success', `Video ${this.video.name} deleted.`) + + // Go back to the video-list. + this.router.navigate([ '/videos/list' ]) + }, + + error => this.notificationsService.error('Error', error.text) + ) + } + ) + } + private updateVideoDescription (description: string) { this.video.description = description this.setVideoDescriptionHTML()