diff options
Diffstat (limited to 'client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts')
-rw-r--r-- | client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts b/client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts index dfdf65c19..e94c293ca 100644 --- a/client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts +++ b/client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts | |||
@@ -7,14 +7,17 @@ import { DropdownAction, Video, VideoService } from '@app/shared/shared-main' | |||
7 | import { VideoBlockService } from '@app/shared/shared-moderation' | 7 | import { VideoBlockService } from '@app/shared/shared-moderation' |
8 | import { I18n } from '@ngx-translate/i18n-polyfill' | 8 | import { I18n } from '@ngx-translate/i18n-polyfill' |
9 | import { VideoBlacklist, VideoBlacklistType } from '@shared/models' | 9 | import { VideoBlacklist, VideoBlacklistType } from '@shared/models' |
10 | import { buildVideoEmbed, buildVideoLink } from 'src/assets/player/utils' | ||
11 | import { environment } from 'src/environments/environment' | ||
12 | import { DomSanitizer } from '@angular/platform-browser' | ||
10 | 13 | ||
11 | @Component({ | 14 | @Component({ |
12 | selector: 'my-video-block-list', | 15 | selector: 'my-video-block-list', |
13 | templateUrl: './video-block-list.component.html', | 16 | templateUrl: './video-block-list.component.html', |
14 | styleUrls: [ '../../../shared/shared-moderation/moderation.scss', './video-block-list.component.scss' ] | 17 | styleUrls: [ '../../../shared/shared-moderation/moderation.scss', '../../../shared/shared-abuse-list/abuse-list-table.component.scss', './video-block-list.component.scss' ] |
15 | }) | 18 | }) |
16 | export class VideoBlockListComponent extends RestTable implements OnInit, AfterViewInit { | 19 | export class VideoBlockListComponent extends RestTable implements OnInit, AfterViewInit { |
17 | blocklist: (VideoBlacklist & { reasonHtml?: string })[] = [] | 20 | blocklist: (VideoBlacklist & { reasonHtml?: string, embedHtml?: string })[] = [] |
18 | totalRecords = 0 | 21 | totalRecords = 0 |
19 | sort: SortMeta = { field: 'createdAt', order: -1 } | 22 | sort: SortMeta = { field: 'createdAt', order: -1 } |
20 | pagination: RestPagination = { count: this.rowsPerPage, start: 0 } | 23 | pagination: RestPagination = { count: this.rowsPerPage, start: 0 } |
@@ -28,6 +31,7 @@ export class VideoBlockListComponent extends RestTable implements OnInit, AfterV | |||
28 | private confirmService: ConfirmService, | 31 | private confirmService: ConfirmService, |
29 | private videoBlocklistService: VideoBlockService, | 32 | private videoBlocklistService: VideoBlockService, |
30 | private markdownRenderer: MarkdownService, | 33 | private markdownRenderer: MarkdownService, |
34 | private sanitizer: DomSanitizer, | ||
31 | private videoService: VideoService, | 35 | private videoService: VideoService, |
32 | private route: ActivatedRoute, | 36 | private route: ActivatedRoute, |
33 | private router: Router, | 37 | private router: Router, |
@@ -171,6 +175,16 @@ export class VideoBlockListComponent extends RestTable implements OnInit, AfterV | |||
171 | ) | 175 | ) |
172 | } | 176 | } |
173 | 177 | ||
178 | getVideoEmbed (entry: VideoBlacklist) { | ||
179 | return buildVideoEmbed( | ||
180 | buildVideoLink({ | ||
181 | baseUrl: `${environment.embedUrl}/videos/embed/${entry.video.uuid}`, | ||
182 | title: false, | ||
183 | warningTitle: false | ||
184 | }) | ||
185 | ) | ||
186 | } | ||
187 | |||
174 | protected loadData () { | 188 | protected loadData () { |
175 | this.videoBlocklistService.listBlocks({ | 189 | this.videoBlocklistService.listBlocks({ |
176 | pagination: this.pagination, | 190 | pagination: this.pagination, |
@@ -184,7 +198,10 @@ export class VideoBlockListComponent extends RestTable implements OnInit, AfterV | |||
184 | this.blocklist = resultList.data | 198 | this.blocklist = resultList.data |
185 | 199 | ||
186 | for (const element of this.blocklist) { | 200 | for (const element of this.blocklist) { |
187 | Object.assign(element, { reasonHtml: await this.toHtml(element.reason) }) | 201 | Object.assign(element, { |
202 | reasonHtml: await this.toHtml(element.reason), | ||
203 | embedHtml: this.sanitizer.bypassSecurityTrustHtml(this.getVideoEmbed(element)) | ||
204 | }) | ||
188 | } | 205 | } |
189 | }, | 206 | }, |
190 | 207 | ||