@bootstrap-styled/ra-ui
Version:
UI components for react-admin
142 lines (107 loc) • 5.29 kB
JavaScript
"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 _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
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 _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
var _DialogContentText = _interopRequireDefault(require("@material-ui/core/DialogContentText"));
var _DialogTitle = _interopRequireDefault(require("@material-ui/core/DialogTitle"));
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
var _CheckCircle = _interopRequireDefault(require("@material-ui/icons/CheckCircle"));
var _ErrorOutline = _interopRequireDefault(require("@material-ui/icons/ErrorOutline"));
var _compose = _interopRequireDefault(require("recompose/compose"));
var _raCore = require("ra-core");
var Confirm = function (_Component) {
(0, _inherits2.default)(Confirm, _Component);
function Confirm() {
var _getPrototypeOf2;
var _this;
(0, _classCallCheck2.default)(this, Confirm);
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)(Confirm)).call.apply(_getPrototypeOf2, [this].concat(args)));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
loading: false
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleConfirm", function (e) {
e.stopPropagation();
_this.setState({
loading: true
});
_this.props.onConfirm();
});
return _this;
}
(0, _createClass2.default)(Confirm, [{
key: "render",
value: function render() {
var _this$props = this.props,
isOpen = _this$props.isOpen,
title = _this$props.title,
content = _this$props.content,
confirm = _this$props.confirm,
cancel = _this$props.cancel,
onClose = _this$props.onClose,
translate = _this$props.translate,
_this$props$translate = _this$props.translateOptions,
translateOptions = _this$props$translate === void 0 ? {} : _this$props$translate;
var loading = this.state.loading;
return _react.default.createElement(_Dialog.default, {
open: isOpen,
onClose: onClose,
"aria-labelledby": "alert-dialog-title"
}, _react.default.createElement(_DialogTitle.default, {
id: "alert-dialog-title"
}, translate(title, (0, _objectSpread2.default)({
_: title
}, translateOptions))), _react.default.createElement(_DialogContent.default, null, _react.default.createElement(_DialogContentText.default, null, translate(content, (0, _objectSpread2.default)({
_: content
}, translateOptions)))), _react.default.createElement(_DialogActions.default, null, _react.default.createElement(_Button.default, {
disabled: loading,
onClick: onClose
}, _react.default.createElement(_ErrorOutline.default, null), translate(cancel, {
_: cancel
})), _react.default.createElement(_Button.default, {
disabled: loading,
onClick: this.handleConfirm,
autoFocus: true
}, _react.default.createElement(_CheckCircle.default, null), translate(confirm, {
_: confirm
}))));
}
}]);
return Confirm;
}(_react.Component);
Confirm.propTypes = {
cancel: _propTypes.default.string.isRequired,
confirm: _propTypes.default.string.isRequired,
content: _propTypes.default.string.isRequired,
isOpen: _propTypes.default.bool,
onClose: _propTypes.default.func.isRequired,
onConfirm: _propTypes.default.func.isRequired,
title: _propTypes.default.string.isRequired,
translate: _propTypes.default.func.isRequired
};
Confirm.defaultProps = {
cancel: 'ra.action.cancel',
confirm: 'ra.action.confirm',
isOpen: false
};
var _default = (0, _compose.default)(_raCore.translate)(Confirm);
exports.default = _default;
module.exports = exports.default;