aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/app')
-rw-r--r--client/src/app/videos/+video-watch/comment/video-comment-add.component.ts14
1 files changed, 13 insertions, 1 deletions
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 {
27 27
28 @ViewChild('textarea') private textareaElement: ElementRef 28 @ViewChild('textarea') private textareaElement: ElementRef
29 29
30 private addingComment = false
31
30 constructor ( 32 constructor (
31 protected formValidatorService: FormValidatorService, 33 protected formValidatorService: FormValidatorService,
32 private videoCommentValidatorsService: VideoCommentValidatorsService, 34 private videoCommentValidatorsService: VideoCommentValidatorsService,
@@ -66,6 +68,11 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit {
66 } 68 }
67 69
68 formValidated () { 70 formValidated () {
71 // If we validate very quickly the comment form, we might comment twice
72 if (this.addingComment) return
73
74 this.addingComment = true
75
69 const commentCreate: VideoCommentCreate = this.form.value 76 const commentCreate: VideoCommentCreate = this.form.value
70 let obs: Observable<any> 77 let obs: Observable<any>
71 78
@@ -77,11 +84,16 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit {
77 84
78 obs.subscribe( 85 obs.subscribe(
79 comment => { 86 comment => {
87 this.addingComment = false
80 this.commentCreated.emit(comment) 88 this.commentCreated.emit(comment)
81 this.form.reset() 89 this.form.reset()
82 }, 90 },
83 91
84 err => this.notificationsService.error(this.i18n('Error'), err.text) 92 err => {
93 this.addingComment = false
94
95 this.notificationsService.error(this.i18n('Error'), err.text)
96 }
85 ) 97 )
86 } 98 }
87 99