UNPKG

@bootstrap-styled/ra-ui

Version:
114 lines (89 loc) 4.12 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _AccountCircle = _interopRequireDefault(require("@material-ui/icons/AccountCircle")); var _ButtonDropdown = _interopRequireDefault(require("@bootstrap-styled/v4/lib/Button/ButtonDropdown")); var _DropdownMenu = _interopRequireDefault(require("@bootstrap-styled/v4/lib/Dropdown/DropdownMenu")); var _Button = _interopRequireDefault(require("../button/Button")); var UserMenu = function (_React$Component) { (0, _inherits2.default)(UserMenu, _React$Component); function UserMenu() { var _getPrototypeOf2; var _this; (0, _classCallCheck2.default)(this, UserMenu); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(UserMenu)).call.apply(_getPrototypeOf2, [this].concat(args))); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", { open: false }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleMenu", function () { _this.setState({ open: !_this.state.open }); }); return _this; } (0, _createClass2.default)(UserMenu, [{ key: "render", value: function render() { var _this2 = this; var _this$props = this.props, children = _this$props.children, label = _this$props.label, icon = _this$props.icon, logout = _this$props.logout; var open = this.state.open; if (!logout && !children) return null; return _react.default.createElement("div", null, _react.default.createElement(_ButtonDropdown.default, { id: "menu-appbar", "aria-owns": open ? 'menu-appbar' : null, "aria-haspopup": true, toggle: this.handleMenu, isOpen: open, style: { height: '48px' } }, _react.default.createElement(_Button.default, { className: "add-filter h-100 cursor-pointer text-white rounded-0", onClick: this.handleMenu, label: label }, icon), _react.default.createElement(_DropdownMenu.default, { right: true, className: "mt-0 rounded-0 rounded-bottom" }, _react.Children.map(children, function (menuItem) { return (0, _react.isValidElement)(menuItem) ? (0, _react.cloneElement)(menuItem, { onClick: _this2.handleClose }) : null; }), logout))); } }]); return UserMenu; }(_react.default.Component); (0, _defineProperty2.default)(UserMenu, "propTypes", { children: _propTypes.default.node, label: _propTypes.default.string.isRequired, logout: _propTypes.default.node, icon: _propTypes.default.node }); (0, _defineProperty2.default)(UserMenu, "defaultProps", { label: 'ra.auth.user_menu', icon: _react.default.createElement(_AccountCircle.default, null) }); var _default = UserMenu; exports.default = _default; module.exports = exports.default;