UNPKG

@bootstrap-styled/ra-ui

Version:
146 lines (112 loc) 5.55 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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); 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 _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactRedux = require("react-redux"); var _compose = _interopRequireDefault(require("recompose/compose")); var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete")); var _raCore = require("ra-core"); var _styledComponents = _interopRequireDefault(require("styled-components")); var _color = _interopRequireDefault(require("@bootstrap-styled/color")); var _lodash = require("lodash"); var _Button = _interopRequireDefault(require("./Button")); var sanitizeRestProps = function sanitizeRestProps(_ref) { var basePath = _ref.basePath, dispatchCrudDeleteMany = _ref.dispatchCrudDeleteMany, filterValues = _ref.filterValues, label = _ref.label, resource = _ref.resource, selectedIds = _ref.selectedIds, startUndoable = _ref.startUndoable, undoable = _ref.undoable, rest = (0, _objectWithoutProperties2.default)(_ref, ["basePath", "dispatchCrudDeleteMany", "filterValues", "label", "resource", "selectedIds", "startUndoable", "undoable"]); return rest; }; var StyledButton = (0, _styledComponents.default)(_Button.default).withConfig({ displayName: "BulkDeleteWithUndoButton__StyledButton", componentId: "g5kpx2-0" })(["", ""], function (props) { return "\n color: ".concat(props.theme.$red, " \n &:hover {\n background-color: ").concat((0, _color.default)(props.theme.$red).fade(0.12).toString(), "\n }\n "); }); var BulkDeleteWithUndoButton = function (_Component) { (0, _inherits2.default)(BulkDeleteWithUndoButton, _Component); function BulkDeleteWithUndoButton() { var _getPrototypeOf2; var _this; (0, _classCallCheck2.default)(this, BulkDeleteWithUndoButton); 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)(BulkDeleteWithUndoButton)).call.apply(_getPrototypeOf2, [this].concat(args))); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleClick", function () { var _this$props = _this.props, basePath = _this$props.basePath, resource = _this$props.resource, selectedIds = _this$props.selectedIds, startUndoable = _this$props.startUndoable, onClick = _this$props.onClick; startUndoable((0, _raCore.crudDeleteMany)(resource, selectedIds, basePath)); if (typeof onClick === 'function') { onClick(); } }); return _this; } (0, _createClass2.default)(BulkDeleteWithUndoButton, [{ key: "render", value: function render() { var _omit = (0, _lodash.omit)(this.props, ['theme']), className = _omit.className, label = _omit.label, icon = _omit.icon, onClick = _omit.onClick, rest = (0, _objectWithoutProperties2.default)(_omit, ["className", "label", "icon", "onClick"]); return _react.default.createElement(StyledButton, (0, _extends2.default)({ onClick: this.handleClick, label: label, className: className }, sanitizeRestProps(rest)), icon); } }]); return BulkDeleteWithUndoButton; }(_react.Component); (0, _defineProperty2.default)(BulkDeleteWithUndoButton, "propTypes", { basePath: _propTypes.default.string, label: _propTypes.default.string, resource: _propTypes.default.string.isRequired, startUndoable: _propTypes.default.func, selectedIds: _propTypes.default.arrayOf(_propTypes.default.any).isRequired, icon: _propTypes.default.element, className: _propTypes.default.string, theme: _propTypes.default.shape({ $red: _propTypes.default.string }) }); (0, _defineProperty2.default)(BulkDeleteWithUndoButton, "defaultProps", { label: 'ra.action.delete', undoable: true, icon: _react.default.createElement(_Delete.default, null), theme: { $red: '#d9534f' } }); var EnhancedBulkDeleteWithConfirmButton = (0, _compose.default)((0, _reactRedux.connect)(undefined, { startUndoable: _raCore.startUndoable }))(BulkDeleteWithUndoButton); var _default = EnhancedBulkDeleteWithConfirmButton; exports.default = _default; module.exports = exports.default;