2 <my-global-icon iconName=
"message-circle" aria-hidden=
"true"></my-global-icon>
3 <ng-container i18n
>Video comments
</ng-container>
5 <my-feed [syndicationItems]=
"syndicationItems"></my-feed>
8 <em i18n
>This view also shows comments from muted accounts.
</em>
11 [value]=
"comments" [paginator]=
"totalRecords > 0" [totalRecords]=
"totalRecords" [rows]=
"rowsPerPage" [first]=
"pagination.start"
12 [rowsPerPageOptions]=
"rowsPerPageOptions" [sortField]=
"sort.field" [sortOrder]=
"sort.order" dataKey=
"id"
13 [lazy]=
"true" (onLazyLoad)=
"loadLazy($event)" [lazyLoadOnInit]=
"false" [selectionPageOnly]=
"true"
14 [showCurrentPageReport]=
"true" i18n-currentPageReportTemplate
15 currentPageReportTemplate=
"Showing {{'{first}'}} to {{'{last}'}} of {{'{totalRecords}'}} comments"
16 [expandedRowKeys]=
"expandedRows" [(selection)]=
"selectedComments"
18 <ng-template pTemplate=
"caption">
22 *
ngIf=
"isInSelectionMode()" i18n-label
label=
"Batch actions" theme=
"orange"
23 [actions]=
"bulkCommentActions" [entry]=
"selectedComments"
28 <div class=
"ms-auto right-form">
29 <my-advanced-input-filter [filters]=
"inputFilters" (search)=
"onSearch($event)"></my-advanced-input-filter>
31 <my-button i18n-label
label=
"Refresh" icon=
"refresh" (click)=
"reloadData()"></my-button>
36 <ng-template pTemplate=
"header">
38 <th style=
"width: 40px;">
39 <p-tableHeaderCheckbox ariaLabel=
"Select all rows" i18n-ariaLabel
></p-tableHeaderCheckbox>
41 <th style=
"width: 40px;"></th>
42 <th style=
"width: 150px;"></th>
43 <th style=
"width: 300px;" i18n
>Account
</th>
44 <th style=
"width: 300px;" i18n
>Video
</th>
46 <th style=
"width: 150px;" i18n
pSortableColumn=
"createdAt">Date
<p-sortIcon field=
"createdAt"></p-sortIcon></th>
50 <ng-template pTemplate=
"body" let-videoComment
let-expanded=
"expanded">
51 <tr [pSelectableRow]=
"videoComment">
53 <td class=
"checkbox-cell">
54 <p-tableCheckbox [value]=
"videoComment" ariaLabel=
"Select this row" i18n-ariaLabel
></p-tableCheckbox>
57 <td class=
"expand-cell" [pRowToggler]=
"videoComment">
58 <my-table-expander-icon i18n-ngbTooltip
ngbTooltip=
"See full comment" [expanded]=
"expanded"></my-table-expander-icon>
61 <td class=
"action-cell">
63 [ngClass]=
"{ 'show': expanded }" placement=
"bottom-right" container=
"body"
64 i18n-label
label=
"Actions" [actions]=
"videoCommentActions" [entry]=
"videoComment"
65 ></my-action-dropdown>
69 <a [href]=
"videoComment.account.localUrl" i18n-title
title=
"Open account in a new tab" target=
"_blank" rel=
"noopener noreferrer">
70 <div class=
"chip two-lines">
71 <my-actor-avatar [actor]=
"videoComment.account" actorType=
"account" size=
"32"></my-actor-avatar>
73 {{ videoComment.account.displayName }}
74 <span>{{ videoComment.by }}
</span>
81 <em i18n
>Commented video
</em>
83 <a [href]=
"videoComment.localUrl" target=
"_blank" rel=
"noopener noreferrer">{{ videoComment.video.name }}
</a>
86 <td class=
"comment-html c-hand" [pRowToggler]=
"videoComment">
87 <div [innerHTML]=
"videoComment.textHtml"></div>
90 <td class=
"c-hand" [pRowToggler]=
"videoComment">{{ videoComment.createdAt | date: 'short' }}
</td>
94 <ng-template pTemplate=
"rowexpansion" let-videoComment
>
96 <td class=
"expand-cell" colspan=
"5">
97 <div [innerHTML]=
"videoComment.textHtml"></div>
102 <ng-template pTemplate=
"emptymessage">
105 <div class=
"no-results">
106 <ng-container *
ngIf=
"search" i18n
>No comments found matching current filters.
</ng-container>
107 <ng-container *
ngIf=
"!search" i18n
>No comments found.
</ng-container>