UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

39 lines 4.35 kB
import { Directive, Input } from '@angular/core'; import * as i0 from "@angular/core"; export class LetContext { $implicit; nccLet; } export class LetDirective { templateRef; viewContainer; context; _hasView; constructor(templateRef, viewContainer) { this.templateRef = templateRef; this.viewContainer = viewContainer; this.context = new LetContext(); this._hasView = false; } set nccLet(obj) { this.context.$implicit = this.context.nccLet = obj; if (!this._hasView && !!this.templateRef && !!this.viewContainer && !!this.context) { this.viewContainer.createEmbeddedView(this.templateRef, this.context); this._hasView = true; } } get hasView() { return this._hasView; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LetDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: LetDirective, selector: "[nccLet]", inputs: { nccLet: "nccLet" }, ngImport: i0 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LetDirective, decorators: [{ type: Directive, args: [{ selector: '[nccLet]' }] }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { nccLet: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdXRpbGl0eS9kaXJlY3RpdmVzL2xldC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWdDLE1BQU0sZUFBZSxDQUFDOztBQUU5RSxNQUFNLE9BQU8sVUFBVTtJQUNuQixTQUFTLENBQUk7SUFDYixNQUFNLENBQUk7Q0FDYjtBQUtELE1BQU0sT0FBTyxZQUFZO0lBS0Q7SUFDQTtJQUpILE9BQU8sQ0FBZ0I7SUFDaEMsUUFBUSxDQUFVO0lBRTFCLFlBQW9CLFdBQThCLEVBQzlCLGFBQWdDO1FBRGhDLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLFVBQVUsRUFBSyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUNJLE1BQU0sQ0FBQyxHQUFNO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hGLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7d0dBckJRLFlBQVk7NEZBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFIeEIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsVUFBVTtpQkFDdkI7K0dBWU8sTUFBTTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBMZXRDb250ZXh0PFQ+IHtcbiAgICAkaW1wbGljaXQ6IFQ7XG4gICAgbmNjTGV0OiBUO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tuY2NMZXRdJ1xufSlcbmV4cG9ydCBjbGFzcyBMZXREaXJlY3RpdmU8VCA9IHVua25vd24+IHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dDogTGV0Q29udGV4dDxUPjtcbiAgICBwcml2YXRlIF9oYXNWaWV3OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0ZW1wbGF0ZVJlZj86IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyPzogVmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICB0aGlzLmNvbnRleHQgPSBuZXcgTGV0Q29udGV4dDxUPigpO1xuICAgICAgICB0aGlzLl9oYXNWaWV3ID0gZmFsc2U7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgc2V0IG5jY0xldChvYmo6IFQpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LiRpbXBsaWNpdCA9IHRoaXMuY29udGV4dC5uY2NMZXQgPSBvYmo7XG4gICAgICAgIGlmICghdGhpcy5faGFzVmlldyAmJiAhIXRoaXMudGVtcGxhdGVSZWYgJiYgISF0aGlzLnZpZXdDb250YWluZXIgJiYgISF0aGlzLmNvbnRleHQpIHtcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiwgdGhpcy5jb250ZXh0KTtcbiAgICAgICAgICAgIHRoaXMuX2hhc1ZpZXcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGhhc1ZpZXcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oYXNWaWV3O1xuICAgIH1cbn1cbiJdfQ==