]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/shared/shared-custom-markup/custom-markup-container.component.ts
Merge branch 'release/4.2.0' into develop
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared-custom-markup / custom-markup-container.component.ts
CommitLineData
8ee25e17
C
1import { Component, ElementRef, Input, OnChanges, ViewChild } from '@angular/core'
2import { CustomMarkupService } from './custom-markup.service'
3
4@Component({
5 selector: 'my-custom-markup-container',
24893b52 6 templateUrl: './custom-markup-container.component.html'
8ee25e17
C
7})
8export class CustomMarkupContainerComponent implements OnChanges {
9 @ViewChild('contentWrapper') contentWrapper: ElementRef<HTMLInputElement>
10
11 @Input() content: string
12
0ca454e3
C
13 displayed = false
14
8ee25e17
C
15 constructor (
16 private customMarkupService: CustomMarkupService
17 ) { }
18
19 async ngOnChanges () {
20 await this.buildElement()
21 }
22
23 private async buildElement () {
0ca454e3
C
24 if (!this.content) return
25
26 const { rootElement, componentsLoaded } = await this.customMarkupService.buildElement(this.content)
27 this.contentWrapper.nativeElement.appendChild(rootElement)
8ee25e17 28
0ca454e3
C
29 await componentsLoaded
30
31 this.displayed = true
32 }
8ee25e17 33}