@bootstrap-styled/ra-ui
Version:
UI components for react-admin
78 lines (58 loc) • 2.62 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactRedux = require("react-redux");
var _compose = _interopRequireDefault(require("recompose/compose"));
var _classnames = _interopRequireDefault(require("classnames"));
var _DropdownItem = _interopRequireDefault(require("@bootstrap-styled/v4/lib/Dropdown/DropdownItem"));
var _PowerSettingsNew = _interopRequireDefault(require("@material-ui/icons/PowerSettingsNew"));
var _raCore = require("ra-core");
var sanitizeRestProps = function sanitizeRestProps(_ref) {
var className = _ref.className,
translate = _ref.translate,
userLogout = _ref.userLogout,
locale = _ref.locale,
redirectTo = _ref.redirectTo,
rest = (0, _objectWithoutProperties2.default)(_ref, ["className", "translate", "userLogout", "locale", "redirectTo"]);
return rest;
};
var Logout = function Logout(_ref2) {
var className = _ref2.className,
translate = _ref2.translate,
userLogout = _ref2.userLogout,
rest = (0, _objectWithoutProperties2.default)(_ref2, ["className", "translate", "userLogout"]);
return _react.default.createElement(_DropdownItem.default, (0, _extends2.default)({
className: (0, _classnames.default)('logout', className),
onClick: userLogout
}, sanitizeRestProps(rest)), _react.default.createElement("span", null, _react.default.createElement(_PowerSettingsNew.default, null)), translate('ra.auth.logout'));
};
Logout.propTypes = {
className: _propTypes.default.string,
translate: _propTypes.default.func,
userLogout: _propTypes.default.func,
redirectTo: _propTypes.default.string
};
var mapStateToProps = function mapStateToProps(state) {
return {
theme: state.theme
};
};
var mapDispatchToProps = function mapDispatchToProps(dispatch, _ref3) {
var redirectTo = _ref3.redirectTo;
return {
userLogout: function userLogout() {
return dispatch((0, _raCore.userLogout)(redirectTo));
}
};
};
var enhance = (0, _compose.default)(_raCore.translate, (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps));
var _default = enhance(Logout);
exports.default = _default;
module.exports = exports.default;