X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fvideos%2F%2Bvideo-watch%2Fcomment%2Fvideo-comment-add.component.ts;h=1be96ad9e85b5d96551db98254e21fc01a810271;hb=3f9c4955af81702591a6eeb2069f99faf0d2814d;hp=b374ed7d56e1a8a3a376658153ab7d5299ea4d95;hpb=040a506bcf93ba6bfa100f9b3e8847ef65cfbeab;p=github%2FChocobozzz%2FPeerTube.git 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 b374ed7d5..1be96ad9e 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 @@ -1,6 +1,6 @@ import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core' import { Router } from '@angular/router' -import { NotificationsService } from 'angular2-notifications' +import { Notifier } from '@app/core' import { Observable } from 'rxjs' import { VideoCommentCreate } from '../../../../../../shared/models/videos/video-comment.model' import { FormReactive } from '../../../shared' @@ -8,7 +8,6 @@ import { User } from '../../../shared/users' import { Video } from '../../../shared/video/video.model' import { VideoComment } from './video-comment.model' import { VideoCommentService } from './video-comment.service' -import { I18n } from '@ngx-translate/i18n-polyfill' import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service' import { VideoCommentValidatorsService } from '@app/shared/forms/form-validators/video-comment-validators.service' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' @@ -27,21 +26,21 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit { @Input() focusOnInit = false @Output() commentCreated = new EventEmitter() + @Output() cancel = new EventEmitter() - @ViewChild('visitorModal') visitorModal: NgbModal - @ViewChild('textarea') private textareaElement: ElementRef + @ViewChild('visitorModal', { static: true }) visitorModal: NgbModal + @ViewChild('textarea', { static: true }) textareaElement: ElementRef - private addingComment = false + addingComment = false constructor ( protected formValidatorService: FormValidatorService, private videoCommentValidatorsService: VideoCommentValidatorsService, - private notificationsService: NotificationsService, + private notifier: Notifier, private videoCommentService: VideoCommentService, private authService: AuthService, private modalService: NgbModal, - private router: Router, - private i18n: I18n + private router: Router ) { super() } @@ -51,8 +50,6 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit { text: this.videoCommentValidatorsService.VIDEO_COMMENT_TEXT }) - this.uri = this.router.url - if (this.user) { if (this.focusOnInit === true) { this.textareaElement.nativeElement.focus() @@ -72,13 +69,13 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit { } onValidKey () { - this.onValueChanged() + this.check() if (!this.form.valid) return this.formValidated() } - openVisitorModal (event) { + openVisitorModal (event: any) { if (this.user === null) { // we only open it for visitors // fixing ng-bootstrap ModalService and the "Expression Changed After It Has Been Checked" Error event.srcElement.blur() @@ -117,7 +114,7 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit { err => { this.addingComment = false - this.notificationsService.error(this.i18n('Error'), err.text) + this.notifier.error(err.text) } ) } @@ -126,7 +123,7 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit { return this.form.value['text'] } - getUrl () { + getUri () { return window.location.href } @@ -137,10 +134,13 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit { gotoLogin () { this.hideVisitorModal() - this.authService.redirectUrl = this.router.url this.router.navigate([ '/login' ]) } + cancelCommentReply () { + this.cancel.emit(null) + } + private addCommentReply (commentCreate: VideoCommentCreate) { return this.videoCommentService .addCommentReply(this.video.id, this.parentComment.id, commentCreate)