cspace-ui
Version:
CollectionSpace user interface for browsers
94 lines (91 loc) • 3.71 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(e) { return e && e.__esModule ? e : { default: e }; }
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
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;