RSS Git Download  Clone
Raw Blame History
import {Directive, Input, Injectable, ViewContainerRef, OnInit, OnChanges, SimpleChanges} from '@angular/core';

import { CompileHtmlService } from './CompileHtmlService';

@Directive({ selector: '[p3x-compile-html]' })
@Injectable()
export class CompileHtmlAttribute implements OnInit, OnChanges{

    @Input('p3x-compile-html') p3xHtml: string;

    @Input('p3x-compile-html-ref') p3xCompileHtmlRef: any;

    @Input('p3x-compile-html-imports') p3xCompileHtmlImports: any[];

    update() {
        this.service.compile({
            template: this.p3xHtml,
            container: this.container,
            ref: this.p3xCompileHtmlRef,
            imports: this.p3xCompileHtmlImports
        })
    }

    ngOnInit() {
        this.update();
    }

    ngOnChanges(changes: SimpleChanges) {
        this.update();
    }

    constructor(
        private container: ViewContainerRef,
        private service: CompileHtmlService
    ) {}
}