UNPKG

cspace-ui

Version:
61 lines (60 loc) 1.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = LoginLink; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactIntl = require("react-intl"); var _reactRouterDom = require("react-router-dom"); var _LoginLink = _interopRequireDefault(require("../../../styles/cspace-ui/LoginLink.css")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const propTypes = { openLoginWindow: _propTypes.default.func }; const defaultProps = { openLoginWindow: null }; const contextTypes = { config: _propTypes.default.shape({ recordTypes: _propTypes.default.object }) }; const messages = (0, _reactIntl.defineMessages)({ label: { "id": "loginLink.label", "defaultMessage": "Sign in" }, openLabel: { "id": "loginLink.openLabel", "defaultMessage": "Open sign in window" } }); function LoginLink(props, context) { const { openLoginWindow } = props; const authorizePath = '/authorize'; let handleClick; if (openLoginWindow) { const { config } = context; const { basename } = config; handleClick = event => { event.preventDefault(); openLoginWindow(`${basename}${authorizePath}`); }; } const message = openLoginWindow ? messages.openLabel : messages.label; return /*#__PURE__*/_react.default.createElement(_reactRouterDom.Link, { className: _LoginLink.default.common, to: authorizePath, onClick: handleClick }, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, message)); } LoginLink.propTypes = propTypes; LoginLink.defaultProps = defaultProps; LoginLink.contextTypes = contextTypes;