UNPKG

ngx-diagrams

Version:

> Light Weight, Modular, Typed Diagram Engine for Angular

36 lines 3.39 kB
import { Directive, Input, TemplateRef, ViewContainerRef, } from '@angular/core'; class TemplateVarContext { } export class TemplateVarDirective { constructor(vcRef, templateRef) { this.vcRef = vcRef; this.templateRef = templateRef; this.context = new TemplateVarContext(); } set templateVar(context) { this.context.$implicit = this.context.templateVar = context; this.updateView(); } updateView() { if (!this.view) { this.vcRef.clear(); this.view = this.vcRef.createEmbeddedView(this.templateRef, this.context); } else { this.view.markForCheck(); } } } TemplateVarDirective.decorators = [ { type: Directive, args: [{ selector: '[templateVar]', },] } ]; TemplateVarDirective.ctorParameters = () => [ { type: ViewContainerRef }, { type: TemplateRef } ]; TemplateVarDirective.propDecorators = { templateVar: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtdmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9saWJzL25neC1kaWFncmFtcy9zcmMvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvdGVtcGxhdGUtdmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE1BQU0sa0JBQWtCO0NBR3ZCO0FBS0QsTUFBTSxPQUFPLG9CQUFvQjtJQVcvQixZQUNZLEtBQXVCLEVBQ3ZCLFdBQTZCO1FBRDdCLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQVYvQixZQUFPLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBVzFDLENBQUM7SUFUSixJQUNJLFdBQVcsQ0FBQyxPQUFZO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztRQUM1RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQU9ELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNFO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7O1lBMUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTthQUMxQjs7O1lBVkMsZ0JBQWdCO1lBRGhCLFdBQVc7OzswQkFpQlYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jbGFzcyBUZW1wbGF0ZVZhckNvbnRleHQge1xuICAkaW1wbGljaXQ6IGFueTtcbiAgdGVtcGxhdGVWYXI6IGFueTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RlbXBsYXRlVmFyXScsXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlVmFyRGlyZWN0aXZlIHtcbiAgdmlldzogRW1iZWRkZWRWaWV3UmVmPGFueT47XG5cbiAgcHJvdGVjdGVkIGNvbnRleHQgPSBuZXcgVGVtcGxhdGVWYXJDb250ZXh0KCk7XG5cbiAgQElucHV0KClcbiAgc2V0IHRlbXBsYXRlVmFyKGNvbnRleHQ6IGFueSkge1xuICAgIHRoaXMuY29udGV4dC4kaW1wbGljaXQgPSB0aGlzLmNvbnRleHQudGVtcGxhdGVWYXIgPSBjb250ZXh0O1xuICAgIHRoaXMudXBkYXRlVmlldygpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByb3RlY3RlZCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PlxuICApIHt9XG5cbiAgdXBkYXRlVmlldygpIHtcbiAgICBpZiAoIXRoaXMudmlldykge1xuICAgICAgdGhpcy52Y1JlZi5jbGVhcigpO1xuICAgICAgdGhpcy52aWV3ID0gdGhpcy52Y1JlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiwgdGhpcy5jb250ZXh0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aWV3Lm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxufVxuIl19