ngx-contentful-rich-text
Version:
Angular renderer for the Contentful rich text field type
24 lines • 3.52 kB
JavaScript
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