@flexis/ui
Version:
Styleless React Components
201 lines (171 loc) • 10.8 kB
JavaScript
import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
import _regeneratorRuntime from "@babel/runtime-corejs3/regenerator";
import _asyncToGenerator from "@babel/runtime-corejs3/helpers/asyncToGenerator";
import _extends from "@babel/runtime-corejs3/helpers/extends";
import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/objectWithoutProperties";
import _classCallCheck from "@babel/runtime-corejs3/helpers/classCallCheck";
import _createClass from "@babel/runtime-corejs3/helpers/createClass";
import _possibleConstructorReturn from "@babel/runtime-corejs3/helpers/possibleConstructorReturn";
import _getPrototypeOf from "@babel/runtime-corejs3/helpers/getPrototypeOf";
import _inherits from "@babel/runtime-corejs3/helpers/inherits";
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _forEachInstanceProperty(_context3 = ownKeys(Object(source), true)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { var _context4; _forEachInstanceProperty(_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
import { __decorate } from "tslib";
import React from 'react';
var _createElement = React.createElement;
var PureComponent = React.PureComponent;
import { Bind } from '../../helpers';
import Modal from '../Modal';
import { style, classes } from './ConfirmModal.st.css';
var ConfirmModal =
/** @class */
function () {
var ConfirmModal = /*#__PURE__*/function (_PureComponent) {
_inherits(ConfirmModal, _PureComponent);
function ConfirmModal() {
var _this;
_classCallCheck(this, ConfirmModal);
_this = _possibleConstructorReturn(this, _getPrototypeOf(ConfirmModal).apply(this, arguments));
_this.state = {
active: false
};
_this.resolver = null;
_this.promise = null;
return _this;
}
_createClass(ConfirmModal, [{
key: "render",
value: function render() {
var _this$props = this.props,
className = _this$props.className,
children = _this$props.children,
props = _objectWithoutProperties(_this$props, ["className", "children"]);
var active = this.state.active;
return _createElement(Modal, _extends({}, props, {
className: style(classes.root, className),
onClose: this.onClose,
active: active
}), _createElement("form", {
className: classes.form,
onSubmit: this.onSubmit,
onClick: this.onClick
}, children));
}
}, {
key: "onSubmit",
value: function () {
var _onSubmit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) {
return _regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
event.preventDefault();
event.stopPropagation();
_context.next = 4;
return this.setActiveState(false);
case 4:
this.resolve(true);
case 5:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function onSubmit(_x) {
return _onSubmit.apply(this, arguments);
}
return onSubmit;
}()
}, {
key: "onClick",
value: function onClick(_ref) {
var target = _ref.target;
if (target.type === 'reset') {
this.hide();
}
}
}, {
key: "onClose",
value: function onClose() {
this.hide();
}
}, {
key: "resolve",
value: function resolve(state) {
var resolver = this.resolver;
if (typeof resolver === 'function') {
resolver(state);
this.resolver = null;
this.promise = null;
}
}
}, {
key: "setActiveState",
value: function setActiveState(active) {
var _this2 = this;
return new _Promise(function (resolve) {
_this2.setState(function () {
return {
active: active
};
}, resolve);
});
}
}, {
key: "show",
value: function show() {
var _this3 = this;
if (!this.promise) {
this.promise = new _Promise(function (resolve) {
_this3.resolver = resolve;
_this3.setActiveState(true);
});
}
return this.promise;
}
}, {
key: "hide",
value: function () {
var _hide = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return this.setActiveState(false);
case 2:
this.resolve(false);
case 3:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
function hide() {
return _hide.apply(this, arguments);
}
return hide;
}()
}]);
return ConfirmModal;
}(PureComponent);
process.env.NODE_ENV !== "production" ? ConfirmModal.propTypes = _objectSpread({}, Modal.propTypes) : void 0;
ConfirmModal.defaultProps = _objectSpread({}, Modal.defaultProps);
__decorate([Bind()], ConfirmModal.prototype, "onSubmit", null);
__decorate([Bind()], ConfirmModal.prototype, "onClick", null);
__decorate([Bind()], ConfirmModal.prototype, "onClose", null);
return ConfirmModal;
}();
export default ConfirmModal;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbmZpcm1Nb2RhbC9Db25maXJtTW9kYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQVAsTUFJTyxPQUpQOzs7QUFLQSxTQUNDLElBREQsUUFFTyxlQUZQO0FBR0EsT0FBTyxLQUFQLE1BRU8sVUFGUDtBQUdBLFNBQ0MsS0FERCxFQUVDLE9BRkQsUUFHTyx1QkFIUDs7QUFXQSxJQUFBLFlBQUE7QUFBQTtBQUFBLFlBQUE7QUFBQSxNQUFxQixZQUFyQjtBQUFBOztBQUFBLDRCQUFBO0FBQUE7O0FBQUE7OztBQVVDLFlBQUEsS0FBQSxHQUFRO0FBQ1AsUUFBQSxNQUFNLEVBQUU7QUFERCxPQUFSO0FBSVEsWUFBQSxRQUFBLEdBQXFDLElBQXJDO0FBQ0EsWUFBQSxPQUFBLEdBQTRCLElBQTVCO0FBZlQ7QUEwR0M7O0FBMUdEO0FBQUE7QUFBQSwrQkFpQk87QUFBQSwwQkFNRCxLQUFLLEtBTko7QUFBQSxZQUdKLFNBSEksZUFHSixTQUhJO0FBQUEsWUFJSixRQUpJLGVBSUosUUFKSTtBQUFBLFlBS0QsS0FMQzs7QUFBQSxZQVFKLE1BUkksR0FTRCxLQUFLLEtBVEosQ0FRSixNQVJJO0FBV0wsZUFDQyxlQUFDLEtBQUQsZUFDSyxLQURMO0FBRUMsVUFBQSxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFULEVBQWUsU0FBZixDQUZqQjtBQUdDLFVBQUEsT0FBTyxFQUFFLEtBQUssT0FIZjtBQUlDLFVBQUEsTUFBTSxFQUFFO0FBSlQsWUFNQztBQUNDLFVBQUEsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQURwQjtBQUVDLFVBQUEsUUFBUSxFQUFFLEtBQUssUUFGaEI7QUFHQyxVQUFBLE9BQU8sRUFBRSxLQUFLO0FBSGYsV0FLRSxRQUxGLENBTkQsQ0FERDtBQWdCQTtBQTVDRjtBQUFBO0FBQUE7QUFBQSxrR0ErQ3dCLEtBL0N4QjtBQUFB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