UNPKG

apeman-react-dialog

Version:
91 lines (76 loc) 6.47 kB
/** * @function withDialog */ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _breact = require('breact'); var _asobj = require('asobj'); var _ap_yesno_dialog = require('./ap_yesno_dialog'); var _ap_yesno_dialog2 = _interopRequireDefault(_ap_yesno_dialog); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function withDialog(Component) { return (0, _breact.wrap)(Component, { getInitialState: function getInitialState() { return { dialog: null }; }, render: function render() { var s = this; var props = s.props; var state = s.state; var dialog = state.dialog; var componentProps = (0, _asobj.clone)(props, { without: [] }); return _react2.default.createElement(Component, _extends({}, componentProps, { askYesNoWithDialog: s.askYesNo, dialog: dialog })); }, // -------------------- // Custom // -------------------- askYesNo: function askYesNo(_ref) { var title = _ref.title; var text = _ref.text; var yesText = _ref.yesText; var noText = _ref.noText; var closeIcon = _ref.closeIcon; var s = this; return new Promise(function (resolve, reject) { var dialog = _react2.default.createElement( _ap_yesno_dialog2.default, _extends({ title: title, yesText: yesText, noText: noText, closeIcon: closeIcon }, { present: true, onYes: function onYes() { return resolve(true); }, onNo: function onNo() { return resolve(false); }, onClose: function onClose() { return resolve(); } }), text, ' ' ); s.setState({ dialog: dialog }); }).then(function (answer) { s.setState({ dialog: null }); return answer; }).catch(function (err) { s.setState({ dialog: null }); return Promise.reject(err); }); } }); } exports.default = withDialog; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndpdGhfZGlhbG9nLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0FBR0E7Ozs7Ozs7O0FBRUE7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsU0FBUyxVQUFULENBQXFCLFNBQXJCLEVBQWdDO0FBQzlCLFNBQU8sa0JBQUssU0FBTCxFQUFnQjtBQUNyQixtQkFEcUIsNkJBQ0Y7QUFDakIsYUFBTztBQUNMLGdCQUFRO0FBREgsT0FBUDtBQUdELEtBTG9CO0FBTXJCLFVBTnFCLG9CQU1YO0FBQ1IsVUFBTSxJQUFJLElBQVY7QUFEUSxVQUVGLEtBRkUsR0FFZSxDQUZmLENBRUYsS0FGRTtBQUFBLFVBRUssS0FGTCxHQUVlLENBRmYsQ0FFSyxLQUZMO0FBQUEsVUFHRixNQUhFLEdBR1MsS0FIVCxDQUdGLE1BSEU7O0FBSVIsVUFBSSxpQkFBaUIsa0JBQU0sS0FBTixFQUFhO0FBQ2hDLGlCQUFTO0FBRHVCLE9BQWIsQ0FBckI7QUFHQSxhQUNFLDhCQUFDLFNBQUQsZUFBZ0IsY0FBaEI7QUFDVyw0QkFBcUIsRUFBRSxRQURsQztBQUVXLGdCQUFTO0FBRnBCLFNBREY7QUFNRCxLQW5Cb0I7OztBQXFCckI7QUFDQTtBQUNBO0FBQ0EsWUF4QnFCLDBCQXdCa0M7QUFBQSxVQUEzQyxLQUEyQyxRQUEzQyxLQUEyQztBQUFBLFVBQXBDLElBQW9DLFFBQXBDLElBQW9DO0FBQUEsVUFBOUIsT0FBOEIsUUFBOUIsT0FBOEI7QUFBQSxVQUFyQixNQUFxQixRQUFyQixNQUFxQjtBQUFBLFVBQWIsU0FBYSxRQUFiLFNBQWE7O0FBQ3JELFVBQU0sSUFBSSxJQUFWO0FBQ0EsYUFBTyxJQUFJLE9BQUosQ0FBWSxVQUFDLE9BQUQsRUFBVSxNQUFWLEVBQXFCO0FBQ3RDLFlBQUksU0FDRjtBQUFBO0FBQUEsbUJBQW9CLEVBQUUsWUFBRixFQUFTLGdCQUFULEVBQWtCLGNBQWxCLEVBQTBCLG9CQUExQixFQUFwQjtBQUNlLHlCQURmO0FBRWUsbUJBQVE7QUFBQSxxQkFBTSxRQUFRLElBQVIsQ0FBTjtBQUFBLGFBRnZCO0FBR2Usa0JBQU87QUFBQSxxQkFBTSxRQUFRLEtBQVIsQ0FBTjtBQUFBLGFBSHRCO0FBSWUscUJBQVU7QUFBQSxxQkFBTSxTQUFOO0FBQUE7QUFKekI7QUFLRyxjQUxIO0FBQUE7QUFBQSxTQURGO0FBUUEsVUFBRSxRQUFGLENBQVcsRUFBRSxjQUFGLEVBQVg7QUFDRCxPQVZNLEVBV0osSUFYSSxDQVdDLFVBQUMsTUFBRCxFQUFZO0FBQ2hCLFVBQUUsUUFBRixDQUFXLEVBQUUsUUFBUSxJQUFWLEVBQVg7QUFDQSxlQUFPLE1BQVA7QUFDRCxPQWRJLEVBZUosS0FmSSxDQWVFLFVBQUMsR0FBRCxFQUFTO0FBQ2QsVUFBRSxRQUFGLENBQVcsRUFBRSxRQUFRLElBQVYsRUFBWDtBQUNBLGVBQU8sUUFBUSxNQUFSLENBQWUsR0FBZixDQUFQO0FBQ0QsT0FsQkksQ0FBUDtBQW1CRDtBQTdDb0IsR0FBaEIsQ0FBUDtBQStDRDs7a0JBRWMsVSIsImZpbGUiOiJ3aXRoX2RpYWxvZy5qc3giLCJzb3VyY2VSb290IjoibGliIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZnVuY3Rpb24gd2l0aERpYWxvZ1xuICovXG4ndXNlIHN0cmljdCdcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHt3cmFwfSBmcm9tICdicmVhY3QnXG5pbXBvcnQge2Nsb25lfSBmcm9tICdhc29iaidcbmltcG9ydCBBcFllc25vRGlhbG9nIGZyb20gJy4vYXBfeWVzbm9fZGlhbG9nJ1xuXG5mdW5jdGlvbiB3aXRoRGlhbG9nIChDb21wb25lbnQpIHtcbiAgcmV0dXJuIHdyYXAoQ29tcG9uZW50LCB7XG4gICAgZ2V0SW5pdGlhbFN0YXRlICgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRpYWxvZzogbnVsbFxuICAgICAgfVxuICAgIH0sXG4gICAgcmVuZGVyICgpIHtcbiAgICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgICBsZXQgeyBwcm9wcywgc3RhdGUgfSA9IHNcbiAgICAgIGxldCB7IGRpYWxvZyB9ID0gc3RhdGVcbiAgICAgIGxldCBjb21wb25lbnRQcm9wcyA9IGNsb25lKHByb3BzLCB7XG4gICAgICAgIHdpdGhvdXQ6IFtdXG4gICAgICB9KVxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPENvbXBvbmVudCB7IC4uLmNvbXBvbmVudFByb3BzfVxuICAgICAgICAgICAgICAgICAgIGFza1llc05vV2l0aERpYWxvZz17IHMuYXNrWWVzTm8gfVxuICAgICAgICAgICAgICAgICAgIGRpYWxvZz17IGRpYWxvZyB9XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgfSxcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQ3VzdG9tXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBhc2tZZXNObyAoeyB0aXRsZSwgdGV4dCwgeWVzVGV4dCwgbm9UZXh0LCBjbG9zZUljb24gfSkge1xuICAgICAgY29uc3QgcyA9IHRoaXNcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGxldCBkaWFsb2cgPSAoXG4gICAgICAgICAgPEFwWWVzbm9EaWFsb2cgeyAuLi57IHRpdGxlLCB5ZXNUZXh0LCBub1RleHQsIGNsb3NlSWNvbiB9IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICBwcmVzZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgb25ZZXM9eyAoKSA9PiByZXNvbHZlKHRydWUpIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICBvbk5vPXsgKCkgPT4gcmVzb2x2ZShmYWxzZSkgfVxuICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2U9eyAoKSA9PiByZXNvbHZlKCkgfVxuICAgICAgICAgID57IHRleHQgfSA8L0FwWWVzbm9EaWFsb2c+XG4gICAgICAgIClcbiAgICAgICAgcy5zZXRTdGF0ZSh7IGRpYWxvZyB9KVxuICAgICAgfSlcbiAgICAgICAgLnRoZW4oKGFuc3dlcikgPT4ge1xuICAgICAgICAgIHMuc2V0U3RhdGUoeyBkaWFsb2c6IG51bGwgfSlcbiAgICAgICAgICByZXR1cm4gYW5zd2VyXG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgcy5zZXRTdGF0ZSh7IGRpYWxvZzogbnVsbCB9KVxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnIpXG4gICAgICAgIH0pXG4gICAgfVxuICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoRGlhbG9nXG4iXX0=