nx-primeng-sakai-v17/src/app/app.code.component.ts

34 lines
839 B
TypeScript

import { Component, ElementRef, AfterViewInit, Input, NgModule, ViewChild } from '@angular/core';
import { CommonModule } from '@angular/common';
@Component({
selector: 'app-code',
template: `
<pre [ngClass]="'language-' + lang"><code #code><ng-content></ng-content>
</code></pre>
`,
})
export class AppCodeComponent implements AfterViewInit {
@Input() lang = 'markup';
@ViewChild('code') codeViewChild: ElementRef;
constructor(public el: ElementRef) { }
ngAfterViewInit() {
// @ts-ignore
if (window['Prism']) {
// @ts-ignore
window['Prism'].highlightElement(this.codeViewChild.nativeElement);
}
}
}
@NgModule({
imports: [CommonModule],
exports: [AppCodeComponent],
declarations: [AppCodeComponent]
})
export class AppCodeModule { }