UNPKG

ngx-contentful-rich-text

Version:

Angular renderer for the Contentful rich text field type

54 lines 7.2 kB
import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; export class RendererProviderService { constructor() { this.nodeRenderers = {}; this.markRenderers = {}; } async getMarkRenderer(node) { const mark = node.marks[node.markIndex]; const resolver = this.markRenderers[mark.type]; let renderer; try { renderer = resolver(node); } catch (error) { renderer = resolver; } if (!renderer) { const { DefaultMarkRendererComponent } = await import('../components/default-mark-renderer.component'); renderer = DefaultMarkRendererComponent; } return renderer; } async getNodeRenderer(node) { const resolver = this.nodeRenderers[node.nodeType]; let renderer; try { renderer = resolver(node); } catch (error) { renderer = resolver; } if (!renderer) { const { DefaultNodeRendererComponent } = await import('../components/default-node-renderer.component'); renderer = DefaultNodeRendererComponent; } return renderer; } setNodeRenderers(customRenderers) { this.nodeRenderers = Object.assign(this.nodeRenderers, customRenderers); } setMarkRenderers(customRenderers) { this.markRenderers = Object.assign(this.markRenderers, customRenderers); } } RendererProviderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RendererProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); RendererProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RendererProviderService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RendererProviderService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXItcHJvdmlkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb250ZW50ZnVsLXJpY2gtdGV4dC9zcmMvbGliL3NlcnZpY2VzL3JlbmRlcmVyLXByb3ZpZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQzs7QUFlakQsTUFBTSxPQUFPLHVCQUF1QjtJQUhwQztRQUlVLGtCQUFhLEdBQXlDLEVBQUUsQ0FBQztRQUN6RCxrQkFBYSxHQUF5QyxFQUFFLENBQUM7S0E0Q2xFO0lBMUNDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBVTtRQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLFFBQTRCLENBQUM7UUFDakMsSUFBSTtZQUNGLFFBQVEsR0FBSSxRQUFpQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JEO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxRQUFRLEdBQUcsUUFBOEIsQ0FBQztTQUMzQztRQUNELElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixNQUFNLEVBQUUsNEJBQTRCLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FDbkQsK0NBQStDLENBQ2hELENBQUM7WUFDRixRQUFRLEdBQUcsNEJBQTRCLENBQUM7U0FDekM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFvQjtRQUN4QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxJQUFJLFFBQTRCLENBQUM7UUFDakMsSUFBSTtZQUNGLFFBQVEsR0FBSSxRQUFpQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JEO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxRQUFRLEdBQUcsUUFBOEIsQ0FBQztTQUMzQztRQUNELElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixNQUFNLEVBQUUsNEJBQTRCLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FDbkQsK0NBQStDLENBQ2hELENBQUM7WUFDRixRQUFRLEdBQUcsNEJBQTRCLENBQUM7U0FDekM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsZUFBcUQ7UUFDcEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELGdCQUFnQixDQUFDLGVBQXFEO1FBQ3BFLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7O29IQTdDVSx1QkFBdUI7d0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzJGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCbG9jaywgSW5saW5lIH0gZnJvbSAnQGNvbnRlbnRmdWwvcmljaC10ZXh0LXR5cGVzJztcblxuaW1wb3J0IHsgTWFya1JlbmRlcmVyLCBUZXh0IH0gZnJvbSAnLi4vY2xhc3Nlcy9tYXJrLXJlbmRlcmVyLmNsYXNzJztcbmltcG9ydCB7IE5vZGVSZW5kZXJlciB9IGZyb20gJy4uL2NsYXNzZXMvbm9kZS1yZW5kZXJlci5jbGFzcyc7XG5cbmV4cG9ydCB0eXBlIE5vZGVSZW5kZXJlckZ1bmN0aW9uID0gKG5vZGU6IEJsb2NrIHwgSW5saW5lKSA9PiBUeXBlPE5vZGVSZW5kZXJlcj47XG5leHBvcnQgdHlwZSBOb2RlUmVuZGVyZXJSZXNvbHZlciA9IFR5cGU8Tm9kZVJlbmRlcmVyPiB8IE5vZGVSZW5kZXJlckZ1bmN0aW9uO1xuXG5leHBvcnQgdHlwZSBNYXJrUmVuZGVyZXJGdW5jdGlvbiA9IChub2RlOiBUZXh0KSA9PiBUeXBlPE1hcmtSZW5kZXJlcj47XG5leHBvcnQgdHlwZSBNYXJrUmVuZGVyZXJSZXNvbHZlciA9IFR5cGU8TWFya1JlbmRlcmVyPiB8IE1hcmtSZW5kZXJlckZ1bmN0aW9uO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmVuZGVyZXJQcm92aWRlclNlcnZpY2Uge1xuICBwcml2YXRlIG5vZGVSZW5kZXJlcnM6IFJlY29yZDxzdHJpbmcsIE5vZGVSZW5kZXJlclJlc29sdmVyPiA9IHt9O1xuICBwcml2YXRlIG1hcmtSZW5kZXJlcnM6IFJlY29yZDxzdHJpbmcsIE1hcmtSZW5kZXJlclJlc29sdmVyPiA9IHt9O1xuXG4gIGFzeW5jIGdldE1hcmtSZW5kZXJlcihub2RlOiBUZXh0KTogUHJvbWlzZTxUeXBlPE1hcmtSZW5kZXJlcj4+IHtcbiAgICBjb25zdCBtYXJrID0gbm9kZS5tYXJrc1tub2RlLm1hcmtJbmRleF07XG4gICAgY29uc3QgcmVzb2x2ZXIgPSB0aGlzLm1hcmtSZW5kZXJlcnNbbWFyay50eXBlXTtcbiAgICBsZXQgcmVuZGVyZXI6IFR5cGU8TWFya1JlbmRlcmVyPjtcbiAgICB0cnkge1xuICAgICAgcmVuZGVyZXIgPSAocmVzb2x2ZXIgYXMgTWFya1JlbmRlcmVyRnVuY3Rpb24pKG5vZGUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZW5kZXJlciA9IHJlc29sdmVyIGFzIFR5cGU8TWFya1JlbmRlcmVyPjtcbiAgICB9XG4gICAgaWYgKCFyZW5kZXJlcikge1xuICAgICAgY29uc3QgeyBEZWZhdWx0TWFya1JlbmRlcmVyQ29tcG9uZW50IH0gPSBhd2FpdCBpbXBvcnQoXG4gICAgICAgICcuLi9jb21wb25lbnRzL2RlZmF1bHQtbWFyay1yZW5kZXJlci5jb21wb25lbnQnXG4gICAgICApO1xuICAgICAgcmVuZGVyZXIgPSBEZWZhdWx0TWFya1JlbmRlcmVyQ29tcG9uZW50O1xuICAgIH1cbiAgICByZXR1cm4gcmVuZGVyZXI7XG4gIH1cblxuICBhc3luYyBnZXROb2RlUmVuZGVyZXIobm9kZTogQmxvY2sgfCBJbmxpbmUpOiBQcm9taXNlPFR5cGU8Tm9kZVJlbmRlcmVyPj4ge1xuICAgIGNvbnN0IHJlc29sdmVyID0gdGhpcy5ub2RlUmVuZGVyZXJzW25vZGUubm9kZVR5cGVdO1xuICAgIGxldCByZW5kZXJlcjogVHlwZTxOb2RlUmVuZGVyZXI+O1xuICAgIHRyeSB7XG4gICAgICByZW5kZXJlciA9IChyZXNvbHZlciBhcyBOb2RlUmVuZGVyZXJGdW5jdGlvbikobm9kZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJlbmRlcmVyID0gcmVzb2x2ZXIgYXMgVHlwZTxOb2RlUmVuZGVyZXI+O1xuICAgIH1cbiAgICBpZiAoIXJlbmRlcmVyKSB7XG4gICAgICBjb25zdCB7IERlZmF1bHROb2RlUmVuZGVyZXJDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgJy4uL2NvbXBvbmVudHMvZGVmYXVsdC1ub2RlLXJlbmRlcmVyLmNvbXBvbmVudCdcbiAgICAgICk7XG4gICAgICByZW5kZXJlciA9IERlZmF1bHROb2RlUmVuZGVyZXJDb21wb25lbnQ7XG4gICAgfVxuICAgIHJldHVybiByZW5kZXJlcjtcbiAgfVxuXG4gIHNldE5vZGVSZW5kZXJlcnMoY3VzdG9tUmVuZGVyZXJzOiBSZWNvcmQ8c3RyaW5nLCBOb2RlUmVuZGVyZXJSZXNvbHZlcj4pIHtcbiAgICB0aGlzLm5vZGVSZW5kZXJlcnMgPSBPYmplY3QuYXNzaWduKHRoaXMubm9kZVJlbmRlcmVycywgY3VzdG9tUmVuZGVyZXJzKTtcbiAgfVxuXG4gIHNldE1hcmtSZW5kZXJlcnMoY3VzdG9tUmVuZGVyZXJzOiBSZWNvcmQ8c3RyaW5nLCBNYXJrUmVuZGVyZXJSZXNvbHZlcj4pIHtcbiAgICB0aGlzLm1hcmtSZW5kZXJlcnMgPSBPYmplY3QuYXNzaWduKHRoaXMubWFya1JlbmRlcmVycywgY3VzdG9tUmVuZGVyZXJzKTtcbiAgfVxufVxuIl19