UNPKG

@kiwicom/smart-faq

Version:

Smart FAQ

143 lines (108 loc) 5.05 kB
"use strict"; 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;