@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
39 lines • 4.35 kB
JavaScript
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==