cosmo-ui
Version:
Common React components
54 lines • 2.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var React = require("react");
var react_redux_1 = require("react-redux");
var _1 = require("../");
var actions_1 = require("../../actions");
var reducers_1 = require("../../reducers");
var styles = require('../../../src/styles/components/modal.scss');
/**
* A confirm modal takes optional handlers for its buttons
* Any modal that uses this presentational component
* must be independently registered with the ModalRoot
*/
var ConfirmModalComponent = (function (_super) {
tslib_1.__extends(ConfirmModalComponent, _super);
function ConfirmModalComponent() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.onConfirm = function () {
var _a = _this.props, closeModal = _a.closeModal, onConfirm = _a.onConfirm;
closeModal();
if (onConfirm)
onConfirm();
};
_this.onCancel = function () {
var _a = _this.props, closeModal = _a.closeModal, onCancel = _a.onCancel;
closeModal();
if (onCancel)
onCancel();
};
return _this;
}
ConfirmModalComponent.prototype.render = function () {
var _a = this.props, icon = _a.icon, closeButton = _a.closeButton, children = _a.children;
return (React.createElement(_1.ModalPopup, { closeButton: closeButton },
React.createElement(_1.ModalPopupContent, null,
icon
? React.createElement(_1.Icon, { className: styles.modalIcon, size: 32, fill: "primary", icon: icon })
: null,
React.createElement("div", { className: styles.modalMessage }, children)),
React.createElement(_1.ButtonBar, null,
React.createElement(_1.Button, { onClick: this.onConfirm }, "OK"),
React.createElement(_1.Button, { onClick: this.onCancel }, "CANCEL"))));
};
return ConfirmModalComponent;
}(React.Component));
var mapStateToProps = function (state, ownProps) { return ({
state: state[reducers_1.MODAL_REDUCER_KEY],
}); };
var mapDispatchToProps = {
closeModal: actions_1.hideModal,
};
exports.ConfirmModal = react_redux_1.connect(mapStateToProps, mapDispatchToProps)(ConfirmModalComponent);
//# sourceMappingURL=confirm-modal.js.map