UNPKG

@bootstrap-styled/ra-ui

Version:
73 lines (57 loc) 2.53 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.CloneButton = 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 _shouldUpdate = _interopRequireDefault(require("recompose/shouldUpdate")); var _Queue = _interopRequireDefault(require("@material-ui/icons/Queue")); var _reactRouterDom = require("react-router-dom"); var _Button = _interopRequireDefault(require("./Button")); var stopPropagation = function stopPropagation(e) { return e.stopPropagation(); }; var omitId = function omitId(_ref) { var id = _ref.id, rest = (0, _objectWithoutProperties2.default)(_ref, ["id"]); return rest; }; var CloneButton = function CloneButton(_ref2) { var _ref2$basePath = _ref2.basePath, basePath = _ref2$basePath === void 0 ? '' : _ref2$basePath, _ref2$label = _ref2.label, label = _ref2$label === void 0 ? 'ra.action.clone' : _ref2$label, _ref2$record = _ref2.record, record = _ref2$record === void 0 ? {} : _ref2$record, _ref2$icon = _ref2.icon, icon = _ref2$icon === void 0 ? _react.default.createElement(_Queue.default, null) : _ref2$icon, rest = (0, _objectWithoutProperties2.default)(_ref2, ["basePath", "label", "record", "icon"]); return _react.default.createElement(_Button.default, (0, _extends2.default)({ tag: _reactRouterDom.Link, to: { pathname: "".concat(basePath, "/create"), state: { record: omitId(record) } }, label: label, onClick: stopPropagation }, rest), icon); }; exports.CloneButton = CloneButton; CloneButton.propTypes = { basePath: _propTypes.default.string, className: _propTypes.default.string, label: _propTypes.default.string, record: _propTypes.default.object, icon: _propTypes.default.element }; var enhance = (0, _shouldUpdate.default)(function (props, nextProps) { return props.translate !== nextProps.translate || props.record && nextProps.record && props.record !== nextProps.record || props.basePath !== nextProps.basePath || props.record == null && nextProps.record != null; }); var _default = enhance(CloneButton); exports.default = _default;