X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2F%2Bvideos%2F%2Bvideo-watch%2Fcomment%2Fvideo-comment-add.component.ts;h=f1f0dfeba139b7183bd4b48eaf109beb511e00ee;hb=62bc0352d9d465ce9d7c3e074b1b60bf99155e24;hp=fa20ec3b9db8a3df388ded3ebefeb50a40a0b0d1;hpb=93e903ac165eed918986e415127d6ea9730e572c;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 fa20ec3b9..f1f0dfeba 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 @@ -2,8 +2,9 @@ import { Observable } from 'rxjs' import { Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core' import { Router } from '@angular/router' import { Notifier, User } from '@app/core' -import { FormReactive, FormValidatorService, VideoCommentValidatorsService } from '@app/shared/shared-forms' -import { Video } from '@app/shared/shared-main' +import { VIDEO_COMMENT_TEXT_VALIDATOR } from '@app/shared/form-validators/video-comment-validators' +import { FormReactive, FormValidatorService } from '@app/shared/shared-forms' +import { Video, Account } from '@app/shared/shared-main' import { VideoComment, VideoCommentService } from '@app/shared/shared-video-comment' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' import { VideoCommentCreate } from '@shared/models' @@ -33,7 +34,6 @@ export class VideoCommentAddComponent extends FormReactive implements OnChanges, constructor ( protected formValidatorService: FormValidatorService, - private videoCommentValidatorsService: VideoCommentValidatorsService, private notifier: Notifier, private videoCommentService: VideoCommentService, private modalService: NgbModal, @@ -43,14 +43,23 @@ export class VideoCommentAddComponent extends FormReactive implements OnChanges, } get emojiMarkupList () { - const emojiMarkup = require('markdown-it-emoji/lib/data/light.json') + const emojiMarkupObjectList = require('markdown-it-emoji/lib/data/light.json') + + // Populate emoji-markup-list from object to array to avoid keys alphabetical order + const emojiMarkupArrayList = [] + for (const emojiMarkupName in emojiMarkupObjectList) { + if (emojiMarkupName) { + const emoji = emojiMarkupObjectList[emojiMarkupName] + emojiMarkupArrayList.push([emoji, emojiMarkupName]) + } + } - return emojiMarkup + return emojiMarkupArrayList } ngOnInit () { this.buildForm({ - text: this.videoCommentValidatorsService.VIDEO_COMMENT_TEXT + text: VIDEO_COMMENT_TEXT_VALIDATOR }) if (this.user) { @@ -89,7 +98,7 @@ export class VideoCommentAddComponent extends FormReactive implements OnChanges, openEmojiModal (event: any) { event.preventDefault() - this.modalService.open(this.emojiModal, { backdrop: true }) + this.modalService.open(this.emojiModal, { backdrop: true, size: 'lg' }) } hideModals () { @@ -136,7 +145,7 @@ export class VideoCommentAddComponent extends FormReactive implements OnChanges, getAvatarUrl () { if (this.user) return this.user.accountAvatarUrl - return window.location.origin + '/client/assets/images/default-avatar.png' + return Account.GET_DEFAULT_AVATAR_URL() } gotoLogin () { @@ -183,7 +192,11 @@ export class VideoCommentAddComponent extends FormReactive implements OnChanges, this.textareaElement.nativeElement.focus() } + // Scroll to textarea this.textareaElement.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'nearest' }) + + // Use the native textarea autosize according to the text's break lines + this.textareaElement.nativeElement.dispatchEvent(new Event('input')) }) this.form.patchValue({ text })