ngx-contentful-rich-text
Version:
Angular renderer for the Contentful rich text field type
28 lines • 3.52 kB
JavaScript
import { Directive, Input, ViewContainerRef, } from '@angular/core';
import { ComponentRendererService } from '../services/component-renderer.service';
import { RendererProviderService } from '../services/renderer-provider.service';
export class NodeRendererHostDirective {
constructor(viewContainerRef, componentRenderer, rendererProvider) {
this.viewContainerRef = viewContainerRef;
this.componentRenderer = componentRenderer;
this.rendererProvider = rendererProvider;
}
ngOnInit() {
const component = this.rendererProvider.getNodeRenderer(this.node);
this.componentRenderer.render(this.viewContainerRef, component, this.node);
}
}
NodeRendererHostDirective.decorators = [
{ type: Directive, args: [{
selector: '[ngxNodeRendererHost]',
},] }
];
NodeRendererHostDirective.ctorParameters = () => [
{ type: ViewContainerRef },
{ type: ComponentRendererService },
{ type: RendererProviderService }
];
NodeRendererHostDirective.propDecorators = {
node: [{ type: Input }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yZW5kZXJlci1ob3N0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb250ZW50ZnVsLXJpY2gtdGV4dC9zcmMvbGliL2RpcmVjdGl2ZXMvbm9kZS1yZW5kZXJlci1ob3N0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFLaEYsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUNVLGdCQUFrQyxFQUNsQyxpQkFBMkMsRUFDM0MsZ0JBQXlDO1FBRnpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO0lBQ2hELENBQUM7SUFFSixRQUFRO1FBQ04sTUFBTSxTQUFTLEdBQXVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQ3pFLElBQUksQ0FBQyxJQUFJLENBQ1YsQ0FBQztRQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7O1lBakJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2FBQ2xDOzs7WUFWQyxnQkFBZ0I7WUFLVCx3QkFBd0I7WUFDeEIsdUJBQXVCOzs7bUJBTTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFR5cGUsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmxvY2ssIElubGluZSB9IGZyb20gJ0Bjb250ZW50ZnVsL3JpY2gtdGV4dC10eXBlcyc7XG5cbmltcG9ydCB7IE5vZGVSZW5kZXJlciB9IGZyb20gJy4uL2NsYXNzZXMvbm9kZS1yZW5kZXJlci5jbGFzcyc7XG5pbXBvcnQgeyBDb21wb25lbnRSZW5kZXJlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21wb25lbnQtcmVuZGVyZXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZW5kZXJlclByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JlbmRlcmVyLXByb3ZpZGVyLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmd4Tm9kZVJlbmRlcmVySG9zdF0nLFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlUmVuZGVyZXJIb3N0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbm9kZTogQmxvY2sgfCBJbmxpbmU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgY29tcG9uZW50UmVuZGVyZXI6IENvbXBvbmVudFJlbmRlcmVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlbmRlcmVyUHJvdmlkZXI6IFJlbmRlcmVyUHJvdmlkZXJTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBjb21wb25lbnQ6IFR5cGU8Tm9kZVJlbmRlcmVyPiA9IHRoaXMucmVuZGVyZXJQcm92aWRlci5nZXROb2RlUmVuZGVyZXIoXG4gICAgICB0aGlzLm5vZGVcbiAgICApO1xuICAgIHRoaXMuY29tcG9uZW50UmVuZGVyZXIucmVuZGVyKHRoaXMudmlld0NvbnRhaW5lclJlZiwgY29tcG9uZW50LCB0aGlzLm5vZGUpO1xuICB9XG59XG4iXX0=