X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fvideos%2F%2Bvideo-watch%2Fcomment%2Fvideo-comments.component.ts;h=711a01ba0acfa70979cfedecca765bd86df98237;hb=244e76a552ef05a5067134b1065d26dd89246d8c;hp=aada9554d77d53830a6ca9699d1d360c1578d814;hpb=1263fc4e6eff9ba4bf4c706c6e37c2e556bf8eb5;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/videos/+video-watch/comment/video-comments.component.ts b/client/src/app/videos/+video-watch/comment/video-comments.component.ts index aada9554d..711a01ba0 100644 --- a/client/src/app/videos/+video-watch/comment/video-comments.component.ts +++ b/client/src/app/videos/+video-watch/comment/video-comments.component.ts @@ -22,7 +22,7 @@ export class VideoCommentsComponent implements OnInit, OnChanges, OnDestroy { @Input() user: User comments: VideoComment[] = [] - highlightedComment: VideoComment + highlightedThread: VideoComment sort: SortField = '-createdAt' componentPagination: ComponentPagination = { currentPage: 1, @@ -47,9 +47,9 @@ export class VideoCommentsComponent implements OnInit, OnChanges, OnDestroy { // Find highlighted comment in params this.sub = this.activatedRoute.params.subscribe( params => { - if (params['commentId']) { - const highlightedCommentId = +params['commentId'] - this.processHighlightedComment(highlightedCommentId) + if (params['threadId']) { + const highlightedThreadId = +params['threadId'] + this.processHighlightedThread(highlightedThreadId) } } ) @@ -65,7 +65,7 @@ export class VideoCommentsComponent implements OnInit, OnChanges, OnDestroy { if (this.sub) this.sub.unsubscribe() } - viewReplies (commentId: number, highlightComment = false) { + viewReplies (commentId: number, highlightThread = false) { this.threadLoading[commentId] = true this.videoCommentService.getVideoThreadComments(this.video.id, commentId) @@ -74,7 +74,7 @@ export class VideoCommentsComponent implements OnInit, OnChanges, OnDestroy { this.threadComments[commentId] = res this.threadLoading[commentId] = false - if (highlightComment) this.highlightedComment = new VideoComment(res.comment) + if (highlightThread) this.highlightedThread = new VideoComment(res.comment) }, err => this.notificationsService.error('Error', err.message) @@ -109,38 +109,35 @@ export class VideoCommentsComponent implements OnInit, OnChanges, OnDestroy { this.viewReplies(commentTree.comment.id) } - onWantedToDelete (commentToDelete: VideoComment) { + async onWantedToDelete (commentToDelete: VideoComment) { let message = 'Do you really want to delete this comment?' if (commentToDelete.totalReplies !== 0) message += `${commentToDelete.totalReplies} would be deleted too.` - this.confirmService.confirm(message, 'Delete').subscribe( - res => { - if (res === false) return - - this.videoCommentService.deleteVideoComment(commentToDelete.videoId, commentToDelete.id) - .subscribe( - () => { - // Delete the comment in the tree - if (commentToDelete.inReplyToCommentId) { - const thread = this.threadComments[commentToDelete.threadId] - if (!thread) { - console.error(`Cannot find thread ${commentToDelete.threadId} of the comment to delete ${commentToDelete.id}`) - return - } - - this.deleteLocalCommentThread(thread, commentToDelete) - return - } - - // Delete the thread - this.comments = this.comments.filter(c => c.id !== commentToDelete.id) - this.componentPagination.totalItems-- - }, - - err => this.notificationsService.error('Error', err.message) - ) - } - ) + const res = await this.confirmService.confirm(message, 'Delete') + if (res === false) return + + this.videoCommentService.deleteVideoComment(commentToDelete.videoId, commentToDelete.id) + .subscribe( + () => { + // Delete the comment in the tree + if (commentToDelete.inReplyToCommentId) { + const thread = this.threadComments[commentToDelete.threadId] + if (!thread) { + console.error(`Cannot find thread ${commentToDelete.threadId} of the comment to delete ${commentToDelete.id}`) + return + } + + this.deleteLocalCommentThread(thread, commentToDelete) + return + } + + // Delete the thread + this.comments = this.comments.filter(c => c.id !== commentToDelete.id) + this.componentPagination.totalItems-- + }, + + err => this.notificationsService.error('Error', err.message) + ) } isUserLoggedIn () { @@ -180,7 +177,7 @@ export class VideoCommentsComponent implements OnInit, OnChanges, OnDestroy { private resetVideo () { if (this.video.commentsEnabled === true) { // Reset all our fields - this.highlightedComment = null + this.highlightedThread = null this.comments = [] this.threadComments = {} this.threadLoading = {} @@ -192,10 +189,10 @@ export class VideoCommentsComponent implements OnInit, OnChanges, OnDestroy { } } - private processHighlightedComment (highlightedCommentId: number) { - this.highlightedComment = this.comments.find(c => c.id === highlightedCommentId) + private processHighlightedThread (highlightedThreadId: number) { + this.highlightedThread = this.comments.find(c => c.id === highlightedThreadId) - const highlightComment = true - this.viewReplies(highlightedCommentId, highlightComment) + const highlightThread = true + this.viewReplies(highlightedThreadId, highlightThread) } }