{"version":3,"sources":["webpack:///./src/js/modules/SearchFlights.js"],"names":["_core","__webpack_require__","_search","_constants","_oneworld","SearchFlightsItem","Component","this","dom","$type","$el","find","$form","$from","$to","$departure","$departureLayer","$return","$returnLayer","$location","$loungeField","$RTWField","$fields","$findLoungeUrl","dataset","findLoungeUrl","$searchUrl","searchUrl","$flightSearchUrl","flightSearchUrl","$calendarEndpoint","checkCalendarDatesUrl","$loungeListId","loungeListId","$passengersOptions","$cabinSelect","$passengerField","$passengerTab","$submitButton","$loading","$helpMessageDeparture","$helpMessageReturn","$helpInstructions","airportsUrl","data","loungeSearch","length","setAttribute","setType","value","from","Autocomplete","filter","filterAirports","bind","render","highlightAirports","getAirportValue","to","location","createDates","disableDateInputs","incrementPassengers","_this2","on","handleType","handleSubmit","checkDatesAvailable","toggleInstructions","setTotalPassengers","togglePassengerTab","Array","forEach","option","minus","querySelector","plus","input","addEventListener","decrementPassengers","document","handleClickOutside","event","contains","target","removeAttribute","e","closest","hasAttribute","mainInput","values","map","Number","selectedOption","textContent","valuesSum","reduce","a","b","valuesString","parentElement","classList","dates","_flatpickr2","default","dateFormat","DATE_FORMAT","disableMobile","minDate","onChange","handleOnChangeDates","datesReturn","selectedDate","dateObj","Date","getMonth","getDate","getFullYear","selectedDates","dateStr","instance","formattedDate","convertDateFromDatePickr","setDate","currentNewDates","returnDates","date","set","jumpToDate","getAirports","url","airports","searchAirports","item","Name","type","currentTarget","preventDefault","props","onSearch","getData","submitRedirect","number","age","_","i","departureDate","returnDate","listId","adult","children","infant","cabinValue","createArray","join","redirectUrl","buildUrl","window","href","code","Code","el","field","destroy","addClass","removeClass","showElements","hideElements","setRequiredField","removeRequiredField","setLoungeSearch","attr","findItemByCode","setSelectedItem","departureDateObj","flatpickr","parseDate","push","returnDateObj","val","locationItem","getSelectedItem","fromItem","toItem","origin","destination","isDeparture","fetch","then","response","json","_this3","datesArray","dateArray","split","Promise","resolve","reject","setTimeout","_this4","results","fetchAvailableDates","departureDates","convertDateFormat","enableDateInputs","departureInput","returnInput","fromInput","toInput","layer","enableActions","hideHelpDeparture","disableActions","showHelpDeparture","hideHelpReturn","showHelpReturn","_this5"],"mappings":"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","file":"5.5f36dc9f8f88a773f3e3.bundle.js","sourcesContent":["import { Component } from '@verndale/core';\nimport flatpickr from 'flatpickr';\nimport { searchAirports, highlightAirports } from '../helpers/search';\nimport Autocomplete from '../components/Autocomplete';\nimport { DATE_FORMAT } from '../constants';\nimport { getAirports } from '../service/oneworld';\n\nclass SearchFlightsItem extends Component {\n setupDefaults() {\n this.dom = {\n $type: this.$el.find('.js-serch-flights__type'),\n $form: this.$el.find('.js-search-flights__form'),\n $from: this.$el.find('.js-search-flights__from .autocomplete'),\n $to: this.$el.find('.js-search-flights__to .autocomplete'),\n $departure: this.$el.find('.js-search-flights__departure .field__input'),\n $departureLayer: this.$el.find(\n '.js-search-flights__departure .field-layer'\n ),\n $return: this.$el.find('.js-search-flights__return .field__input'),\n $returnLayer: this.$el.find('.js-search-flights__return .field-layer'),\n $location: this.$el.find('.search-flights__find-lounges .autocomplete'),\n $loungeField: this.$el.find('.search-flights__find-lounges'),\n $RTWField: this.$el.find('.search-flights__round-world'),\n $fields: this.$el.find('.field'),\n $findLoungeUrl: this.$el[0].dataset.findLoungeUrl,\n $searchUrl: this.$el[0].dataset.searchUrl,\n $flightSearchUrl: this.$el[0].dataset.flightSearchUrl,\n $calendarEndpoint: this.$el[0].dataset.checkCalendarDatesUrl,\n $loungeListId: this.$el[0].dataset.loungeListId,\n $passengersOptions: this.$el.find('.search-flights__passengers-option'),\n $cabinSelect: this.$el.find('.search-flights__passengers-cabin-option select'),\n $passengerField: this.$el.find('.search-flights__passengers'),\n $passengerTab: this.$el.find('.search-flights__passengers-selector'),\n $submitButton: this.$el.find('.search-flights__submit'),\n $loading: this.$el.find('.search-flights__loading'),\n $helpMessageDeparture: this.$el.find(\n '.search-flights__help-message-dates--departure'\n ),\n $helpMessageReturn: this.$el.find(\n '.search-flights__help-message-dates--return'\n ),\n $helpInstructions: this.$el.find('.search-flights__help-message-select')\n };\n\n this.airportsUrl = this.dom.$form.data('airportsUrl');\n this.loungeSearch = false;\n\n if (this.dom.$type.length) {\n this.dom.$type[0].setAttribute('checked', true);\n this.setType(this.dom.$type[0].value);\n } else {\n this.$el[0].setAttribute('hidden', true);\n }\n\n this.from = new Autocomplete(this.dom.$from, {\n filter: ::this.filterAirports,\n render: highlightAirports,\n value: ::this.getAirportValue\n });\n\n this.to = new Autocomplete(this.dom.$to, {\n filter: ::this.filterAirports,\n render: highlightAirports,\n value: ::this.getAirportValue\n });\n\n if (this.dom.$location[0]) {\n this.location = new Autocomplete(this.dom.$location, {\n filter: ::this.filterAirports,\n render: highlightAirports,\n value: ::this.getAirportValue\n });\n }\n\n this.createDates();\n this.disableDateInputs();\n this.incrementPassengers();\n }\n\n addListeners() {\n this.dom.$type.on('change', this.handleType.bind(this));\n this.dom.$form.on('submit', this.handleSubmit.bind(this));\n this.dom.$to.on('focusout', this.checkDatesAvailable.bind(this));\n this.dom.$from.on('focusout', this.checkDatesAvailable.bind(this));\n this.dom.$departureLayer.on('click', this.toggleInstructions.bind(this));\n this.dom.$returnLayer.on('click', this.toggleInstructions.bind(this));\n this.dom.$cabinSelect.on('change', this.setTotalPassengers.bind(this));\n\n this.dom.$passengerField.on('click', this.togglePassengerTab.bind(this));\n Array.from(this.dom.$passengersOptions).forEach(option => {\n const minus = option.querySelector('.minus');\n const plus = option.querySelector('.plus');\n const input = option.querySelector('.search-flights__passengers-counts');\n minus.addEventListener('click', this.decrementPassengers.bind(this));\n plus.addEventListener('click', this.incrementPassengers.bind(this));\n input.addEventListener('input', this.setTotalPassengers.bind(this));\n });\n\n document.addEventListener('mousedown', this.handleClickOutside.bind(this));\n }\n\n handleClickOutside(event) {\n if (\n this.dom.$passengerField[0] &&\n !this.dom.$passengerField[0].contains(event.target)\n ) {\n this.dom.$passengerTab[0].removeAttribute('data-show');\n }\n }\n\n togglePassengerTab(e) {\n if (e.target.closest('.field__input')) {\n if (this.dom.$passengerTab[0].hasAttribute('data-show')) {\n this.dom.$passengerTab[0].removeAttribute('data-show');\n } else {\n this.dom.$passengerTab[0].setAttribute('data-show', 'true');\n }\n }\n }\n\n setTotalPassengers() {\n const mainInput = document.querySelector(\n '.search-flights__passengers .field__input'\n );\n const values = Array.from(this.dom.$passengersOptions).map(option => {\n const input = option.querySelector('.search-flights__passengers-counts');\n return Number(input.value);\n });\n\n const selectedOption = this.dom.$cabinSelect[0].querySelector('option:checked').textContent;\n const valuesSum = values.reduce((a, b) => a + b);\n const valuesString = valuesSum > 1 ? 'Passengers' : 'Passenger';\n mainInput.value = `${valuesSum > 0 ? `${valuesSum} ${valuesString} in ${selectedOption}` : 'Please add a passenger'} `;\n }\n\n incrementPassengers(e) {\n if (e) {\n const input = e.target.parentElement.querySelector(\n '.search-flights__passengers-counts'\n );\n input.value = Number(input.value) + 1;\n } else {\n const input = this.$el.find('.search-flights__passengers-counts.adult');\n input[0].value = 1;\n }\n\n this.setTotalPassengers();\n }\n\n decrementPassengers(e) {\n const input = e.target.parentElement.querySelector(\n '.search-flights__passengers-counts'\n );\n\n if (Number(input.value) > 1 && input.classList.contains('adult')) {\n input.value = Number(input.value) - 1;\n this.setTotalPassengers();\n } else if (Number(input.value) > 0 && !input.classList.contains('adult')) {\n input.value = Number(input.value) - 1;\n this.setTotalPassengers();\n }\n }\n\n createDates() {\n if (this.dom.$departure[0] && this.dom.$return[0]) {\n this.dates = flatpickr(this.dom.$departure[0], {\n dateFormat: DATE_FORMAT,\n disableMobile: true,\n minDate: 'today',\n onChange: this.handleOnChangeDates.bind(this)\n });\n\n this.datesReturn = flatpickr(this.dom.$return[0], {\n dateFormat: DATE_FORMAT,\n disableMobile: true,\n minDate: 'today'\n });\n\n if (this.dom.$departure[0]) {\n this.dom.$departure[0].removeAttribute('readonly');\n }\n if (this.dom.$return[0]) {\n this.dom.$return[0].removeAttribute('readonly');\n }\n }\n }\n\n convertDateFromDatePickr(selectedDate) {\n const dateObj = new Date(selectedDate);\n const month = dateObj.getMonth() > 9 ? dateObj.getMonth() + 1 : `0${dateObj.getMonth() + 1}`; // Months are zero-indexed\n const day = dateObj.getDate() > 9 ? dateObj.getDate() : `0${dateObj.getDate()}`;\n const year = dateObj.getFullYear();\n\n return `${month}/${day}/${year}`;\n }\n\n handleOnChangeDates(selectedDates, dateStr, instance) {\n const formattedDate = this.convertDateFromDatePickr(selectedDates[0]);\n\n if (this.dom.$return[0].value && new Date(formattedDate) >= new Date(this.dom.$return[0].value)) {\n this.datesReturn.setDate(null);\n }\n\n const currentNewDates = this.returnDates.filter(date => {\n return new Date(date) >= new Date(formattedDate);\n });\n\n this.datesReturn.set('enable', currentNewDates);\n this.datesReturn.jumpToDate(currentNewDates[0]);\n }\n\n async filterAirports(value) {\n if (!value || value.length < 2) {\n return [];\n }\n\n const airports = await getAirports({ url: this.airportsUrl });\n\n return searchAirports(airports, value);\n }\n\n getAirportValue(item) {\n return `${item.item.Name}`;\n }\n\n handleType(e) {\n const type = e.currentTarget.value;\n this.setType(type);\n }\n\n handleSubmit(e) {\n e.preventDefault();\n if (this.props.onSearch) {\n const data = this.getData();\n this.props.onSearch(data);\n } else {\n this.submitRedirect();\n }\n }\n\n createArray(number, age) {\n return Array.from({ length: Number(number) }, (_, i) => age);\n }\n\n buildUrl(data) {\n const { location, from, to, departureDate, returnDate } = data;\n\n let url = '';\n if (location) {\n const listId = this.dom.$loungeListId ? `#${this.dom.$loungeListId}` : '';\n url = `${this.dom.$findLoungeUrl}?location=${location}${listId}`;\n }\n if (from && to && departureDate) {\n const adult = document.querySelector('.adult');\n const children = document.querySelector('.children');\n const infant = document.querySelector('.infant');\n const cabinValue = this.dom.$cabinSelect[0].value;\n\n url = `${\n this.dom.$flightSearchUrl\n }?utm_source=oneworld_picker&origins=${from}&destinations=${to}&departureDate=${departureDate}&returnDate=${returnDate}&isOneWay=${\n returnDate !== '' && returnDate ? false : true\n }&adult=${\n adult.value ? this.createArray(adult.value, 18).join(',') : ''\n }&child=${\n children.value ? this.createArray(children.value, 17).join(',') : ''\n }&infant=${\n infant.value ? this.createArray(infant.value, 0).join(',') : ''\n }&cabinClass=${cabinValue ? cabinValue : ''}`;\n }\n return url;\n }\n\n submitRedirect() {\n const data = this.getData();\n const redirectUrl = this.buildUrl(data);\n if (redirectUrl) window.location.href = redirectUrl;\n }\n\n async findItemByCode(code) {\n const airports = await getAirports({ url: this.airportsUrl });\n return airports.find(item => item.Code === code);\n }\n\n showElements(el) {\n if (el) {\n if (el.length) {\n Array.from(el).forEach(field => {\n if (field.hasAttribute('hidden')) {\n field.removeAttribute('hidden');\n }\n });\n } else {\n el.removeAttribute('hidden');\n }\n }\n }\n\n hideElements(el) {\n if (el) {\n if (el.length) {\n Array.from(el).forEach(field => {\n field.setAttribute('hidden', 'true');\n });\n } else {\n el.setAttribute('hidden', 'true');\n }\n }\n }\n\n setRequiredField(el) {\n if (el) {\n if (el.length) {\n Array.from(el).forEach(field => {\n field.querySelector('input').setAttribute('required', 'true');\n });\n } else {\n el.setAttribute('required', 'true');\n }\n }\n }\n\n removeRequiredField(el) {\n if (el) {\n if (el.length) {\n Array.from(el).forEach(field => {\n field.querySelector('input').removeAttribute('required');\n });\n } else {\n el.removeAttribute('required');\n }\n }\n }\n\n setLoungeSearch(value) {\n this.loungeSearch = value;\n }\n\n setType(type) {\n this.type = type;\n if (this.dates) {\n const selectedDates = [...this.dates.selectedDates];\n this.dates.destroy();\n this.createDates();\n this.dates.setDate(selectedDates[0]);\n this.checkDatesAvailable();\n }\n\n switch (type) {\n case 'one-way':\n this.$el.addClass('one-way');\n this.$el.removeClass('round-trip');\n this.showElements(this.dom.$fields);\n this.showElements(this.dom.$submitButton[0]);\n this.hideElements(this.dom.$loungeField[0]);\n this.hideElements(this.dom.$RTWField[0]);\n this.showElements(this.dom.$passengerField[0]);\n this.setRequiredField(\n this.dom.$passengerField[0].querySelector('input')\n );\n this.setRequiredField(this.dom.$departure[0]);\n this.removeRequiredField(this.dom.$return[0]);\n this.removeRequiredField(\n this.dom.$loungeField[0].querySelector('input')\n );\n this.setLoungeSearch(false);\n break;\n case 'round-trip':\n this.$el.addClass('round-trip');\n this.$el.removeClass('one-way');\n this.showElements(this.dom.$fields);\n this.showElements(this.dom.$submitButton[0]);\n this.hideElements(this.dom.$loungeField[0]);\n this.hideElements(this.dom.$RTWField[0]);\n this.showElements(this.dom.$passengerField[0]);\n this.setRequiredField(this.dom.$return[0]);\n this.setRequiredField(this.dom.$departure[0]);\n this.setRequiredField(\n this.dom.$passengerField[0].querySelector('input')\n );\n this.removeRequiredField(\n this.dom.$loungeField[0].querySelector('input')\n );\n this.setLoungeSearch(false);\n break;\n case 'find-lounge':\n this.hideElements(this.dom.$fields);\n this.showElements(this.dom.$loungeField[0]);\n this.showElements(this.dom.$submitButton[0]);\n this.hideElements(this.dom.$RTWField[0]);\n this.hideElements(this.dom.$passengerField[0]);\n this.removeRequiredField(this.dom.$fields);\n this.removeRequiredField(\n this.dom.$passengerField[0].querySelector('input')\n );\n this.setRequiredField(this.dom.$loungeField[0].querySelector('input'));\n this.setLoungeSearch(true);\n break;\n case 'round-world':\n this.hideElements(this.dom.$fields);\n this.hideElements(this.dom.$loungeField[0]);\n this.showElements(this.dom.$RTWField[0]);\n this.hideElements(this.dom.$passengerField[0]);\n this.hideElements(this.dom.$submitButton[0]);\n this.removeRequiredField(this.dom.$fields);\n this.removeRequiredField(\n this.dom.$passengerField[0].querySelector('input')\n );\n this.removeRequiredField(\n this.dom.$loungeField[0].querySelector('input')\n );\n this.setLoungeSearch(false);\n break;\n default:\n this.$el.addClass('one-way');\n this.$el.removeClass('round-trip');\n this.showElements(this.dom.$fields);\n this.hideElements(this.dom.$loungeField[0]);\n this.setLoungeSearch(false);\n }\n }\n\n setRoundTrip() {\n this.dom.$type.filter('[value=\"round-trip\"]').attr('checked', true);\n this.setType('round-trip');\n }\n\n async setFrom(from) {\n const item = await this.findItemByCode(from);\n this.from.setSelectedItem({ item });\n }\n\n async setTo(to) {\n const item = await this.findItemByCode(to);\n this.to.setSelectedItem({ item });\n }\n\n setDates(departureDate, returnDate) {\n const dates = [];\n if (departureDate) {\n const departureDateObj = flatpickr.parseDate(departureDate, DATE_FORMAT);\n dates.push(departureDateObj);\n }\n if (returnDate) {\n const returnDateObj = flatpickr.parseDate(returnDate, DATE_FORMAT);\n dates.push(returnDateObj);\n }\n this.dates.setDate(dates);\n this.dom.$departure.val(departureDate || '');\n this.dom.$return.val(returnDate || '');\n }\n\n getData() {\n const data = {};\n if (!this.loungeSearch) {\n const fromItem = this.from.getSelectedItem();\n const toItem = this.to.getSelectedItem();\n const departureDate = this.dom.$departure.val();\n const returnDate = this.dom.$return.val();\n\n if (fromItem) {\n data.from = fromItem.Code;\n }\n if (toItem) {\n data.to = toItem.Code;\n }\n if (departureDate) {\n data.departureDate = departureDate;\n data.departureDateObj = this.dates.selectedDates[0];\n }\n if (returnDate) {\n data.returnDate = returnDate;\n data.returnDateObj = this.dates.selectedDates[1];\n }\n } else {\n const locationItem = this.location.getSelectedItem();\n\n if (locationItem) {\n data.location = locationItem.Code;\n }\n }\n return data;\n }\n\n async fetchAvailableDates(origin, destination, isDeparture) {\n this.dom.$loading.addClass('loading');\n this.dom.$loading.find('.spinner').addClass('is-active');\n\n // use this urls for testing\n // const urlGoing = `https://private-662090-oneworldapi1.apiary-mock.com/travel-dates-go?origin=${origin}&destination=${destination}`;\n // const urlBack = `https://private-662090-oneworldapi1.apiary-mock.com/travel-dates-return?origin=${origin}&destination=${destination}`;\n // isDeparture ? urlGoing : urlBack\n // eslint-disable-next-line no-undef\n return fetch(\n `${this.dom.$calendarEndpoint}?origin=${origin}&destination=${destination}`\n )\n .then(response => response.json())\n .then(data => {\n if (data.dates) {\n this.dom.$loading.removeClass('loading');\n this.dom.$loading.find('.spinner').removeClass('is-active');\n return data.dates;\n }\n });\n }\n\n convertDateFormat(datesArray) {\n return datesArray.map(date => {\n const dateArray = date.split('-');\n return `${dateArray[1]}/${dateArray[2]}/${dateArray[0]}`;\n });\n }\n\n async checkDatesAvailable() {\n this.disableDateInputs();\n\n const data = new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(this.getData());\n }, 500);\n });\n\n const results = await data;\n\n if (results) {\n if (this.type === 'one-way') {\n if (results.from && results.to) {\n this.departureDates = await this.fetchAvailableDates(\n results.from,\n results.to,\n true\n );\n\n if (await this.departureDates) {\n this.departureDates = this.convertDateFormat(this.departureDates);\n\n this.dates.set('enable', this.departureDates);\n this.enableDateInputs();\n }\n }\n } else if (this.type === 'round-trip') {\n if (results.from && results.to) {\n this.departureDates = await this.fetchAvailableDates(\n results.from,\n results.to,\n true\n );\n this.returnDates = await this.fetchAvailableDates(\n results.to,\n results.from,\n false\n );\n\n if (await this.returnDates) {\n this.departureDates = this.convertDateFormat(this.departureDates);\n this.returnDates = this.convertDateFormat(this.returnDates);\n\n this.dates.set('enable', this.departureDates);\n this.datesReturn.set('enable', this.returnDates);\n this.enableDateInputs();\n }\n }\n }\n }\n }\n\n disableDateInputs() {\n const departureInput = this.dom.$departure[0];\n const returnInput = this.dom.$return[0];\n const fromInput = this.dom.$from.find('input')[0];\n const toInput = this.dom.$to.find('input')[0];\n if (this.type === 'one-way' && this.dom.$departure[0]) {\n departureInput.setAttribute('disabled', true);\n } else if (this.type === 'round-trip' && this.dom.$departure[0] && this.dom.$return[0]) {\n departureInput.setAttribute('disabled', true);\n returnInput.setAttribute('disabled', true);\n }\n if (!fromInput.value || !toInput.value) {\n if (this.dom.$departureLayer[0]) {\n this.dom.$departureLayer[0].removeAttribute('hidden');\n }\n if (this.dom.$returnLayer[0]) {\n this.dom.$returnLayer[0].removeAttribute('hidden');\n }\n }\n }\n\n enableActions(input, layer) {\n input.removeAttribute('disabled');\n layer.setAttribute('hidden', 'true');\n }\n\n disableActions(input, layer) {\n input.setAttribute('disabled', true);\n layer.removeAttribute('hidden');\n }\n\n enableDateInputs() {\n const departureInput = this.dom.$departure[0];\n const returnInput = this.dom.$return[0];\n\n if (this.type === 'one-way') {\n if (this.departureDates.length) {\n this.enableActions(departureInput, this.dom.$departureLayer[0]);\n this.hideHelpDeparture();\n } else {\n this.disableActions(departureInput, this.dom.$departureLayer[0]);\n this.showHelpDeparture();\n }\n } else if (this.type === 'round-trip') {\n if (this.departureDates.length) {\n this.enableActions(departureInput, this.dom.$departureLayer[0]);\n this.hideHelpDeparture();\n } else {\n this.disableActions(departureInput, this.dom.$departureLayer[0]);\n this.showHelpDeparture();\n }\n\n if (this.returnDates.length) {\n this.enableActions(returnInput, this.dom.$returnLayer[0]);\n this.hideHelpReturn();\n } else {\n this.disableActions(returnInput, this.dom.$returnLayer[0]);\n this.showHelpReturn();\n }\n }\n }\n\n showHelpDeparture() {\n this.dom.$helpMessageDeparture[0].removeAttribute('hidden');\n }\n\n showHelpReturn() {\n this.dom.$helpMessageReturn[0].removeAttribute('hidden');\n }\n\n hideHelpDeparture() {\n this.dom.$helpMessageDeparture[0].setAttribute('hidden', true);\n }\n\n hideHelpReturn() {\n this.dom.$helpMessageReturn[0].setAttribute('hidden', true);\n }\n\n toggleInstructions(e) {\n const target = e.currentTarget.parentElement.querySelector('input');\n const from = this.dom.$from.find('input')[0];\n const to = this.dom.$to.find('input')[0];\n\n if (target && target.value) {\n return;\n }\n if (!from.value || !to.value) {\n this.dom.$helpInstructions[0].removeAttribute('hidden');\n setTimeout(() => {\n this.dom.$helpInstructions[0].setAttribute('hidden', true);\n }, 5000);\n }\n }\n}\n\nexport default SearchFlightsItem;\n"],"sourceRoot":""}