2 <div class=
"title-block">
3 <div class=
"title-page title-page-single">
4 <ng-container *
ngIf=
"comments.length > 0; then hasComments; else noComments"></ng-container>
5 <ng-template #hasComments
>
6 <ng-container i18n *
ngIf=
"comments.length === 1; else manyComments">1 Comment
</ng-container>
7 <ng-template i18n #manyComments
>{{ comments.length }} Comments
</ng-template>
9 <ng-template i18n #noComments
>Comments
</ng-template>
12 <my-feed [syndicationItems]=
"syndicationItems"></my-feed>
14 <div ngbDropdown
class=
"d-inline-block ml-4">
15 <button class=
"btn btn-sm btn-outline-secondary" id=
"dropdownSortComments" ngbDropdownToggle i18n
>
18 <div ngbDropdownMenu
aria-labelledby=
"dropdownSortComments">
19 <button (click)=
"handleSortChange('-createdAt')" ngbDropdownItem i18n
>Most recent first (default)
</button>
20 <button (click)=
"handleSortChange('-totalReplies')" ngbDropdownItem i18n
>Most replies first
</button>
25 <ng-template [ngIf]=
"video.commentsEnabled === true">
29 (commentCreated)=
"onCommentThreadCreated($event)"
30 ></my-video-comment-add>
32 <div *
ngIf=
"componentPagination.totalItems === 0 && comments.length === 0" i18n
>No comments.
</div>
35 class=
"comment-threads"
38 (nearOfBottom)=
"onNearOfBottom()"
39 [dataObservable]=
"onDataSubject.asObservable()"
41 <div #commentHighlightBlock
id=
"highlighted-comment">
43 *
ngIf=
"highlightedThread"
44 [comment]=
"highlightedThread"
46 [inReplyToCommentId]=
"inReplyToCommentId"
47 [commentTree]=
"threadComments[highlightedThread.id]"
48 [highlightedComment]=
"true"
49 (wantedToReply)=
"onWantedToReply($event)"
50 (wantedToDelete)=
"onWantedToDelete($event)"
51 (threadCreated)=
"onThreadCreated($event)"
52 (resetReply)=
"onResetReply()"
53 (timestampClicked)=
"handleTimestampClicked($event)"
57 <div *
ngFor=
"let comment of comments">
59 *
ngIf=
"!highlightedThread || comment.id !== highlightedThread.id"
62 [inReplyToCommentId]=
"inReplyToCommentId"
63 [commentTree]=
"threadComments[comment.id]"
64 (wantedToReply)=
"onWantedToReply($event)"
65 (wantedToDelete)=
"onWantedToDelete($event)"
66 (threadCreated)=
"onThreadCreated($event)"
67 (resetReply)=
"onResetReply()"
68 (timestampClicked)=
"handleTimestampClicked($event)"
71 <div *
ngIf=
"comment.totalReplies !== 0 && !threadComments[comment.id]" (click)=
"viewReplies(comment.id)" class=
"view-replies">
72 <ng-container i18n
>View all {{ comment.totalReplies }} replies
</ng-container>
74 <span *
ngIf=
"!threadLoading[comment.id]" class=
"glyphicon glyphicon-menu-down"></span>
75 <my-small-loader class=
"comment-thread-loading" [loading]=
"threadLoading[comment.id]"></my-small-loader>
81 <div *
ngIf=
"video.commentsEnabled === false" i18n
>
82 Comments are disabled.