<img [src]="getAvatarUrl()" alt="Avatar" />
<div class="form-group">
- <textarea i18n-placeholder placeholder="Add comment..." myAutoResize [readonly]="(user === null) ? true : false"
- (click)="openVisitorModal($event)" formControlName="text" [ngClass]="{ 'input-error': formErrors['text'] }"
- (keyup.control.enter)="onValidKey()" (keyup.meta.enter)="onValidKey()" #textarea>
+ <textarea i18n-placeholder placeholder="Add comment..." myAutoResize
+ [readonly]="(user === null) ? true : false"
+ (click)="openVisitorModal($event)"
+ formControlName="text" [ngClass]="{ 'input-error': formErrors['text'] }"
+ (keyup.control.enter)="onValidKey()" (keyup.meta.enter)="onValidKey()" #textarea>
</textarea>
- <my-help class="markdown-guide" helpType="custom" iconName="markdown" i18n-title title="Markdown compatible">
+ <my-help class="markdown-guide" helpType="custom" iconName="markdown" tooltipPlacement="left auto" i18n-title title="Markdown compatible">
<ng-template ptTemplate="customHtml">
<span i18n>Markdown compatible that supports:</span>
<li>
<span i18n>Emoji markup</span>
<code>:smile:</code>
+ <div><a href="" (click)="openEmojiModal($event)" i18n>See complete list</a></div>
</li>
</ul>
</ng-template>
<ng-template #visitorModal let-modal>
<div class="modal-header">
<h4 class="modal-title" id="modal-basic-title" i18n>You are one step away from commenting</h4>
- <my-global-icon iconName="cross" aria-label="Close" role="button" (click)="hideVisitorModal()"></my-global-icon>
+ <my-global-icon iconName="cross" aria-label="Close" role="button" (click)="hideModals()"></my-global-icon>
</div>
<div class="modal-body">
<span i18n>
<div class="modal-footer inputs">
<input
type="button" role="button" i18n-value value="Cancel" class="action-button action-button-cancel"
- (click)="hideVisitorModal()" (key.enter)="hideVisitorModal()"
+ (click)="hideModals()" (key.enter)="hideModals()"
>
<input
>
</div>
</ng-template>
+
+<ng-template #emojiModal>
+ <div class="modal-header">
+ <h4 class="modal-title" id="modal-basic-title" i18n>Markdown Emoji List</h4>
+ <my-global-icon iconName="cross" aria-label="Close" role="button" (click)="hideModals()"></my-global-icon>
+ </div>
+ <div class="modal-body">
+ <table class="table-emoji" *ngFor="let emojiMarkup of emojiMarkupList | keyvalue">
+ <tr>
+ <td>
+ <span>{{ emojiMarkup.value }}</span>
+ </td>
+ <td>
+ <code>:{{ emojiMarkup.key }}:</code>
+ </td>
+ </tr>
+ </table>
+ </div>
+</ng-template>
@Output() cancel = new EventEmitter()
@ViewChild('visitorModal', { static: true }) visitorModal: NgbModal
+ @ViewChild('emojiModal', { static: true }) emojiModal: NgbModal
@ViewChild('textarea', { static: true }) textareaElement: ElementRef
addingComment = false
super()
}
+ get emojiMarkupList () {
+ const emojiMarkup = require('markdown-it-emoji/lib/data/light.json')
+
+ return emojiMarkup
+ }
+
ngOnInit () {
this.buildForm({
text: this.videoCommentValidatorsService.VIDEO_COMMENT_TEXT
}
}
- hideVisitorModal () {
+ openEmojiModal (event: any) {
+ event.preventDefault()
+ this.modalService.open(this.emojiModal, { backdrop: true })
+ }
+
+ hideModals () {
this.modalService.dismissAll()
}
}
gotoLogin () {
- this.hideVisitorModal()
+ this.hideModals()
this.router.navigate([ '/login' ])
}