UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

38 lines 1.67 kB
import * as tslib_1 from "tslib"; import { PureComponent } from 'react'; import ProviderFactory from '../../providerFactory'; import { ReactSerializer, renderDocument, } from '../../renderer'; import { defaultSchema } from '../../schema'; var Renderer = (function (_super) { tslib_1.__extends(Renderer, _super); function Renderer(props) { var _this = _super.call(this, props) || this; _this.providerFactory = props.dataProviders || new ProviderFactory(); _this.updateSerializer(props); return _this; } Renderer.prototype.componentWillReceiveProps = function (nextProps) { if (nextProps.portal !== this.props.portal) { this.updateSerializer(nextProps); } }; Renderer.prototype.updateSerializer = function (props) { var eventHandlers = props.eventHandlers, portal = props.portal, rendererContext = props.rendererContext; this.serializer = new ReactSerializer(this.providerFactory, eventHandlers, portal, rendererContext); }; Renderer.prototype.render = function () { var _a = this.props, document = _a.document, schema = _a.schema; return renderDocument(document, this.serializer, schema || defaultSchema); }; Renderer.prototype.componentWillUnmount = function () { var dataProviders = this.props.dataProviders; // if this is the ProviderFactory which was created in constructor // it's safe to destroy it on Renderer unmount if (!dataProviders) { this.providerFactory.destroy(); } }; return Renderer; }(PureComponent)); export default Renderer; //# sourceMappingURL=index.js.map