{"version":3,"file":"accommodation-only-b217a624db.js","sources":["accommodation-only-b217a624db.js"],"sourcesContent":["import { updateSearchBarOptions as searchBarUpdateSearchBarOptions } from \"./search-bar.js\";\r\n\r\nvar checkboxSelector = '.js-accommodation-only-checkbox';\r\nvar radioButtonSelector = 'input[type=\"radio\"][name=\"holidayPackageType\"]';\r\nvar disabledAfterUncheckedAttribute = 'data-accom-only-disable-after-unchecked';\r\n\r\nfunction init() {\r\n\tif (!$(checkboxSelector).length) {\r\n\t\treturn;\r\n\t}\r\n\tattachEvents();\r\n\twatchForSearchOptionsReceived();\r\n}\r\n\r\nfunction attachEvents() {\r\n\t$(checkboxSelector).off('change', handleCheckboxChange).on('change', handleCheckboxChange);\r\n\t$(radioButtonSelector).off('change', handleRadioButtonChange).on('change', handleRadioButtonChange);\r\n}\r\n\r\nfunction watchForSearchOptionsReceived() {\r\n\twindow.site.doc.on(\"searchOptionsReceived\", function(data) {\r\n\t\tif (data.options.AccommodationOnlyAvailable && data.options.EnableDepartureAirports) {\r\n\t\t\tenableAccomodationOnlyCheckbox(data.wrapper);\r\n\t\t} else {\r\n\t\t\tdisableAccomodationOnlyCheckbox(data.wrapper);\r\n\t\t}\r\n\t\tvar checkbox = $(data.wrapper).find(checkboxSelector);\r\n\t\tif (!checkbox.is(':checked') && data.options.AccommodationOnlyAvailable && data.options.IsAccommodationOnlySearch) {\r\n\t\t\tcheckbox.prop('checked', true);\r\n\t\t\tupdateSubFilter(checkbox);\r\n\t\t} else if (checkbox.is(':checked') && !data.options.IsAccommodationOnlySearch && !data.options.AccommodationOnlyAvailable) {\r\n\t\t\tcheckbox.removeAttr('checked');\r\n\t\t\tupdateSubFilter(checkbox);\r\n\t\t}\r\n\r\n\t\tpropagateChanges(checkbox);\r\n\t});\r\n}\r\n\r\nfunction updateSubFilter(checkboxElement) {\r\n\tif (checkboxElement.is(':checked')) {\r\n\t\t$('input[name=\"holidayPackageType\"][value=\"accommodationOnly\"]').prop('checked', true);\r\n\t} else {\r\n\t\t$('input[name=\"holidayPackageType\"][value=\"accommodationOnly\"]').prop('checked', false);\r\n\t\t$('input[name=\"holidayPackageType\"][value=\"\"]').prop('checked', true);\r\n\t\tif (checkboxElement.attr(disabledAfterUncheckedAttribute)) {\r\n\t\t\tdisableAccomodationOnlyCheckbox(checkboxElement.closest('.js-folks-selector-wrapper'));\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\nfunction propagateChanges(checkboxElement) {\r\n\tvar nearestAirportList = checkboxElement.parent().parent().parent().next().find('.js-airport-picker-facade');\r\n\tif (checkboxElement.is(':checked')) {\r\n\t\tnearestAirportList.addClass('hello').prop('disabled', true);\r\n\t} else {\r\n\t\tnearestAirportList.removeClass('js-disabled-input').prop('disabled', false);\r\n\t}\r\n}\r\n\r\nfunction handleCheckboxChange(checkboxElementToChange) {\r\n\r\n\tvar checkboxElement = $((checkboxElementToChange || { target: this }).target);\r\n\tupdateSubFilter(checkboxElement);\r\n\r\n\tsearchBarUpdateSearchBarOptions();\r\n\r\n\tif (!shouldUpdatePackageRadios(checkboxElement)) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tpropagateChanges(checkboxElement);\r\n}\r\n\r\nfunction shouldUpdatePackageRadios(checkboxElement) {\r\n\treturn checkboxElement.closest('.js-dynamic-search').length;\r\n}\r\n\r\nfunction enableAccomodationOnlyCheckbox(wrapper) {\r\n\t$(wrapper).find(checkboxSelector).addClass('js-disabled-input').prop('disabled', false).removeAttr(disabledAfterUncheckedAttribute);\r\n\r\n}\r\n\r\nfunction disableAccomodationOnlyCheckbox(wrapper) {\r\n\tvar checkbox = $(wrapper).find(checkboxSelector);\r\n\tif (checkbox.is(':checked')) { // if already checked mark for disabling after being unchecked\r\n\t\tcheckbox.attr(disabledAfterUncheckedAttribute, 'true');\r\n\t} else {\r\n\t\tcheckbox.removeClass('js-disabled-input').prop('disabled', true);\r\n\t}\r\n}\r\n\r\nfunction handleRadioButtonChange() {\r\n\tvar radioValue = $(radioButtonSelector + ':checked').val()\r\n\tif (radioValue === \"accommodationOnly\") $(checkboxSelector).prop('checked', true)\r\n\telse $(checkboxSelector).prop('checked', false)\r\n}\r\n\r\nexport default init;\r\nexport { attachEvents }\r\n"],"names":["searchBarUpdateSearchBarOptions","checkboxSelector","radioButtonSelector","disabledAfterUncheckedAttribute","init","$","length","attachEvents","watchForSearchOptionsReceived","off","handleCheckboxChange","on","handleRadioButtonChange","window","site","doc","data","options","AccommodationOnlyAvailable","EnableDepartureAirports","enableAccomodationOnlyCheckbox","disableAccomodationOnlyCheckbox","wrapper","checkbox","find","is","IsAccommodationOnlySearch","prop","updateSubFilter","removeAttr","propagateChanges","checkboxElement","attr","closest","nearestAirportList","parent","next","addClass","removeClass","checkboxElementToChange","target","this","shouldUpdatePackageRadios","val"],"mappings":"OAAmCA,yDAAwD,KAAjB,kBAE1E,IAAIC,iBAAmB,kCACnBC,oBAAsB,iDACtBC,gCAAkC,0CAEtC,SAASC,OACHC,EAAEJ,gBAAgB,EAAEK,SAGzBC,aAAa,EACbC,8BAA8B,EAC/B,CAEA,SAASD,eACRF,EAAEJ,gBAAgB,EAAEQ,IAAI,SAAUC,oBAAoB,EAAEC,GAAG,SAAUD,oBAAoB,EACzFL,EAAEH,mBAAmB,EAAEO,IAAI,SAAUG,uBAAuB,EAAED,GAAG,SAAUC,uBAAuB,CACnG,CAEA,SAASJ,gCACRK,OAAOC,KAAKC,IAAIJ,GAAG,wBAAyB,SAASK,IAChDA,EAAKC,QAAQC,4BAA8BF,EAAKC,QAAQE,wBAC3DC,+BAEAC,iCAF+BL,EAAKM,OAAO,EAI5C,IAAIC,EAAWlB,EAAEW,EAAKM,OAAO,EAAEE,KAAKvB,gBAAgB,EAChD,CAACsB,EAASE,GAAG,UAAU,GAAKT,EAAKC,QAAQC,4BAA8BF,EAAKC,QAAQS,2BACvFH,EAASI,KAAK,UAAW,CAAA,CAAI,EAC7BC,gBAAgBL,CAAQ,GACdA,CAAAA,EAASE,GAAG,UAAU,GAAMT,EAAKC,QAAQS,2BAA8BV,EAAKC,QAAQC,6BAC9FK,EAASM,WAAW,SAAS,EAC7BD,gBAAgBL,CAAQ,GAGzBO,iBAAiBP,CAAQ,CAC1B,CAAC,CACF,CAEA,SAASK,gBAAgBG,GACpBA,EAAgBN,GAAG,UAAU,EAChCpB,EAAE,6DAA6D,EAAEsB,KAAK,UAAW,CAAA,CAAI,GAErFtB,EAAE,6DAA6D,EAAEsB,KAAK,UAAW,CAAA,CAAK,EACtFtB,EAAE,4CAA4C,EAAEsB,KAAK,UAAW,CAAA,CAAI,EAChEI,EAAgBC,KAAK7B,+BAA+B,GACvDkB,gCAAgCU,EAAgBE,QAAQ,4BAA4B,CAAC,EAIxF,CAEA,SAASH,iBAAiBC,GACzB,IAAIG,EAAqBH,EAAgBI,OAAO,EAAEA,OAAO,EAAEA,OAAO,EAAEC,KAAK,EAAEZ,KAAK,2BAA2B,EACvGO,EAAgBN,GAAG,UAAU,EAChCS,EAAmBG,SAAS,OAAO,EAAEV,KAAK,WAAY,CAAA,CAAI,EAE1DO,EAAmBI,YAAY,mBAAmB,EAAEX,KAAK,WAAY,CAAA,CAAK,CAE5E,CAEA,SAASjB,qBAAqB6B,GAEzBR,EAAkB1B,GAAGkC,GAA2B,CAAEC,OAAQC,IAAK,GAAGD,MAAM,EAC5EZ,gBAAgBG,CAAe,EAE/B/B,gCAAgC,EAE3B0C,0BAA0BX,CAAe,GAI9CD,iBAAiBC,CAAe,CACjC,CAEA,SAASW,0BAA0BX,GAClC,OAAOA,EAAgBE,QAAQ,oBAAoB,EAAE3B,MACtD,CAEA,SAASc,+BAA+BE,GACvCjB,EAAEiB,CAAO,EAAEE,KAAKvB,gBAAgB,EAAEoC,SAAS,mBAAmB,EAAEV,KAAK,WAAY,CAAA,CAAK,EAAEE,WAAW1B,+BAA+B,CAEnI,CAEA,SAASkB,gCAAgCC,GACpCC,EAAWlB,EAAEiB,CAAO,EAAEE,KAAKvB,gBAAgB,EAC3CsB,EAASE,GAAG,UAAU,EACzBF,EAASS,KAAK7B,gCAAiC,MAAM,EAErDoB,EAASe,YAAY,mBAAmB,EAAEX,KAAK,WAAY,CAAA,CAAI,CAEjE,CAEA,SAASf,0BAEW,sBADFP,EAAEH,oBAAsB,UAAU,EAAEyC,IAAI,EACjBtC,EAAEJ,gBAAgB,EAAE0B,KAAK,UAAW,CAAA,CAAI,EAC3EtB,EAAEJ,gBAAgB,EAAE0B,KAAK,UAAW,CAAA,CAAK,CAC/C,gBAEevB,YACNG,YAAa"}