@kiwicom/smart-faq
Version:
Smart FAQ
119 lines (98 loc) • 4.04 kB
JavaScript
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;
;