ng-dynamic-component
Version:
> Dynamic components with full life-cycle support for inputs and outputs
41 lines • 4.39 kB
JavaScript
import { Directive, Host } from '@angular/core';
import { DynamicComponentInjectorToken, } from '../component-injector';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
/**
* @public
*/
export class ComponentOutletInjectorDirective {
constructor(componentOutlet) {
this.componentOutlet = componentOutlet;
}
get componentRef() {
// NOTE: Accessing private APIs of Angular
return this.componentOutlet._componentRef;
}
}
/** @nocollapse */ ComponentOutletInjectorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ComponentOutletInjectorDirective, deps: [{ token: i1.NgComponentOutlet, host: true }], target: i0.ɵɵFactoryTarget.Directive });
/** @nocollapse */ ComponentOutletInjectorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: ComponentOutletInjectorDirective, isStandalone: true, selector: "[ngComponentOutlet]", providers: [
{
provide: DynamicComponentInjectorToken,
useExisting: ComponentOutletInjectorDirective,
},
], exportAs: ["ndcComponentOutletInjector"], ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ComponentOutletInjectorDirective, decorators: [{
type: Directive,
args: [{
// eslint-disable-next-line @angular-eslint/directive-selector
selector: '[ngComponentOutlet]',
exportAs: 'ndcComponentOutletInjector',
standalone: true,
providers: [
{
provide: DynamicComponentInjectorToken,
useExisting: ComponentOutletInjectorDirective,
},
],
}]
}], ctorParameters: function () { return [{ type: i1.NgComponentOutlet, decorators: [{
type: Host
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LW91dGxldC1pbmplY3Rvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1keW5hbWljLWNvbXBvbmVudC9zcmMvbGliL2NvbXBvbmVudC1vdXRsZXQvY29tcG9uZW50LW91dGxldC1pbmplY3Rvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFnQixTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFFTCw2QkFBNkIsR0FDOUIsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRS9COztHQUVHO0FBYUgsTUFBTSxPQUFPLGdDQUFnQztJQVEzQyxZQUE0QixlQUFrQztRQUFsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7SUFBRyxDQUFDO0lBTGxFLElBQUksWUFBWTtRQUNkLDBDQUEwQztRQUMxQyxPQUFRLElBQUksQ0FBQyxlQUF1QixDQUFDLGFBQWEsQ0FBQztJQUNyRCxDQUFDOztnSkFOVSxnQ0FBZ0M7b0lBQWhDLGdDQUFnQyxrRUFQaEM7UUFDVDtZQUNFLE9BQU8sRUFBRSw2QkFBNkI7WUFDdEMsV0FBVyxFQUFFLGdDQUFnQztTQUM5QztLQUNGOzJGQUVVLGdDQUFnQztrQkFaNUMsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDZCQUE2Qjs0QkFDdEMsV0FBVyxrQ0FBa0M7eUJBQzlDO3FCQUNGO2lCQUNGOzswQkFTYyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDb21wb25lbnRPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIEhvc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgRHluYW1pY0NvbXBvbmVudEluamVjdG9yLFxuICBEeW5hbWljQ29tcG9uZW50SW5qZWN0b3JUb2tlbixcbn0gZnJvbSAnLi4vY29tcG9uZW50LWluamVjdG9yJztcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tuZ0NvbXBvbmVudE91dGxldF0nLFxuICBleHBvcnRBczogJ25kY0NvbXBvbmVudE91dGxldEluamVjdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRHluYW1pY0NvbXBvbmVudEluamVjdG9yVG9rZW4sXG4gICAgICB1c2VFeGlzdGluZzogQ29tcG9uZW50T3V0bGV0SW5qZWN0b3JEaXJlY3RpdmUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50T3V0bGV0SW5qZWN0b3JEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBEeW5hbWljQ29tcG9uZW50SW5qZWN0b3JcbntcbiAgZ2V0IGNvbXBvbmVudFJlZigpOiBDb21wb25lbnRSZWY8dW5rbm93bj4ge1xuICAgIC8vIE5PVEU6IEFjY2Vzc2luZyBwcml2YXRlIEFQSXMgb2YgQW5ndWxhclxuICAgIHJldHVybiAodGhpcy5jb21wb25lbnRPdXRsZXQgYXMgYW55KS5fY29tcG9uZW50UmVmO1xuICB9XG5cbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwcml2YXRlIGNvbXBvbmVudE91dGxldDogTmdDb21wb25lbnRPdXRsZXQpIHt9XG59XG4iXX0=