From ff33642709d7d6d3953ca8e6ce11fe4ba4a56593 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 18 Jun 2018 10:29:17 +0200 Subject: Prevent commenting twice --- .../+video-watch/comment/video-comment-add.component.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'client/src/app/videos/+video-watch/comment/video-comment-add.component.ts') diff --git a/client/src/app/videos/+video-watch/comment/video-comment-add.component.ts b/client/src/app/videos/+video-watch/comment/video-comment-add.component.ts index 46d7a4e9e..9998685e8 100644 --- a/client/src/app/videos/+video-watch/comment/video-comment-add.component.ts +++ b/client/src/app/videos/+video-watch/comment/video-comment-add.component.ts @@ -27,6 +27,8 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit { @ViewChild('textarea') private textareaElement: ElementRef + private addingComment = false + constructor ( protected formValidatorService: FormValidatorService, private videoCommentValidatorsService: VideoCommentValidatorsService, @@ -66,6 +68,11 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit { } formValidated () { + // If we validate very quickly the comment form, we might comment twice + if (this.addingComment) return + + this.addingComment = true + const commentCreate: VideoCommentCreate = this.form.value let obs: Observable @@ -77,11 +84,16 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit { obs.subscribe( comment => { + this.addingComment = false this.commentCreated.emit(comment) this.form.reset() }, - err => this.notificationsService.error(this.i18n('Error'), err.text) + err => { + this.addingComment = false + + this.notificationsService.error(this.i18n('Error'), err.text) + } ) } -- cgit v1.2.3