@flexis/ui
Version:
Styleless React Components
230 lines (179 loc) • 11.9 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
var _Object$defineProperty2 = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
_Object$defineProperty2(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-property"));
var _defineProperties = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-properties"));
var _getOwnPropertyDescriptors = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors"));
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor"));
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
var _defineProperty3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs3/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits"));
var _tslib = require("tslib");
var _react = _interopRequireDefault(require("react"));
var _helpers = require("../../helpers");
var _Modal = _interopRequireDefault(require("../Modal"));
var _ConfirmModalSt = require("./ConfirmModal.st.css");
function ownKeys(object, enumerableOnly) { var keys = (0, _keys.default)(object); if (_getOwnPropertySymbols.default) { var symbols = (0, _getOwnPropertySymbols.default)(object); if (enumerableOnly) symbols = (0, _filter.default)(symbols).call(symbols, function (sym) { return (0, _getOwnPropertyDescriptor.default)(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; (0, _forEach.default)(_context3 = ownKeys(Object(source), true)).call(_context3, function (key) { (0, _defineProperty3.default)(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors.default) { (0, _defineProperties.default)(target, (0, _getOwnPropertyDescriptors.default)(source)); } else { var _context4; (0, _forEach.default)(_context4 = ownKeys(Object(source))).call(_context4, function (key) { (0, _defineProperty2.default)(target, key, (0, _getOwnPropertyDescriptor.default)(source, key)); }); } } return target; }
var _createElement = _react.default.createElement;
var PureComponent = _react.default.PureComponent;
var ConfirmModal =
/** @class */
function () {
var ConfirmModal = /*#__PURE__*/function (_PureComponent) {
(0, _inherits2.default)(ConfirmModal, _PureComponent);
function ConfirmModal() {
var _this;
(0, _classCallCheck2.default)(this, ConfirmModal);
_this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(ConfirmModal).apply(this, arguments));
_this.state = {
active: false
};
_this.resolver = null;
_this.promise = null;
return _this;
}
(0, _createClass2.default)(ConfirmModal, [{
key: "render",
value: function render() {
var _this$props = this.props,
className = _this$props.className,
children = _this$props.children,
props = (0, _objectWithoutProperties2.default)(_this$props, ["className", "children"]);
var active = this.state.active;
return _createElement(_Modal.default, (0, _extends2.default)({}, props, {
className: (0, _ConfirmModalSt.style)(_ConfirmModalSt.classes.root, className),
onClose: this.onClose,
active: active
}), _createElement("form", {
className: _ConfirmModalSt.classes.form,
onSubmit: this.onSubmit,
onClick: this.onClick
}, children));
}
}, {
key: "onSubmit",
value: function () {
var _onSubmit = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(event) {
return _regenerator.default.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.default(function (resolve) {
_this2.setState(function () {
return {
active: active
};
}, resolve);
});
}
}, {
key: "show",
value: function show() {
var _this3 = this;
if (!this.promise) {
this.promise = new _promise.default(function (resolve) {
_this3.resolver = resolve;
_this3.setActiveState(true);
});
}
return this.promise;
}
}, {
key: "hide",
value: function () {
var _hide = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
return _regenerator.default.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.default.propTypes) : void 0;
ConfirmModal.defaultProps = _objectSpread({}, _Modal.default.defaultProps);
(0, _tslib.__decorate)([(0, _helpers.Bind)()], ConfirmModal.prototype, "onSubmit", null);
(0, _tslib.__decorate)([(0, _helpers.Bind)()], ConfirmModal.prototype, "onClick", null);
(0, _tslib.__decorate)([(0, _helpers.Bind)()], ConfirmModal.prototype, "onClose", null);
return ConfirmModal;
}();
var _default = ConfirmModal;
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbmZpcm1Nb2RhbC9Db25maXJtTW9kYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFLQTs7QUFHQTs7QUFHQTs7Ozs7Ozs7O0FBV0EsSUFBQSxZQUFBO0FBQUE7QUFBQSxZQUFBO0FBQUEsTUFBcUIsWUFBckI7QUFBQTs7QUFBQSw0QkFBQTtBQUFBOztBQUFBOztBQVVDLFlBQUEsS0FBQSxHQUFRO0FBQ1AsUUFBQSxNQUFNLEVBQUU7QUFERCxPQUFSO0FBSVEsWUFBQSxRQUFBLEdBQXFDLElBQXJDO0FBQ0EsWUFBQSxPQUFBLEdBQTRCLElBQTVCO0FBZlQ7QUEwR0M7O0FBMUdEO0FBQUE7QUFBQSwrQkFpQk87QUFBQSwwQkFNRCxLQUFLLEtBTko7QUFBQSxZQUdKLFNBSEksZUFHSixTQUhJO0FBQUEsWUFJSixRQUpJLGVBSUosUUFKSTtBQUFBLFlBS0QsS0FMQztBQUFBLFlBUUosTUFSSSxHQVNELEtBQUssS0FUSixDQVFKLE1BUkk7QUFXTCxlQUNDLGVBQUMsY0FBRCw2QkFDSyxLQURMO0FBRUMsVUFBQSxTQUFTLEVBQUUsMkJBQU0sd0JBQVEsSUFBZCxFQUFvQixTQUFwQixDQUZaO0FBR0MsVUFBQSxPQUFPLEVBQUUsS0FBSyxPQUhmO0FBSUMsVUFBQSxNQUFNLEVBQUU7QUFKVCxZQU1DO0FBQ0MsVUFBQSxTQUFTLEVBQUUsd0JBQVEsSUFEcEI7QUFFQyxVQUFBLFFBQVEsRUFBRSxLQUFLLFFBRmhCO0FBR0MsVUFBQSxPQUFPLEVBQUUsS0FBSztBQUhmLFdBS0UsUUFMRixDQU5ELENBREQ7QUFnQkE7QUE1Q0Y7QUFBQTtBQUFBO0FBQUEsaUhBK0N3QixLQS9DeEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdERSxrQkFBQSxLQUFLLENBQUMsY0FBTjtBQUNBLGtCQUFBLEtBQUssQ0FBQyxlQUFOO0FBakRGO0FBQUEseUJBa0RRLEtBQUssY0FBTCxDQUFvQixLQUFwQixDQWxEUjs7QUFBQTtBQW1ERSx1QkFBSyxPQUFMLENBQWEsSUFBYjs7QUFuREY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsb0NBd0R5RTtBQUFBLFlBQXJFLE1BQXFFLFFBQXJFLE1BQXFFOztBQUd2RSxZQUFJLE1BQU0sQ0FBQyxJQUFQLEtBQWdCLE9BQXBCLEVBQTZCO0FBQzVCLGVBQUssSUFBTDtBQUNBO0FBQ0Q7QUE5REY7QUFBQTtBQUFBLGdDQWlFZ0I7QUFDZCxhQUFLLElBQUw7QUFDQTtBQW5FRjtBQUFBO0FBQUEsOEJBcUVTLEtBckVULEVBcUV1QjtBQUFBLFlBR3BCLFFBSG9CLEdBSWpCLElBSmlCLENBR3BCLFFBSG9COztBQU1yQixZQUFJLE9BQU8sUUFBUCxLQUFvQixVQUF4QixFQUFvQztBQUNuQyxVQUFBLFFBQVEsQ0FBQyxLQUFELENBQVI7QUFDQSxlQUFLLFFBQUwsR0FBZ0IsSUFBaEI7QUFDQSxlQUFLLE9BQUwsR0FBZSxJQUFmO0FBQ0E7QUFDRDtBQWhGRjtBQUFBO0FBQUEscUNBa0ZnQixNQWxGaEIsRUFrRitCO0FBQUE7O0FBQzdCLGVBQU8scUJBQVksVUFBQyxPQUFELEVBQVk7QUFDOUIsVUFBQSxNQUFJLENBQUMsUUFBTCxDQUFjO0FBQUEsbUJBQU87QUFDcEIsY0FBQSxNQUFNLEVBQU47QUFEb0IsYUFBUDtBQUFBLFdBQWQsRUFFSSxPQUZKO0FBR0EsU0FKTSxDQUFQO0FBS0E7QUF4RkY7QUFBQTtBQUFBLDZCQTBGSztBQUFBOztBQUVILFlBQUksQ0FBQyxLQUFLLE9BQVYsRUFBbUI7QUFDbEIsZUFBSyxPQUFMLEdBQWUscUJBQXFCLFVBQUMsT0FBRCxFQUFZO0FBQy9DLFlBQUEsTUFBSSxDQUFDLFFBQUwsR0FBZ0IsT0FBaEI7O0FBQ0EsWUFBQSxNQUFJLENBQUMsY0FBTCxDQUFvQixJQUFwQjtBQUNBLFdBSGMsQ0FBZjtBQUlBOztBQUVELGVBQU8sS0FBSyxPQUFaO0FBQ0E7QUFwR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEseUJBdUdRLEtBQUssY0FBTCxDQUFvQixLQUFwQixDQXZHUjs7QUFBQTtBQXdHRSx1QkFBSyxPQUFMLENBQWEsS0FBYjs7QUF4R0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFBMEMsYUFBMUM7O0FBRVEsMENBQUEsWUFBQSxDQUFBLFNBQUEscUJBQ0gsZUFBTSxTQURIO0FBSUEsRUFBQSxZQUFBLENBQUEsWUFBQSxxQkFDSCxlQUFNLFlBREg7QUF5Q1AseUJBQUEsQ0FEQyxvQkFDRCxDQUFBLEUsc0JBQUEsRSxVQUFBLEVBS0MsSUFMRDtBQVFBLHlCQUFBLENBREMsb0JBQ0QsQ0FBQSxFLHNCQUFBLEUsU0FBQSxFQU9DLElBUEQ7QUFVQSx5QkFBQSxDQURDLG9CQUNELENBQUEsRSxzQkFBQSxFLFNBQUEsRUFFQyxJQUZEO0FBeUNELFNBQUEsWUFBQTtBQUFDLENBMUdELEVBQUE7O2VBQXFCLFkiLCJzb3VyY2VSb290IjoiIn0=