ilink-world/docs/.docz/.cache/commonjs/page-renderer.js

53 lines
1.5 KiB
JavaScript
Raw Normal View History

2020-03-12 15:14:51 +00:00
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
exports.__esModule = true;
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _loader = require("./loader");
var _apiRunnerBrowser = require("./api-runner-browser");
class PageRenderer extends _react.default.Component {
render() {
const props = Object.assign({}, this.props, {
pathContext: this.props.pageContext
});
const [replacementElement] = (0, _apiRunnerBrowser.apiRunner)(`replaceComponentRenderer`, {
props: this.props,
loader: _loader.publicLoader
});
const pageElement = replacementElement || (0, _react.createElement)(this.props.pageResources.component, Object.assign({}, props, {
key: this.props.path || this.props.pageResources.page.path
}));
const wrappedPage = (0, _apiRunnerBrowser.apiRunner)(`wrapPageElement`, {
element: pageElement,
props
}, pageElement, ({
result
}) => {
return {
element: result,
props
};
}).pop();
return wrappedPage;
}
}
PageRenderer.propTypes = {
location: _propTypes.default.object.isRequired,
pageResources: _propTypes.default.object.isRequired,
data: _propTypes.default.object,
pageContext: _propTypes.default.object.isRequired
};
var _default = PageRenderer;
exports.default = _default;