UNPKG

ngx-contentful-rich-text

Version:

Angular renderer for the Contentful rich text field type

24 lines 3.52 kB
import { ComponentFactoryResolver, Injectable, } from '@angular/core'; import * as i0 from "@angular/core"; export class ComponentRendererService { constructor(componentFactoryResolver) { this.componentFactoryResolver = componentFactoryResolver; } render(viewContainerRef, component, node) { const componentFactory = this.componentFactoryResolver.resolveComponentFactory(component); viewContainerRef.clear(); const componentRef = viewContainerRef.createComponent(componentFactory); componentRef.instance.node = node; componentRef.changeDetectorRef.detectChanges(); } } ComponentRendererService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ComponentRendererService_Factory() { return new ComponentRendererService(i0.ɵɵinject(i0.ComponentFactoryResolver)); }, token: ComponentRendererService, providedIn: "root" }); ComponentRendererService.decorators = [ { type: Injectable, args: [{ providedIn: 'root', },] } ]; ComponentRendererService.ctorParameters = () => [ { type: ComponentFactoryResolver } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXJlbmRlcmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29udGVudGZ1bC1yaWNoLXRleHQvc3JjL2xpYi9zZXJ2aWNlcy9jb21wb25lbnQtcmVuZGVyZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLFVBQVUsR0FHWCxNQUFNLGVBQWUsQ0FBQzs7QUFVdkIsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUFvQix3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUFHLENBQUM7SUFFMUUsTUFBTSxDQUNKLGdCQUFrQyxFQUNsQyxTQUFpRSxFQUNqRSxJQUEyQjtRQUUzQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FDNUUsU0FBUyxDQUNWLENBQUM7UUFDRixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4RSxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pELENBQUM7Ozs7WUFsQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFiQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEluamVjdGFibGUsXG4gIFR5cGUsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmxvY2ssIElubGluZSwgVGV4dCB9IGZyb20gJ0Bjb250ZW50ZnVsL3JpY2gtdGV4dC10eXBlcyc7XG5cbmltcG9ydCB7IE1hcmtSZW5kZXJlciB9IGZyb20gJy4uL2NsYXNzZXMvbWFyay1yZW5kZXJlci5jbGFzcyc7XG5pbXBvcnQgeyBOb2RlUmVuZGVyZXIgfSBmcm9tICcuLi9jbGFzc2VzL25vZGUtcmVuZGVyZXIuY2xhc3MnO1xuaW1wb3J0IHsgVGV4dFZhbHVlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy90ZXh0LXZhbHVlLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRSZW5kZXJlclNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7fVxuXG4gIHJlbmRlcihcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIGNvbXBvbmVudDogVHlwZTxOb2RlUmVuZGVyZXIgfCBNYXJrUmVuZGVyZXIgfCBUZXh0VmFsdWVDb21wb25lbnQ+LFxuICAgIG5vZGU6IEJsb2NrIHwgSW5saW5lIHwgVGV4dFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoXG4gICAgICBjb21wb25lbnRcbiAgICApO1xuICAgIHZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uubm9kZSA9IG5vZGU7XG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIl19