cspace-ui
Version:
CollectionSpace user interface for browsers
95 lines (92 loc) • 3.89 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactIntl = require("react-intl");
var _reactRedux = require("react-redux");
var _reactRouter = require("react-router");
var _reactRouterDom = require("react-router-dom");
var _ConfigProvider = _interopRequireDefault(require("./config/ConfigProvider"));
var _RootPage = _interopRequireDefault(require("./pages/RootPage"));
var _withClassName = _interopRequireDefault(require("../enhancers/withClassName"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
const propTypes = {
store: _propTypes.default.shape({
subscribe: _propTypes.default.func.isRequired,
dispatch: _propTypes.default.func.isRequired,
getState: _propTypes.default.func.isRequired
}).isRequired,
config: _propTypes.default.shape({
basename: _propTypes.default.string,
className: _propTypes.default.string,
index: _propTypes.default.string,
locale: _propTypes.default.string,
messages: _propTypes.default.object,
prettyUrls: _propTypes.default.bool
}).isRequired,
router: _propTypes.default.func,
openModal: _propTypes.default.func
};
class App extends _react.Component {
constructor() {
super();
this.showConfirmNavigationModal = this.showConfirmNavigationModal.bind(this);
}
showConfirmNavigationModal(message, callback) {
const {
openModal
} = this.props;
if (openModal) {
openModal(message, callback);
}
}
render() {
const {
config,
store,
router
} = this.props;
const {
basename,
className,
index,
locale,
messages,
prettyUrls
} = config;
// Allow a router to be supplied as a prop. This is used for tests.
let Router = router;
if (!Router) {
Router = prettyUrls ? _reactRouterDom.BrowserRouter : _reactRouterDom.HashRouter;
}
return /*#__PURE__*/_react.default.createElement(_reactIntl.IntlProvider, {
locale: locale,
defaultLocale: "en-US",
messages: messages
}, /*#__PURE__*/_react.default.createElement(_reactRedux.Provider, {
store: store
}, /*#__PURE__*/_react.default.createElement(_ConfigProvider.default, {
config: config
}, /*#__PURE__*/_react.default.createElement(Router, {
basename: basename,
getUserConfirmation: this.showConfirmNavigationModal
}, /*#__PURE__*/_react.default.createElement(_reactRouter.Switch, null, /*#__PURE__*/_react.default.createElement(_reactRouter.Redirect, {
exact: true,
path: "/",
to: index
}), /*#__PURE__*/_react.default.createElement(_reactRouter.Redirect, {
exact: true,
path: "/login",
to: "/welcome"
}), /*#__PURE__*/_react.default.createElement(_reactRouter.Route, {
component: (0, _withClassName.default)(_RootPage.default, className)
}))))));
}
}
exports.default = App;
App.propTypes = propTypes;