UNPKG

@bigfishtv/cockpit

Version:

36 lines (24 loc) 1.15 kB
'use strict'; exports.__esModule = true; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactRedux = require('react-redux'); var _reactRouterDom = require('react-router-dom'); var _roleUtils = require('../utils/roleUtils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } var ProtectedLink = function ProtectedLink(_ref) { var viewer = _ref.viewer, resource = _ref.resource, rest = _objectWithoutProperties(_ref, ['viewer', 'resource']); return (0, _roleUtils.userCanAccess)(resource, viewer) ? _react2.default.createElement(_reactRouterDom.Link, rest) : _react2.default.createElement( 'span', null, rest.children ); }; var mapStateToProps = function mapStateToProps(_ref2) { var viewer = _ref2.viewer; return { viewer: viewer }; }; exports.default = (0, _reactRedux.connect)(mapStateToProps)(ProtectedLink);