1
0
Fork 0

Add ability to remove a video on watch page

This commit is contained in:
Chocobozzz 2017-12-20 17:53:58 +01:00
parent 5f0805d39b
commit 6725d05c5f
No known key found for this signature in database
GPG key ID: 583A612D890159BE
2 changed files with 32 additions and 0 deletions

View file

@ -49,6 +49,12 @@
<span class="icon icon-blacklist"></span> Blacklist <span class="icon icon-blacklist"></span> Blacklist
</a> </a>
</li> </li>
<li *ngIf="isVideoRemovable()" role="menuitem">
<a class="dropdown-item" title="Delete this video" href="#" (click)="removeVideo($event)">
<span class="icon icon-blacklist"></span> Delete
</a>
</li>
</ul> </ul>
</div> </div>
</div> </div>

View file

@ -221,6 +221,32 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
return this.video.tags.join(', ') 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) { private updateVideoDescription (description: string) {
this.video.description = description this.video.description = description
this.setVideoDescriptionHTML() this.setVideoDescriptionHTML()