PageSourceSearch

https://www.marhabaservices.com/on/demandware.static/Sites-dnata-U…/js/app/global/ChauffeurModal.js

js marhabaservices.com collected 2026-10-02 11:29:41 UTC 14,373 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkapp_dnata=self.webpackChunkapp_dnata||[]).push([[7185],{50493:function(e,t,s){s.r(t),s.d(t,{default:function(){return C}});var r=s(70491),i=s(20058),c=s(25763),o=s(17110),n=s(4008),a=s(24080);function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function u(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return h(e,t);var s={}.toString.call(e).slice(8,-1);return"Object"===s&&e.constructor&&(s=e.constructor.name),"Map"===s||"Set"===s?Array.from(e):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?h(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var s=0,r=Array(t);s<t;s++)r[s]=e[s];return r}function f(e,t){for(var s=0;s<t.length;s++){var r=t[s];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,d(r.key),r)}}function d(e){var t=function(e,t){if("object"!=l(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var r=s.call(e,t||"default");if("object"!=l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==l(t)?t:t+""}function p(e,t,s){return t=y(t),function(e,t){if(t&&("object"==l(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,m()?Reflect.construct(t,s||[],y(e).constructor):t.apply(e,s))}function m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(m=function(){return!!e})()}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}var b=s(16827);function g(e,t){return this.term?e.name.toLowerCase().indexOf(this.term)-t.name.toLowerCase().indexOf(this.term):0}var C=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),p(this,t,arguments)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&v(e,t)}(t,e),s=t,r=[{key:"initCache",value:function(){this.classes={},this.classes.hidden="hidden",this.classes.disabled="disabled",this.classes.citySuggestion="autocomplete-suggestion",this.selectors.closeModalButton=this.element.querySelector(".js-prs-chauffeur_form-close"),this.selectors.citySelect=this.element.querySelector(".js-chauffeur-city-select"),this.selectors.priceValue=this.element.querySelector(".js-chauffeur-price-value"),this.selectors.cityCode=this.element.querySelector(".js-chauffeur-city-code"),this.selectors.form=this.element.querySelector("form"),this.selectors.submitBtn=this.element.querySelector(".js-prs-chauffeur_form-submit"),this.selectors.checkPriceBtn=this.element.querySelector(".js-prs-chauffeur_form-checkprice"),this.selectors.altParams=this.element.querySelector(".js-chauffeur-alt-params"),this.selectors.numOfCars=this.element.querySelector('input[name$="_numberOfCars"]'),this.selectors.numOfAdditionalCars=this.element.querySelector('input[name$="_additionalCarCount"]'),this.selectors.carTypeRadio=this.element.querySelectorAll(".js-chauffeur-cartype-select"),this.selectors.priceLabel=this.element.querySelector(".js-prs-chauffeur_price_label"),this.selectors.checkPriceLabel=this.element.querySelector(".js-prs-chauffeur_checkprice_label"),this.selectors.selectLabel=this.element.querySelector(".js-prs-chauffeur_select_label"),this.selectors.priceError=this.element.querySelector(".js-price-error"),this.selectors.quantitySub
1stractBtn=this.element.querySelector(".quantity-button-subtract"),this.selectors.quantityAddBtn=this.element.querySelector(".quantity-button-add"),this.selectors.tier=this.element.querySelector(".js-chauffeur-tier"),this.selectors.locationType=this.element.querySelectorAll(".js-chauffeur-location-type"),this.selectors.locationName=this.element.querySelector(".js-chauffeur-location-name"),this.selectors.adress1=this.element.querySelector(".js-chauffeur-adress1"),this.selectors.adress2=this.element.querySelector(".js-chauffeur-adress2"),this.selectors.phoneCode=this.element.querySelector(".js-phoneCode"),this.selectors.phone=this.element.querySelector(".js-phone"),this.selectors.comments=this.element.querySelector(".js-chauffeur-comments"),this.selectors.carSeatsCheckbox=this.element.querySelector(".js-chauffeur-car_seat-checkbox"),this.selectors.droppOffTimeInput=this.element.querySelector(".js-chauffeur-dropp-off-time"),this.selectors.citySelectBlock=this.element.querySelector(".js-chauffeur-city_select-block"),this.selectors.citySelectList=this.element.querySelector(".js-chauffeur-city_list"),this.selectors.cityInput=this.element.querySelector(".js-chauffeur-city"),this.selectors.cityErrorBlock=this.element.querySelector(".js-invalid-feedback")}},{key:"initState",value:function(){var e=this;if(this.formActionInProgress=!1,this.priceRecieved=!1,this.lastCarsCount=1,this.queryParams=JSON.parse(this.selectors.altParams.value)||{},this.tier=this.selectors.tier&&this.selectors.tier.value||null,this.isElite=this.tier&&"elite"===this.tier||"familyElite"===this.tier,this.chauffeurStandalone=!!this.element.dataset.standalone,new Promise(function(e,t){n.Event.emit("pdp.getIsAddedToCart",{resolve:e,reject:t})}).then(function(t){e.resetChauffeurForm(t)}).catch(function(e){}),this.selectors.droppOffTimeInput){var t=new Date(this.selectors.droppOffTimeInput.value),s=new Date(this.selectors.droppOffTimeInput.dataset.maxTime);t.setHours(0,0,0,0),$(this.selectors.droppOffTimeInput).datetimepicker({locale:String(this.locale).split("_")[0],date:this.selectors.droppOffTimeInput.value,minDate:t,maxDate:s,useCurrent:!1,format:"MMM DD YYYY hh:mm A",sideBySide:!0,ignoreReadonly:!0,allowInputToggle:!0})}this.initCitySelect()}},{key:"bindEvents",value:function(){(0,i.on)("click",this.selectors.closeModalButton,this.closeModal.bind(this)),(0,i.on)("validation:success",this.selectors.form,this.sendForm.bind(this)),(0,i.on)("change",this.selectors.citySelect,this.changeCitySelect.bind(this)),(0,i.on)("change",this.selectors.carTypeRadio,this.changeCarType.bind(this)),(0,i.on)("click",this.selectors.quantitySubstractBtn,this.changeCarCount.bind(this)),(0,i.on)("click",this.selectors.quantityAddBtn,this.changeCarCount.bind(this))}},{key:"resetChauffeurForm",value:function(e){e&&(u(this.selectors.carTypeRadio).forEach(function(e){e.checked="standard"===e.value}),u(this.selectors.locationType).forEach(function(e){e.checked="landmark"===e.value}),this.selectors.citySelect.selectedIndex="-1",this.selectors.priceValue.value="",this.selectors.cityCode.value="",this.selectors.locationName.value="",this.selectors.adress1.value="",this.selectors.adress2.value="",this.selectors.comments.value="",this.selectors.phoneCode.selectedIndex="0",this.selectors.phone.value="")}},{key:"sendForm",value:function(e){e.preventDefault();var t=e.currentTarget,s=this.queryParams||{};this.formActionInProgress||(this.formActionInProgress=!0,this.toggleFormActionButtonState(),this.isElite&&!this.getEliteAdditionalCarCount()||this.priceRecieved||this.chauffeurStandalone?this.submitFormAction(t):this.checkPriceFormAction(t,s))}},{key:"closeModal",value:function(e){e.preventDefault(),c.y.close()}},{key:"submitFormAction",value:function(e){var t=this;this.selectors.droppOffTimeInput&&(this.selectors.droppOffTimeInput.value=$(this.selectors.droppOffTimeInput).data("DateTimePicker").viewDate().format("YYYY-MM-DD HH:mm:ss")),(0,o.R)(e.action,{body:e,method:"post",headers:{"Content-type":"application/x-www-form-urlencoded"}}).then(function(e){t.formActionInProgress=!1,t.toggleFormActionButtonState(),e&&e.success?(c.y.close(),n.Event.emit("pdp.chauffeurDetailsChanged",e.data)):n.Event.emit("pdp.chauffeurDetailsChanged",null)}
1).catch(function(e){t.formActionInProgress=!1,t.toggleFormActionButtonState()})}},{key:"checkPriceFormAction",value:function(e,t){var s=this,r=this.selectors.checkPriceBtn,i=this.selectors.numOfCars,c=u(this.selectors.citySelect.options).filter(function(e){return e.selected})[0],n=u(this.selectors.carTypeRadio).filter(function(e){return e.checked})[0],a=new URL(r.dataset.url,document.location.origin);a.searchParams.append("pid",t.pid),a.searchParams.append("flightNumber",t.flightNumber),a.searchParams.append("tier",t.tier),a.searchParams.append("service",t.service),a.searchParams.append("numberOfCars",i&&i.value),a.searchParams.append("additionalCarCount",this.getEliteAdditionalCarCount()),a.searchParams.append("additionalCarType",n&&n.value),a.searchParams.append("cityCode",c&&c.dataset.id),a.searchParams.append("carType",n&&n.value),(0,o.R)(a,{method:"get",headers:{"Content-type":"application/x-www-form-urlencoded"}}).then(function(t){t&&t.success?(s.selectors.priceValue.value=t.result.priceValue,s.priceRecieved=!0):s.priceRecieved=!1,s.formActionInProgress=!1,s.toggleChauffeurError(!s.priceRecieved),s.submitFormAction(e)}).catch(function(e){s.formActionInProgress=!1,s.priceRecieved=!1,s.toggleChauffeurError(!s.priceRecieved),s.toggleFormActionButtonState()})}},{key:"getEliteAdditionalCarCount",value:function(){return this.isElite&&this.selectors.numOfAdditionalCars&&parseInt(this.selectors.numOfAdditionalCars.value)||0}},{key:"toggleFormActionButtonState",value:function(){var e=this.selectors.checkPriceBtn||null,t=this.selectors.submitBtn||null;this.formActionInProgress?(e&&e.classList.add(this.classes.disabled),t&&t.classList.add(this.classes.disabled)):(e&&e.classList.remove(this.classes.disabled),t&&t.classList.remove(this.classes.disabled))}},{key:"changeCarCount",value:function(e){if(e.preventDefault(),!this.formActionInProgress){var t=parseInt(this.selectors.numOfCars.value);t!==this.lastCarsCount&&(this.lastCarsCount=t,this.resetPrice())}}},{key:"changeCitySelect",value:function(e){e.preventDefault(),this.formActionInProgress||(this.selectors.cityCode.value=this.selectors.citySelect.options[this.selectors.citySelect.selectedIndex].dataset.id,this.resetPrice())}},{key:"changeCarType",value:function(e){e.preventDefault(),this.formActionInProgress||this.resetPrice()}},{key:"showCheckPriceLabel",value:function(){this.selectors.checkPriceBtn&&!this.selectors.checkPriceBtn.classList.contains(this.classes.hidden)&&(this.selectors.priceLabel.innerHTML="",this.selectors.checkPriceLabel.classList.remove(this.classes.hidden),this.selectors.priceLabel.classList.add(this.classes.hidden),this.selectors.selectLabel.classList.add(this.classes.hidden))}},{key:"toggleSelectLabel",value:function(e){this.selectors.checkPriceBtn&&!this.selectors.checkPriceBtn.classList.contains(this.classes.hidden)&&(this.selectors.priceLabel.innerHTML=e||"",this.selectors.checkPriceLabel.classList.add(this.classes.hidden),this.selectors.priceLabel.classList.remove(this.classes.hidden),this.selectors.selectLabel.classList.remove(this.classes.hidden))}},{key:"resetPrice",value:function(){this.priceRecieved=!1,this.showCheckPriceLabel(),this.toggleChauffeurError()}},{key:"toggleChauffeurError",value:function(e){e=e||!1,this.selectors.priceError&&(e?this.selectors.priceError.classList.remove(this.classes.hidden):this.selectors.priceError.classList.add(this.classes.hidden))}},{key:"initCitySelect",value:function(){if(this.options.chauffeurCityOptions&&this.selectors.citySelectList){this.selectors.citySelectList.setAttribute(a.v,JSON.stringify(function(e){var t=[];for(var s in e){var r=e[s];t.push(r.name)}return t}(this.options.chauffeurCityOptions)));var e=this;this.suggestionCityList=new b({selector:".js-city-auto-complete-list",clearBtnSelector:".js-clear-suggested-city",listBtnSelector:".js-list-suggested-city",minChars:0,listOnFocus:!0,source:function(t,s){t=t.toLowerCase();var r=[];for(var i in e.options.chauffeurCityOptions){var c=e.options.chauffeurCityOptions[i];~c.name.toLowerCase().indexOf(t)&&r.push({code:i,name:c.name})}this.term=t;var o=g.bind(this);s(r.sort(o))},renderItem:function(t,s){s=s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");var r=new RegExp("("+s.split(" ").join("|")+")","gi");return'<div class="'+e.classes.citySuggestion+'" data-val="'+t.name+'" data-code="'+t.code+'">'+t.name.replace(r,"<b class='form-select-list-active'>$1</b>")+"</div>"},onSelect:function(t,s,r){this.switchClearButtonVisibility(""!==s||r),e.checkCityCodeSuggestedValue(t,s,r)}})}}},{key:"checkCityCodeSuggestedValue",value:function(e,t,s){s&&""!==this.selectors.citySelectList.value?(this.selectors.cityCode.value=s.getAttribute("data-code"),this.selectors.cityInput.value=s.getAttribute("data-val"),this.selectors.cityErrorBlock.closest(".is-invalid-container")&&(this.selectors.cityErrorBlock.closest(".is-invalid-container").classList.remove("is-invalid-container"),this.selectors.cityErrorBlock.innerHTML="")):(this.selectors.cityCode.value="",this.selectors.cityInput.value="")}},{key:"destroy",value:function(){(0,i.AU)("click",this.selectors.closeModalButton,this.closeModal.bind(this)),(0,i.AU)("change",this.selectors.citySelect,this.changeCitySelect.bind(this)),(0,i.AU)("change",this.selectors.carTypeRadio,this.changeCarType.bind(this)),(0,i.AU)("validation:success",this.selectors.form,this.sendForm.bind(this)),(0,i.AU)("click",this.selectors.quantitySub
1stractBtn,this.changeCarCount.bind(this)),(0,i.AU)("click",this.selectors.quantityAddBtn,this.changeCarCount.bind(this))}}],r&&f(s.prototype,r),l&&f(s,l),Object.defineProperty(s,"prototype",{writable:!1}),s;var s,r,l}(r.A)}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.