@bootstrap-styled/ra-ui
Version:
UI components for react-admin
64 lines (48 loc) • 2.32 kB
JavaScript
"use strict";
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 _shouldUpdate = _interopRequireDefault(require("recompose/shouldUpdate"));
var _Create = _interopRequireDefault(require("@material-ui/icons/Create"));
var _reactRouterDom = require("react-router-dom");
var _raCore = require("ra-core");
var _Button = _interopRequireDefault(require("./Button"));
var stopPropagation = function stopPropagation(e) {
return e.stopPropagation();
};
var EditButton = function EditButton(_ref) {
var _ref$basePath = _ref.basePath,
basePath = _ref$basePath === void 0 ? '' : _ref$basePath,
_ref$label = _ref.label,
label = _ref$label === void 0 ? 'ra.action.edit' : _ref$label,
_ref$record = _ref.record,
record = _ref$record === void 0 ? {} : _ref$record,
_ref$icon = _ref.icon,
icon = _ref$icon === void 0 ? _react.default.createElement(_Create.default, null) : _ref$icon,
rest = (0, _objectWithoutProperties2.default)(_ref, ["basePath", "label", "record", "icon"]);
return _react.default.createElement(_Button.default, (0, _extends2.default)({
tag: _reactRouterDom.Link,
to: (0, _raCore.linkToRecord)(basePath, record.id),
label: label,
onClick: stopPropagation
}, rest), icon);
};
EditButton.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.id !== nextProps.record.id || props.basePath !== nextProps.basePath || props.record == null && nextProps.record != null;
});
var _default = enhance(EditButton);
exports.default = _default;
module.exports = exports.default;