UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

40 lines 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = require("react"); var providerFactory_1 = require("../../providerFactory"); var renderer_1 = require("../../renderer"); var schema_1 = require("../../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_1.default(); _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 renderer_1.ReactSerializer(this.providerFactory, eventHandlers, portal, rendererContext); }; Renderer.prototype.render = function () { var _a = this.props, document = _a.document, schema = _a.schema; return renderer_1.renderDocument(document, this.serializer, schema || schema_1.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; }(react_1.PureComponent)); exports.default = Renderer; //# sourceMappingURL=index.js.map