UNPKG

ibag

Version:

A visual, fast, and customizable front-end scaffolding.

52 lines (42 loc) 1.48 kB
"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 _apiRunnerBrowser = require("./api-runner-browser"); var _findPath = require("./find-path"); // Renders page class PageRenderer extends _react.default.Component { render() { const props = { ...this.props, params: { ...(0, _findPath.grabMatchParams)(this.props.location.pathname), ...this.props.pageResources.json.pageContext.__params } }; const pageElement = /*#__PURE__*/(0, _react.createElement)(this.props.pageResources.component, { ...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;