UNPKG

@randy.tarampi/jsx

Version:

Some common JSX components for www.randytarampi.ca

65 lines (53 loc) 2.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = exports.ConnectedError = exports.connectError = void 0; var _immutable = require("connected-react-router/immutable"); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactRedux = require("react-redux"); var _clearError = _interopRequireDefault(require("../../actions/error/clearError")); var _clearErrorTimeoutHandler = _interopRequireDefault(require("../../actions/error/clearErrorTimeoutHandler")); var _setErrorTimeoutHandler = _interopRequireDefault(require("../../actions/error/setErrorTimeoutHandler")); var _error = require("../../components/error"); var _selectors = _interopRequireDefault(require("../../data/selectors")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var connectError = (0, _reactRedux.connect)(function (state, ownProps) { return { location: _selectors["default"].getLocation(state), hasError: ownProps.hasError || _selectors["default"].hasError(state), error: ownProps.error || _selectors["default"].getError(state), errorCode: ownProps.errorCode || _selectors["default"].getErrorCode(state), errorMessage: ownProps.errorMessage || _selectors["default"].getErrorMessage(state), errorTimeoutHandlerId: _selectors["default"].getErrorTimeoutHandlerId(state) }; }, function (dispatch, ownProps) { return { timedRedirect: function timedRedirect() { return new Promise(function (resolve) { var timeoutId = setTimeout(function () { if (window.location && window.location.pathname !== ownProps.redirectionLocation) { dispatch((0, _clearError["default"])()); dispatch((0, _immutable.push)(ownProps.redirectionLocation)); } resolve(); }, ownProps.redirectionTimeout * 1000); dispatch((0, _setErrorTimeoutHandler["default"])(timeoutId)); }); }, clearErrorTimeoutHandler: _clearErrorTimeoutHandler["default"] }; }); exports.connectError = connectError; var ConnectedError = connectError(_error.ErrorComponent); exports.ConnectedError = ConnectedError; ConnectedError.propTypes = { redirectionLocation: _propTypes["default"].string.isRequired, redirectionTimeout: _propTypes["default"].number }; ConnectedError.defaultProps = { redirectionLocation: "/", redirectionTimeout: 10 }; var _default = ConnectedError; exports["default"] = _default;