]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/videos/+video-watch/comment/video-comment-add.component.ts
Handle HTML is comments
[github/Chocobozzz/PeerTube.git] / client / src / app / videos / +video-watch / comment / video-comment-add.component.ts
index 5ad83fc47623fb0b116aeb76a63b061525bb3000..27655eca79c018db8f25b71feaece704faa4633a 100644 (file)
@@ -1,10 +1,11 @@
-import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'
+import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'
 import { FormBuilder, FormGroup } from '@angular/forms'
 import { NotificationsService } from 'angular2-notifications'
 import { Observable } from 'rxjs/Observable'
 import { VideoCommentCreate } from '../../../../../../shared/models/videos/video-comment.model'
 import { FormReactive } from '../../../shared'
 import { VIDEO_COMMENT_TEXT } from '../../../shared/forms/form-validators/video-comment'
+import { User } from '../../../shared/users'
 import { Video } from '../../../shared/video/video.model'
 import { VideoComment } from './video-comment.model'
 import { VideoCommentService } from './video-comment.service'
@@ -15,8 +16,10 @@ import { VideoCommentService } from './video-comment.service'
   styleUrls: ['./video-comment-add.component.scss']
 })
 export class VideoCommentAddComponent extends FormReactive implements OnInit {
+  @Input() user: User
   @Input() video: Video
   @Input() parentComment: VideoComment
+  @Input() focusOnInit = false
 
   @Output() commentCreated = new EventEmitter<VideoCommentCreate>()
 
@@ -28,6 +31,8 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit {
     'text': VIDEO_COMMENT_TEXT.MESSAGES
   }
 
+  @ViewChild('textarea') private textareaElement: ElementRef
+
   constructor (
     private formBuilder: FormBuilder,
     private notificationsService: NotificationsService,
@@ -46,6 +51,10 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit {
 
   ngOnInit () {
     this.buildForm()
+
+    if (this.focusOnInit === true) {
+      this.textareaElement.nativeElement.focus()
+    }
   }
 
   formValidated () {
@@ -66,12 +75,16 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit {
 
       err => this.notificationsService.error('Error', err.text)
     )
-}
+  }
 
   isAddButtonDisplayed () {
     return this.form.value['text']
   }
 
+  getUserAvatarUrl () {
+    return this.user.getAvatarUrl()
+  }
+
   private addCommentReply (commentCreate: VideoCommentCreate) {
     return this.videoCommentService
       .addCommentReply(this.video.id, this.parentComment.id, commentCreate)