@kiwicom/smart-faq
Version:
Smart FAQ
143 lines (108 loc) • 5.05 kB
JavaScript
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _idx = _interopRequireDefault(require("idx"));
var React = _interopRequireWildcard(require("react"));
var _reactRouterDom = require("react-router-dom");
var _QueryRenderer = _interopRequireDefault(require("./QueryRenderer"));
var _GuaranteeNeededResolver = _interopRequireDefault(require("../../shared/relay/GuaranteeNeededResolver"));
var _BookingAnalyticsTracker = _interopRequireDefault(require("./BookingAnalyticsTracker"));
var _BookingState = require("../context/BookingState");
var _User = require("../context/User");
var _environment = require("../../shared/relay/environment");
// @flow
var RendererWithKWToken = (0, _User.withKwAuthToken)(_QueryRenderer.default);
var BookingRenderer =
/*#__PURE__*/
function (_React$Component) {
(0, _inherits2.default)(BookingRenderer, _React$Component);
function BookingRenderer() {
var _getPrototypeOf2;
var _this;
(0, _classCallCheck2.default)(this, BookingRenderer);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(BookingRenderer)).call.apply(_getPrototypeOf2, [this].concat(args)));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "renderBooking", function (renderState
/*: RenderState<RenderProps>*/
) {
if (renderState.error) {
if (renderState.error.message === _environment.ERROR_FORBIDDEN) {
(0, _asyncToGenerator2.default)(
/*#__PURE__*/
_regenerator.default.mark(function _callee() {
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return _this.props.onLogout();
case 2:
_this.props.history.push({
pathname: '/',
state: {
sessionExpired: true
}
});
case 3:
case "end":
return _context.stop();
}
}
}, _callee, this);
}))().catch(console.error); //eslint-disable-line no-console
return _this.props.render({
error: null,
props: null
});
}
}
var booking = // $FlowExpectedError: Expected
(0, _idx.default)(renderState.props, function (_) {
return _.singleBooking;
}) || // $FlowExpectedError: Expected
(0, _idx.default)(renderState.props, function (_) {
return _.nearestBooking;
});
return React.createElement(React.Fragment, null, renderState.props && React.createElement(_GuaranteeNeededResolver.default, {
booking: booking,
eventSource: "smartFAQ"
}), renderState.props && booking && React.createElement(_BookingAnalyticsTracker.default, {
booking: booking
}), _this.props.render(renderState));
});
return _this;
}
(0, _createClass2.default)(BookingRenderer, [{
key: "render",
value: function render() {
var _this$props = this.props,
query = _this$props.query,
cacheConfig = _this$props.cacheConfig,
variables = _this$props.variables;
return React.createElement(RendererWithKWToken, {
query: query,
cacheConfig: cacheConfig,
variables: variables,
render: this.renderBooking
});
}
}]);
return BookingRenderer;
}(React.Component);
var _default = (0, _reactRouterDom.withRouter)((0, _BookingState.withLogout)(BookingRenderer));
exports.default = _default;
;