@talend/react-cmf
Version:
A framework built on top of best react libraries
53 lines (51 loc) • 1.71 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = App;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactRedux = require("react-redux");
var _RegistryProvider = _interopRequireDefault(require("./RegistryProvider"));
var _settings = require("./settings");
var _ErrorBoundary = _interopRequireDefault(require("./components/ErrorBoundary/ErrorBoundary.component"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**
* Internal module, you should not use it directly
* @module react-cmf/lib/App
*/
/**
* The React component that render your app and provide CMF environment.
* @param {object} props { store }
* @return {object} ReactElement
*/function App(props) {
let content = props.children;
if (props.withSettings) {
content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_settings.WaitForSettings, {
loading: props.loading,
children: content
});
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRedux.Provider, {
store: props.store,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RegistryProvider.default, {
value: props.registry,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ErrorBoundary.default, {
fullPage: true,
children: content
})
})
});
}
App.displayName = 'CMFApp';
App.propTypes = {
store: _propTypes.default.object.isRequired,
registry: _propTypes.default.object,
children: _propTypes.default.node,
withSettings: _propTypes.default.bool,
loading: _propTypes.default.func
};
App.defaultProps = {
loading: () => 'loading'
};
//# sourceMappingURL=App.js.map
;