UNPKG

@react-awesome-query-builder/mui

Version:
98 lines (97 loc) 5.09 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = _interopRequireWildcard(require("react")); var _IconButton = _interopRequireDefault(require("@mui/material/IconButton")); var _ExpandMoreSharp = _interopRequireDefault(require("@mui/icons-material/ExpandMoreSharp")); var _FormControl = _interopRequireDefault(require("@mui/material/FormControl")); var _FormLabel = _interopRequireDefault(require("@mui/material/FormLabel")); var _Menu = _interopRequireDefault(require("@mui/material/Menu")); var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem")); var _Check = _interopRequireDefault(require("@mui/icons-material/Check")); var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon")); var _ListItemText = _interopRequireDefault(require("@mui/material/ListItemText")); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } var ValueSource = /*#__PURE__*/_react["default"].memo(function (_ref) { var valueSrc = _ref.valueSrc, srcKey = _ref.srcKey, handleChange = _ref.handleChange, info = _ref.info; var isSelected = valueSrc == srcKey || !valueSrc && srcKey == "value"; var onClick = (0, _react.useCallback)(function (e) { return handleChange(e, srcKey); }, [handleChange, srcKey]); return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], { value: srcKey, selected: isSelected, onClick: onClick }, !isSelected && /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], { inset: true }, info.label), isSelected && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_ListItemIcon["default"], null, /*#__PURE__*/_react["default"].createElement(_Check["default"], null)), info.label)); }); var ValueSources = /*#__PURE__*/_react["default"].memo(function (_ref2) { var valueSources = _ref2.valueSources, valueSrc = _ref2.valueSrc, title = _ref2.title, setValueSrc = _ref2.setValueSrc, readonly = _ref2.readonly; var _React$useState = _react["default"].useState(null), _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2), anchorEl = _React$useState2[0], setAnchorEl = _React$useState2[1]; var handleOpen = (0, _react.useCallback)(function (event) { setAnchorEl(event.currentTarget); }, [setAnchorEl]); var handleClose = (0, _react.useCallback)(function () { setAnchorEl(null); }, [setAnchorEl]); var toggleOpenClose = (0, _react.useCallback)(function (event) { anchorEl ? handleClose() : handleOpen(event); }, [handleClose, handleOpen, anchorEl]); var handleChange = (0, _react.useCallback)(function (_e, srcKey) { setValueSrc(srcKey); handleClose(); }, [handleClose, setValueSrc]); var renderOptions = function renderOptions(valueSources) { return valueSources.map(function (_ref3) { var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2), srcKey = _ref4[0], info = _ref4[1]; return /*#__PURE__*/_react["default"].createElement(ValueSource, { key: srcKey, valueSrc: valueSrc, srcKey: srcKey, handleChange: handleChange, info: info }); }); }; var open = Boolean(anchorEl); return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], { size: "small", onClick: toggleOpenClose }, /*#__PURE__*/_react["default"].createElement(_ExpandMoreSharp["default"], null)), /*#__PURE__*/_react["default"].createElement(_Menu["default"], { anchorEl: anchorEl, open: open, onClose: handleClose }, /*#__PURE__*/_react["default"].createElement(_FormControl["default"], { component: "fieldset", sx: { p: 0 } }, /*#__PURE__*/_react["default"].createElement(_FormLabel["default"], { component: "legend", sx: { p: 2, pt: 0, pb: 1 } }, title), renderOptions(valueSources)))); }); var _default = exports["default"] = ValueSources;