UNPKG

@kiwicom/smart-faq

Version:

Smart FAQ

119 lines (98 loc) 4.04 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 = exports.SelectedBooking = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); 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 _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")); var React = _interopRequireWildcard(require("react")); // @flow /* eslint-disable react/no-unused-state */ var initialState = { userSelectedBooking: false, bookingPage: 'SINGLE_BOOKING' }; var SelectedBooking /*: React.Context<State>*/ = React.createContext((0, _objectSpread2.default)({}, initialState, { selectedBooking: null, closeAllBooking: function closeAllBooking() {}, onDisplayAll: function onDisplayAll() {}, onSelectBooking: function onSelectBooking(id /*: number*/ ) {} // eslint-disable-line no-unused-vars })); exports.SelectedBooking = SelectedBooking; var SelectedBookingProvider = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(SelectedBookingProvider, _React$Component); (0, _createClass2.default)(SelectedBookingProvider, null, [{ key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(props /*: Props*/ , state /*: State*/ ) { // when user specifically selected one booking, don't change his settings by this return state.userSelectedBooking ? null : { selectedBooking: props.bid }; } }]); function SelectedBookingProvider(props /*: Props*/ ) { var _this; (0, _classCallCheck2.default)(this, SelectedBookingProvider); _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(SelectedBookingProvider).call(this, props)); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "onClickSelect", function (id /*: number*/ ) { _this.setState({ bookingPage: 'SINGLE_BOOKING', selectedBooking: id, userSelectedBooking: true }); var Body = document.querySelector('#SmartFAQ_Body'); if (!Body) return; Body.dispatchEvent(new Event('scroll')); }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "closeAllBooking", function () { _this.setState({ bookingPage: 'SINGLE_BOOKING' }); }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "onClickAllBooking", function () { _this.setState({ bookingPage: 'ALL_BOOKINGS' }); }); _this.state = (0, _objectSpread2.default)({}, initialState, { selectedBooking: props.bid, onSelectBooking: _this.onClickSelect, closeAllBooking: _this.closeAllBooking, onDisplayAll: _this.onClickAllBooking }); return _this; } (0, _createClass2.default)(SelectedBookingProvider, [{ key: "render", value: function render() { return React.createElement(SelectedBooking.Provider, { value: this.state }, this.props.children); } }]); return SelectedBookingProvider; }(React.Component); var _default = SelectedBookingProvider; exports.default = _default;