1import{b as Fi}from"./chunk-UCW2MGZY.js";import{$F as Kt,$V as hi,$e as Tt,AT as pi,DX as mi,EX as _i,F as rt,FM as le,FX as $e,G0 as wi,GM as Zt,IL as zt,IT as gi,JL as se,JM as ei,K as st,KE as jt,KK as Qt,KL as ae,KM as ce,Ke as Ai,Ld as vt,MN as ai,Me as bt,Nc as ft,Nd as Ie,Nt as we,ON as li,Oi as $t,Ou as ke,P0 as ki,PM as ti,PZ as vi,Qe as It,Qi as Pt,RG as qt,RM as ii,RT as ui,Rd as xt,SX as fi,Sx as Mt,TZ as xi,Tm as Ot,UF as Dt,UI as Gt,UZ as bi,Ub as mt,Vi as Bt,WM as q,Ww as Rt,X0 as Ti,XM as ni,XQ as ci,XX as yi,Xe as wt,Xy as Ht,ZQ as di,_F as Lt,_W as Si,_e as kt,aa as at,ac as _t,bZ as Ci,bb as re,bd as be,ca as lt,d as tt,da as ct,dd as yt,fb as ut,fd as Ct,ga as dt,hG as Vt,hM as Xt,ha as pt,i as it,iN as oi,ia as gt,iw as At,j as nt,jG as Nt,jN as ri,ja as xe,jf as Et,kG as Ut,kN as si,kb as ht,lP as Ee,n as ot,nb as St,oH as Wt,qH as Te,qh as Ft,t1 as Ei,uT as Fe,vT as de,vm as Jt,x0 as Ii,xM as Yt}from"./chunk-DQVPEXLR.js";import{$c as Y,Ac as G,Ba as T,Bc as C,Bd as oe,Cc as u,Cd as Q,Dc as h,Ec as D,Ed as Xe,Fd as Ye,G as A,Gb as He,Gd as w,H as F,Hd as $,Ia as Oe,Id as te,Ja as Ae,Jd as ve,Kc as Ue,Lb as je,Ld as Ze,Ma as ne,Mb as c,Mc as V,Na as Re,O as Je,Qd as et,R,Ta as P,Ua as B,Uc as L,Wb as j,Wc as l,Za as Me,_c as qe,a as X,ac as De,ad as Z,ba as me,bc as Le,ed as We,f as Se,fc as Ke,gc as ye,gd as N,hd as ee,id as Ce,jd as f,kd as E,la as _e,ld as J,pd as Ge,qd as Qe,rd as ze,t as Be,uc as v,vc as Ve,wc as x,yc as Ne,za as fe,zc as W}from"./chunk-LL4UPCF5.js";var d=Se(ut());var ge=Se(Ai());var Pe=Se(ut());var $i="res.editJourney.selectSeats",pe=(()=>{class o{constructor(e,t,i){this.log=e,this.configHelper=t,this.componentsConfigurationHelper=i,this.pageHeader="Review Seats",this.siteFooterConfiguration=new $e,this.siteHeaderConfiguration=new Ee,this.pageHeaderMessageConfiguration=new mi,this.pageFooterMessageConfiguration=new Si,this.reservationChargesBreakdownConfiguration=new _i(this.componentsConfigurationHelper,this.configHelper),this.seatPickerConfiguration=new Ci,this.journeyTitle="From {0} ({1}) to {2} ({3})",this.backButtonText="Back",this.nextButtonText="Continue",this.completeSelectionButtonText="Complete selection",this.viewSeatMapLabel="View Seats",this.seatMapNotAvailable="Seat selection is not available for this flight.",this.openSeatingText="This flight has open seating.",this.openSeatingDescription="This flight has open seating, so passengers can choose any available seat when they board.",this.openSeatingButtonText="Continue",this.autoSkipWhenAllOpenSeating=!1,this.autoSkipDelayMs=1500,this.currencySymbolDisplay="symbol-narrow",this.directFlightTitle="Flight {0}{1} \u2014 Departure - Arrival",this.multiSegmentFlightDepartureTitle="Flight {0}{1} \u2014 Departure",this.multiSegmentFlightConnectingTitle="Flight {0}{1} \u2014 Connection",this.multiSegmentFlightArrivalTitle="Flight {0}{1} \u2014 Arrival",this.bookingReferenceText="Booking Reference(PNR) - {0}",this.shortBookingReferenceText="Booking Reference (PNR)",this.selectedSeatsCount="{0} seats",this.selectedSeatCount="{0} seat",this.currencyISOCode="USD",this.passengersText="Passengers",this.includedText="Included",this.allowMultipleSeatMapSelectionsInOneSegment=!1,this.currencyCode="USD",this.invalidSeatSelectionError="Please correct the seat selection for flight {0}-{1}, seat {2}{3}",this.seatPriceIncludeTax=!0,this.codeshareMessageEnabled=!1,this.codeshareMessageHtml='<div><div class="h5">Some Seat Selections May Be Unavailable</div><div>Some segments of your booking are operated by partner airlines, and seat selection is unavailable for those flights.</div></div>'}loadConfigSettingsAndI18nMessages(e,t,i,r,s,a){let g=new Ie(this.log,t,"i18n"),S=new Ie(this.log,e,"config"),m=`${(0,Pe.isString)(a)&&a!==""?`${a}.`:""}${$i}`;this.currencyCode=i.code;let p=this.configHelper.getCurrencyISOCode_new(S,i.code);this.currencyISOCode=p,S.setProperties(this,[["string","currencySymbolDisplay","defaultCurrency.symbolDisplay"],["boolean","seatPriceIncludeTax","seatPrice.includeTax"],["boolean","codeshareMessageEnabled",`${m}.codeshareMessage.enabled`],["boolean","autoSkipWhenAllOpenSeating",`${m}.autoSkipWhenAllOpenSeating.enabled`],["int","autoSkipDelayMs",`${m}.autoSkipWhenAllOpenSeating.delayMs`]]),g.setProperties(this,[["string","pageHeader",`${m}.pageHeader`],["string","backButtonText",`${m}.backButton.text`],["string","nextButtonText",`${m}.nextButton.text`],["string","journeyTitle",`${m}.journey.title`],["string","directFlightTitle",`${m}.directFlight.title`],["string","multiSegmentFlightDepartureTitle",`${m}.multiSegmentFlightDeparture.title`],["string","multiSegmentFlightConnectingTitle",`${m}.multiSegmentFlightConnecting.title`],["string","multiSegmentFlightArrivalTitle",`${m}.multiSegmentFlightArrival.title`],["string","bookingReferenceText",`${m}.bookingReferenceText.text`],["string","shortBookingReferenceText",`${m}.shortBookingReference.text`],["string","passengersText",`${m}.passengers.text`],["string","completeSelectionButtonText",`${m}.completeSelectionButton.text`],["string","viewSeatMapLabel",`${m}.viewSeatMap.label`],["string","selectedSeatsCount",`${m}.selectedSeatsCount`],["string","selectedSeatsCount",`${m}.selectedSeatCount`],["string","includedText",`${m}
1.included.text`],["string","invalidSeatSelectionError",`${m}.invalidSeatSelectionError.text`],["string","openSeatingText",`${m}.openSeating.text`],["string","openSeatingDescription",`${m}.openSeating.description`],["string","openSeatingButtonText",`${m}.openSeating.buttonText`],["string","seatMapNotAvailable",`${m}.seatMapNotAvailable.text`],["string","codeshareMessageHtml",`${m}.codeshareMessage.html`]]),this.pageHeaderMessageConfiguration.loadConfigSettingsAndI18nMessages("page.editJourney.selectSeats",e,t,this.log),this.pageFooterMessageConfiguration.loadConfigSettingsAndI18nMessages("page.editJourney.selectSeats",e,t,this.log),this.siteFooterConfiguration=new $e,this.componentsConfigurationHelper.loadSiteFooterConfiguration(e,t,this.siteFooterConfiguration),this.siteHeaderConfiguration=new Ee,this.siteHeaderConfiguration.loadSiteHeaderConfiguration(e,t,i,m,this.log,r),this.seatPickerConfiguration.loadConfigAndI18n(m,S,g,i,p,s,this.componentsConfigurationHelper,"booking")}loadReservationChargesBreakdownConfiguration(e,t,i,r,s,a,g){let y=`${(0,Pe.isString)(g)&&g!==""?`${g}.`:""}${$i}`;this.reservationChargesBreakdownConfiguration.loadConfigSettingsAndI18nMessages(y,e,t,i,r,s,a,this.log)}static{this.\u0275fac=function(t){return new(t||o)(ne(re),ne(vt),ne(Et))}}static{this.\u0275prov=Oe({token:o,factory:o.\u0275fac})}}return o})();var Hi=["actionButtonContainer"],ji=["stickyLeg"],Di=["stickyPax"],Li=["paxRow"],Ki=(o,n,e,t)=>({outbound:o,"mb-5":n,"mb-4":e,inbound:t}),Vi=(o,n)=>({outbound:o,inbound:n}),Ni=o=>({"border-top":o}),Ui=(o,n)=>({"pb-m-4 pb-4":o,"border-bottom":n}),Ji=o=>({"--top-offset":o}),Bi=(o,n)=>({"--top-offset":o,"--detected-width":n}),qi=(o,n)=>({"col-lg-5":o,"pax--data-sticky":n}),Wi=(o,n,e,t,i)=>({paxIndex:o,paxKey:n,journey:e,journeySegment:t,seatSelectionOption:i}),ue=(o,n)=>n.key;function Gi(o,n){o&1&&(u(0,"nav",6)(1,"span",7),f(2,"Loading..."),h()(),u(3,"div",8)(4,"div",9)(5,"div",10),D(6,"app-ias-loading-placeholder"),h()()())}function Qi(o,n){if(o&1&&(u(0,"section",24)(1,"div",34)(2,"div")(3,"span"),D(4,"fa-icon",35),h()(),D(5,"div",36),w(6,"safeHtml"),h()()),o&2){let e=l(2);c(4),C("icon",e.faExclamationTriangle),c(),C("innerHTML",$(6,2,e.configuration.codeshareMessageHtml),He)}}function zi(o,n){if(o&1){let e=V();u(0,"div",9)(1,"div",37)(2,"app-open-seating-card",38),L("continueClicked",function(){P(e);let i=l(2);return B(i.nextPage())}),h()()()}if(o&2){let e=l(2);c(2),C("title",e.configuration.openSeatingText)("description",e.configuration.openSeatingDescription)("buttonText",e.configuration.openSeatingButtonText)}}function Xi(o,n){if(o&1&&(u(0,"div",41),f(1),h()),o&2){let e=l().$implicit,t=l(3);c(),E(t.getJourneyTitle(e))}}function Yi(o,n){if(o&1&&(u(0,"div",49)(1,"div",57)(2,"span"),f(3),h()()()),o&2){let e=l(2).$implicit;c(3),E(e.departure.airport.code)}}function Zi(o,n){if(o&1&&(u(0,"div",49)(1,"div",58)(2,"span"),f(3),h()()()),o&2){let e=l(2).$implicit;c(3),E(e.arrival.airport.code)}}function en(o,n){if(o&1){let e=V();u(0,"div",55)(1,"button",59),w(2,"async"),L("click",function(){P(e);let i=l(2).$index,r=l().$index,s=l(3);return B(s.completeSelection(r,i))}),f(3),h()()}if(o&2){let e=l(6);c(),C("disabled",$(2,2,e.hasNewInvalidSelection$)),c(2),J(" ",e.configuration.completeSelectionButtonText," ")}}function tn(o,n){if(o&1){let e=V();u(0,"div",56)(1,"button",60),L("click",function(){P(e);let i=l(2).$index,r=l().$index,s=l(3);return B(s.toggleJourneyOrFlightOrPassenger(r,i,0))}),f(2),h()()}if(o&2){let e=l(2).$implicit,t=l().$implicit,i=l(3);c(),C("disabled",i.isCodeShareFlight(e.flight)&&i.configuration.codeshareMessageEnabled),c(),J(" ",i.getSelectedSeatsCountBySegment(t,e)," ")}}function nn(o,n){if(o&1&&(u(0,"div",46,1)(2,"div",9)(3,"div",47),f(4),h(),u(5,"div",48),v(6,Yi,4,1,"div",49),u(7,"div",50)(8,"div",51),f(9),w(10,"airportNameCodeFormat"),h()(),u(11,"div",52)(12,"div",53)(13,"span"),f(14),h()(),u(15,"div",54)(16,"span"),f(17),h()()(),u(18,"div",50)(19,"div",51),f(20),w(21,"airportNameCodeFormat"),h()(),v(22,Zi,4,1,"div",49),h(),v(23,en,4,4,"div",55),v(24,tn,3,2,"div",56),h()()),o&2){let e=l(),t=e.$implicit,i=e.$index,r=e.$count,s=l(),a=s.$implicit,g=s.$index,S=l(3);ee(oe(19,Ji,S.legStickyDisplayOffset+"px")),N("active",S.isActiveJourney(g)&&S.isActiveSegment(g,i)),c(4),J(" ",S.getMultiSegmentFlightTitle(a,t.flight,i)," "),c(2),x(i!==0?6:-1),c(3),J(" ",te(10,13,t.departure.airport,S.airportOptions())," "),c(5),E(t.departure.airport.code),c(3),E(t.arrival.airport.code),c(3),J(" ",te(21,16,t.arrival.airport,S.airportOptions())," "),c(2),x(i!==r-1?22:-1),c(),x(S.isActiveJourney(g)&&S.isActiveSegment(g,i)&&!(S.isCodeShareFlight(t.flight)&&S.configuration.codeshareMessageEnabled)?23:-1),c(),x(S.isActiveSegment(g,i)?-1:24)}}function on(o,n){if(o&1){let e=V();u(0,"div",55)(1,"button",59),w(2,"async"),L("click",function(){P(e);let i=l(2).$index,r=l().$index,s=l(3);return B(s.completeSelection(r,i))}),f(3),h()()}if(o&2){let e=l(6);c(),C("disabled",$(2,2,e.hasNewInvalidSelection$)),c(2),J(" ",e.configuration.completeSelectionButtonText," ")}}function rn(o,n){if(o&1){let e=V();u(0,"div",56)(1,"button",61),L("click",function(){P(e);let i=l(2).$index,r=l().$index,s=l(3);return B(s.toggleJourneyOrFlightOrPassenger(r,i,0))}),f(2),h()()}if(o&2){let e=l(2).$implicit,t=l(4);c(),C("disabled",t.isCodeShareFlight(e.flight)&&t.configuration.codeshareMessageEnabled),c(),J(" ",t.configuration.viewSeatMapLabel," ")}}
1function sn(o,n){if(o&1&&(u(0,"div",46,1)(2,"div",9)(3,"div",47),f(4),h(),u(5,"div",48)(6,"div",50)(7,"div",51),f(8),w(9,"airportNameCodeFormat"),h()(),u(10,"div",52)(11,"div",53)(12,"span"),f(13),h()(),u(14,"div",54)(15,"span"),f(16),h()()(),u(17,"div",50)(18,"div",51),f(19),w(20,"airportNameCodeFormat"),h()()(),v(21,on,4,4,"div",55),v(22,rn,3,2,"div",56),h()()),o&2){let e=l(),t=e.$implicit,i=e.$index,r=l(),s=r.$implicit,a=r.$index,g=l(3);ee(oe(17,Ji,g.legStickyDisplayOffset+"px")),N("active",g.isActiveJourney(a)&&g.isActiveSegment(a,i)),c(4),E(g.getDirectFlightTitle(t.flight)),c(4),J(" ",te(9,11,t.departure.airport,g.airportOptions())," "),c(5),E(t.departure.airport.code),c(3),E(g.getArrivalAirportCode(s,t.flight)),c(3),J(" ",te(20,14,g.getArrivalAirport(s,t.flight),g.airportOptions())," "),c(2),x(g.isActiveJourney(a)&&g.isActiveSegment(a,i)&&!g.isOpenSeatingByJourneySegment(a,i)?21:-1),c(),x(g.isActiveJourney(a)?-1:22)}}function an(o,n){if(o&1&&(u(0,"div",71),D(1,"fa-icon",72),u(2,"span",77),f(3),w(4,"reservationProfileName"),h()()),o&2){let e=l().$implicit,t=l(7);c(),C("icon",t.faBabyCarriage),c(2),E(ve(4,2,t.getInfantReservationProfile(e),null,!1))}}function ln(o,n){if(o&1){let e=V();u(0,"span",78),L("click",function(i){P(e);let r=l().$implicit,s=l(3).$implicit,a=l().$implicit,g=l(3);return B(g.deselectPassengerSeat(i,a,s,r.key))}),D(1,"fa-icon",79),h()}if(o&2){let e=l(8);c(),C("icon",e.faX)}}function cn(o,n){if(o&1){let e=V();u(0,"div",68,3),L("click",function(){let i=P(e).$index,r=l(3).$index,s=l().$index,a=l(3);return B(a.isActivePassenger(i)?a.selectedPaxSlide():a.toggleJourneyOrFlightOrPassenger(s,r,i))}),u(2,"div",69)(3,"div",70),v(4,an,5,6,"div",71),u(5,"div"),D(6,"fa-icon",72),u(7,"span",73),f(8),w(9,"reservationProfileName"),h()(),u(10,"div",74),f(11),h()(),u(12,"div",75),f(13),v(14,ln,2,1,"span",76),h()()()}if(o&2){let e=n.$implicit,t=n.$index,i=l(3),r=i.$implicit,s=i.$index,a=l(),g=a.$implicit,S=a.$index,y=l(3);N("active",y.isActivePassenger(t))("bg-white",y.isActivePassenger(t))("bg-transparent",!y.isActivePassenger(t)),c(4),x(y.getInfantReservationProfile(e)?4:-1),c(2),C("icon",y.getGenderIcon(e)),c(2),E(ve(9,16,y.getReservationProfile(e),null,!1)),c(3),J(" ",y.getSelectedSeatChargeByPassenger(g,r,e.key)," "),c(),N("bg-info",y.isActivePassenger(t))("bg-secondary",!y.isActivePassenger(t)),c(),J(" ",y.getSelectedSeatByPassenger(g,r,e.key)," "),c(),x(y.canDeselectPassengerSeat(y.getSelectedSeatSelectionSeatOption(r,e.key,y.reservationSeatSelections),y.getSeatSelectionRestrictionBehaviorByPaxIndex(S,s,t))?14:-1)}}function dn(o,n){o&1&&Ue(0)}function pn(o,n){if(o&1&&ye(0,dn,1,0,"ng-container",80),o&2){let e=n.$implicit,t=n.$index,i=l(3).$implicit,r=l().$implicit,s=l(3),a=We(6);C("ngTemplateOutlet",a)("ngTemplateOutletContext",Ye(2,Wi,t,e.key,r,i,s.getSeatSelectionOptionByJourneySegmentIndex(s.journeyIndex,s.segmentIndex)))}}function gn(o,n){if(o&1&&(u(0,"div",63,2)(2,"div",64),f(3),h(),u(4,"div",65)(5,"div",66),W(6,cn,15,20,"div",67,ue),h()()(),W(8,pn,1,8,"ng-container",null,ue)),o&2){let e=l(2).$index,t=l().$index,i=l(3);ee(Q(10,Bi,i.paxStickyDisplayOffset+"px",i.paxStickyContainerWidth+"px")),C("ngClass",Q(13,qi,!i.shouldRenderInline,i.shouldRenderInline)),c(3),E(i.configuration.passengersText),c(),ee(Q(16,Bi,i.paxStickyDisplayOffset+"px",i.paxStickyContainerWidth+"px")),N("active",i.isActiveJourney(t)&&i.isActiveSegment(t,e))("pax--data-sticky",!i.shouldRenderInline),c(2),G(i.validPassengers()),c(2),G(i.validPassengers())}}function un(o,n){if(o&1&&(u(0,"div")(1,"div",81),f(2),h()()),o&2){let e=l(6);Ce("open-seating col-12"),c(2),E(e.configuration.openSeatingText)}}function hn(o,n){if(o&1&&(u(0,"div",45)(1,"div",9),v(2,gn,10,19),v(3,un,3,3,"div",62),h()()),o&2){let e=l().$index,t=l().$index,i=l(3);c(2),x(i.isOpenSeatingByJourneySegment(t,e)?-1:2),c(),x(i.isOpenSeatingByJourneySegment(t,e)?3:-1)}}function Sn(o,n){if(o&1&&(u(0,"div",43),v(1,nn,25,21,"div",44),v(2,sn,23,19,"div",44),v(3,hn,4,2,"div",45),h()),o&2){let e=n.$implicit,t=n.$index,i=l(),r=i.$implicit,s=i.$index,a=l(3);C("ngClass",Q(4,Ui,!a.isConnectingFlight(r),!a.isActiveJourney(s))),c(),x(a.isConnectingFlight(r)?1:-1),c(),x(a.isConnectingFlight(r)?-1:2),c(),x(a.isActiveJourney(s)&&a.isActiveSegment(s,t)&&!(a.isCodeShareFlight(e.flight)&&a.configuration.codeshareMessageEnabled)?3:-1)}}function mn(o,n){if(o&1&&(u(0,"div",39)(1,"div",10)(2,"div",40)(3,"div",10),v(4,Xi,2,1,"div",41),h()(),u(5,"div",42)(6,"div",10),W(7,Sn,4,7,"div",43,ue),h()()()()),o&2){let e=n.$implicit,t=n.$index,i=l(3);C("ngClass",Xe(5,Ki,t==0,i.isActiveJourney(t),!i.isActiveJourney(t),t>0)),c(4),x(i.reservation.journeys.length>2?4:-1),c(),C("ngClass",Q(10,Vi,t==0,t>0)),c(),Ce(oe(13,Ni,t>0&&!i.isActiveJourney(t))),c(),G(e==null?null:e.segments)}}function _n(o,n){if(o&1&&W(0,mn,9,15,"div",39,ue),o&2){let e=l(2);G(e.reservationJourneys)}}function fn(o,n){if(o&1&&(D(0,"app-reservation-charges-breakdown",82),w(1,"async"),w(2,"async"),w(3,"async")),o&2){let e=l(2);N("d-sm-block",e.configuration==null||e.configuration.reservationChargesBreakdownConfiguration==null?null:e.configuration.reservationChargesBreakdownConfiguration.enabled),C("configuration",e.configuration.reservationChargesBreakdownConfiguration)("reservation",e.reservation)("quotation",e.quotation)("showChargeDetails",!0)("journeyKeys",$(1,10,e.journeyKeys$))("passengerTypeCodes",$(2,12,e.passengerTypeCodes$))("voucherPaymentIdentifier",$(3,14,e.voucherPaymentMethodIdentifier$))("breakdownNewChargesAndReservationCredit",!0)}}function yn(o,n){if(o&1){let e=V();u(0,"div",26)(1,"div",23)(2,"app-page-footer-message",83),ze("ngModelChange",function(i){P(e);let r=l(2);return Qe(r.footerMessageAcknowledgment,i)||(r.footerMessageAcknowledgment=i),B(i)}),h()()()}if(o&2){let e=l(2);c(2),C("configuration",e.configuration.pageFooterMessageConfiguration),Ge("ngModel",e.footerMessageAcknowledgment)}}function Cn(o,n){if(o&1&&(u(0,"li",85),f(1),h()),o&2){let e=n.$implicit;c(),J(" ",e," ")}}function vn(o,n){if(o&1&&(u(0,"ul",84),W(1,Cn,2,1,"li",85,Ne),h()),o&2){let e=l();c(),G(e)}}function xn(o,n){o&1&&(u(0,"div",9),v(1,vn,3,0,"ul",84),h()),o&2&&(c(),x(n.length>0?1:-1))}function bn(o,n){if(o&1){let e=V();u(0,"section",11)(1,"app-site-header",12),w(2,"async"),L("onChange",function(i){P(e);let r=l();return B(r.uiLanguageChanged(i))})("onLogin",function(i){P(e);let r=l();return B(r.login(i))})("onLogout",function(i){P(e);let r=l();return B(r.logout(i))}),h()(),D(3,"app-loading-spinner",5),w(4,"async"),D(5,"app-page-header-message",13),u(6,"div",14)(7,"section",15)(8,"div",9)(9,"div",16)(10,"div",17),f(11),h()(),u(12,"div",18)(13,"div",19)(14,"div",20),f(15),h(),u(16,"div",21),f(17),w(18,"reservationIdentifier"),h()()()(),u(19,"div",22)(20,"div",23),v(21,Qi,7,4,"section",24),v(22,zi,3,3,"div",9)(23,_n,2,0),h(),v(24,fn,4,16,"app-reservation-charges-breakdown",25),h(),v(25,yn,3,2,"div",26),h()(),u(26,"div",27)(27,"div",28),v(28,xn,2,1,"div",9),w(29,"async"),u(30,"div",9)(31,"div",29)(32,"button",30),w(33,"async"),L("click",function(){P(e);let i=l();return B(i.goToPreviousPage())}),f(34),h(),u(35,"button",31),w(36,"async"),f(37),h()()()()(),u(38,"section",32),D(39,"app-site-footer",33),h()}if(o&2){let e,t=l();c(),C("configuration",t.configuration.siteHeaderConfiguration)("activeLanguage",$(2,20,t.activeLanguage$)),c(2),C("showSpinner",$(4,22,t.dataLoading$)),c(2),C("configuration",t.configuration.pageHeaderMessageConfiguration),c(6),E(t.configuration.pageHeader),c(4),E(t.configuration.shortBookingReferenceText),c(2),E($(18,24,t.reservation)),c(3),N("col-sm-12",!(!(t.configuration==null||t.configuration.reservationChargesBreakdownConfiguration==null)&&t.configuration.reservationChargesBreakdownConfiguration.enabled)),c(),x(t.configuration.codeshareMessageEnabled&&t.hasCodeShareFlights?21:-1),c(),x(t.allSegmentsOpenSeating?22:23),
1c(2),x(t.quotation?24:-1),c(),x(t.configuration.pageFooterMessageConfiguration.footerAcknowledgmentEnabled||t.configuration.pageFooterMessageConfiguration.footerMessageEnabled?25:-1),c(3),x((e=$(29,26,t.seatSelectionRestrictionErrors$))?28:-1,e),c(4),C("disabled",$(33,28,t.hasNewInvalidSelection$)),c(2),J(" ",t.configuration.backButtonText," "),c(),C("routerLink",t.nextPageUrl)("disabled",!t.footerMessageAcknowledgment&&t.configuration.pageFooterMessageConfiguration.footerAcknowledgmentEnabled||$(36,30,t.hasNewInvalidSelection$)),c(2),J(" ",t.configuration.nextButtonText," "),c(2),C("configuration",t.configuration.siteFooterConfiguration)}}function In(o,n){if(o&1){let e=V();u(0,"app-seat-picker",87,4),L("onChange",function(i){P(e);let r=l(2),s=r.paxKey,a=r.journey,g=r.journeySegment,S=l();return B(S.seatPickerSeatSelected(i,a,g,s))})("customSeatMapFound",function(i){P(e);let r=l(3);return B(r.onCustomSeatMapFound(i))}),h()}if(o&2){let e=l(2),t=e.paxIndex,i=e.paxKey,r=e.journeySegment,s=e.seatSelectionOption,a=l();N("col-lg-7",!a.shouldRenderInline),C("value",a.getSelectedSeatSelectionSeatOption(r,i,a.reservationSeatSelections))("seatSelectionOption",s)("seatOccupiedTester",a.seatOccupiedTester)("configuration",a.configuration.seatPickerConfiguration)("seatOccupiedByTravelPartyTester",a.seatOccupiedByTravelPartyTester)("reservationSeatSelections",a.reservationSeatSelections)("seatSelectionRestrictionBehaviorDictionary",a.getSeatSelectionRestrictionBehaviorByPaxIndex(a.journeyIndex,a.segmentIndex,t))("customSeatMap",a.getCustomSeatMapSvgString(s))}}function wn(o,n){if(o&1&&(u(0,"div",89)(1,"div",90),f(2),h()()),o&2){let e=l(4);N("col-md-7",!e.shouldRenderInline),c(2),E(e.configuration.seatMapNotAvailable)}}function kn(o,n){if(o&1&&(v(0,wn,3,3,"div",88),w(1,"async")),o&2){let e=l(3);x($(1,1,e.dataLoading$)===!1?0:-1)}}function Tn(o,n){if(o&1&&v(0,In,2,10,"app-seat-picker",86)(1,kn,2,3),o&2){let e=l(),t=e.journeySegment,i=e.seatSelectionOption,r=l();x(i!=null&&r.hasAvailableSeatMapForSelection(t)&&!r.doesSegmentHaveCancelledLegs(t)&&!r.isSegmentDepartureInhibited(i)?0:1)}}function En(o,n){if(o&1&&v(0,Tn,2,1),o&2){let e=n.paxIndex,t=l();x(t.isActivePassenger(e)?0:-1)}}var ie=class o extends Fi{constructor(n,e,t,i,r,s,a,g,S,y,m){super(g,a,t),this.configuration=n,this.currencyPipe=e,this.store=t,this.gtmHelper=i,this.activatedRoute=r,this.router=s,this.reservationsHelper=a,this.typeScriptHelper=g,this.jwtAuthenticationService=S,this.log=y,this.scrollHelper=m,this.airportOptions=this.store.selectSignal(ui),this.onewayTripType=At.OneWay,this.journeyKeys$=this.store.select(ni),this.journeysToEdit$=this.store.select(q),this.journeysToEditSignal=this.store.selectSignal(q),this.dataRoute=null,this.destroyRef=Re(Me),this.selectingAndSelectedSeatOptions$=this.store.select(q).pipe(R(p=>(0,d.isObject)(p)),fe(p=>this.store.select(si({journeyKeys:p.map(_=>_?.key)})))),this.savedSeatSelectedOptions$=this.store.select(q).pipe(R(p=>(0,d.isObject)(p)),fe(p=>this.store.select(ri({journeyKeys:p.map(_=>_?.key)})))),this.fareTypeIdentifierBySelectedJourney$=F([this.store.select(q),this.store.select(Dt)]).pipe(R(([p])=>!(0,d.isEmpty)(p)),A(([p,_])=>{if(!(!(0,d.isObject)(_)||Object.keys(_).length===0))return p.reduce((b,I,M)=>{let k;return I?.passengerJourneyDetails?.forEach(O=>{let H=_[O?.fareClass?.key];(0,d.isObject)(H)&&(0,d.isString)(H?.fareType?.identifier)&&!(0,d.isString)(k)&&(k=H.fareType?.identifier)}),b[M]=k,b},{})})),this.savedSeatSelectionsRestrictionDictionary$=F([this.journeysToEdit$,this.seatSelectionRestrictionsReceived$,this.seatSelectionOptionsReceived$,this.store.select(ce).pipe(A(p=>p?.seatSelections)),this.fareTypeIdentifierBySelectedJourney$]).pipe(R(([p,_])=>!(0,d.isEmpty)(p)&&_!=null),T(()=>this.alive),A(([p,_,b,I,M])=>p.reduce((k,O,H)=>X(X({},k),this.processSeatSelectionBehaviors(I,_,O,H,M?.[H],this.getSeatSelectionOptionByJourneySegment.bind(this),this.getPassengerByPaxIndex.bind(this),(K,U,z)=>this.getSelectedSeatSelectionSeatOption(K,z,I))),{}))),this.currentInvalidSeats$=F([this.savedSeatSelectedOptions$,this.savedSeatSelectionsRestrictionDictionary$,this.store.select(ce).pipe(A(p=>p?.passengers)),this.journeysToEdit$]).pipe(A(([p,_,b,I])=>I.reduce((M,k,O)=>
1new Set([...M,...this.getInvalidSeatSelectionKeys(p[k.key],_,b,O,k.segments.map((H,K)=>K))]),new Set))),this.newInvalidSeats$=F([this.selectingAndSelectedSeatOptions$,this.seatSelectionRestrictionsReceived$,this.fareTypeIdentifierBySelectedJourney$,this.journeysToEdit$]).pipe(A(([p,_,b,I])=>I.reduce((M,k,O)=>{let H=this.processSeatSelectionBehaviors(p[k.key],_,k,O,b?.[O],this.getSeatSelectionOptionByJourneySegment.bind(this),this.getPassengerByPaxIndex.bind(this),(U,z,he)=>this.getSelectedSeatSelectionSeatOption(U,he,p[k.key])),K=this.getInvalidSeatSelectionKeys(p[k.key],H,this.reservation.passengers,O,k.segments.map((U,z)=>z));return new Set([...M,...K])},new Set))),this.newInvalidSeatOptions$=F([this.currentInvalidSeats$,this.newInvalidSeats$.pipe(R(p=>(0,d.isObject)(p))),this.journeysToEdit$.pipe(R(p=>(0,d.isObject)(p)))]).pipe(A(([p,_,b])=>{let I=new Map,M=(0,d.isObject)(p)?this.typeScriptHelper.differenceBetween2SetStrings(_,p):_;return b.forEach((k,O)=>{k.segments.forEach((H,K)=>{let U=`${O}__${K}`;if(M.size>0){let he=(this.getSeatSelectionOptionByJourneySegmentIndex(O,K)?.seatOptions??[]).filter(Oi=>M.has(Oi.selectionKey));I.set(U,he)}else I.delete(U)})}),I})),this.seatSelectionRestrictionErrors$=F([this.newInvalidSeatOptions$,this.journeysToEdit$]).pipe(A(([p,_])=>{let b=[];return _.forEach((I,M)=>{I.segments.forEach((k,O)=>{let H=`${M}__${O}`,K=p.get(H);(0,d.isEmpty)(K)||K.forEach(U=>{b.push(ge.String.format(this.configuration.invalidSeatSelectionError,k.departure?.airport?.code,k.arrival?.airport?.code,U.seatMapCell.rowIdentifier,U.seatMapCell.seatIdentifier))})})}),b})),this.hasNewInvalidSelection$=this.seatSelectionRestrictionErrors$.pipe(A(p=>p.length>0)),this.editJourneyAfterCheckedInSupportDcsConfiguration=this.store.selectSignal(li),this.validPassengers=et(()=>{let p=this.reservation?.passengers,_=this.journeysToEditSignal()?.map(I=>I.key),b=this.reservation?.passengerLegDetails?.filter(I=>I?.travelStatus?.checkedIn&&_?.includes(I?.journey?.key))?.map(I=>I?.passenger?.key);return b?.length>0&&!this.editJourneyAfterCheckedInSupportDcsConfiguration()?.extras?p?.filter(I=>!b?.includes(I?.key)):p}),this.faExclamationTriangle=Qt,this.configSettingsSignal=this.store.selectSignal(de),this.gtmHelper.enable()}onResize(){this.evaluateViewportChange()}ngOnInit(){this.dataRoute=this.activatedRoute.snapshot.data||null,this.store.select(ei).pipe(T(()=>this.alive),me(1)).subscribe(e=>{(0,d.isEmpty)(e?.lastName)&&this.router.navigateByUrl(`/${this.dataRoute?.fallBackUrl??""}`)}),this.currentJourneyIndex=this.activatedRoute.snapshot.paramMap.get(ae),this.nextPageUrl=`/${(this.dataRoute?.nextPage??"").replace(`:${se}`,zt)}`.replace(`:${ae}`,this.currentJourneyIndex),this.initialDataLoading$=F([this.store.select(ci),this.store.select(di),this.store.select(Zt).pipe(A(e=>Object.values(e).some(t=>t))),this.store.select(Gt)]).pipe(A(e=>!e.every(t=>!t))),this.dataLoading$=F([this.store.select(ii),this.store.select(Ut),this.store.select(Wt)]).pipe(A(e=>!e.every(t=>!t))),this.activeLanguage$=this.store.select(qt),this.passengerTypeCodes$=this.store.select(Lt),this.store.dispatch(new Rt),this.store.select(ti).pipe(T(()=>this.alive)).subscribe(e=>{this.quotation=e}),this.store.select(Nt).pipe(T(()=>this.alive)).subscribe(e=>{this.customSeatMaps=e}),this.journeysToEdit$.pipe(T(()=>this.alive)).subscribe(e=>{let t=e.filter(r=>!r.reservationStatus.cancelled);this.reservationJourneys=t;let i=this.getUniqueBookingKeysFromPassengerJourneyDetails(t);this.store.dispatch(new Pt(i))}),this.selectingAndSelectedSeatOptions$.pipe(T(()=>this.alive)).subscribe(e=>{this.reservationSeatSelections=(0,d.flatMap)(Object.values(e))}),this.store.select(ce).pipe(T(()=>this.alive)).subscribe(e=>{this.reservation=e,(0,d.isObject)(this.reservation)&&(this.journeyIndex===null||this.passengerIndex===null||this.passengerJourneyDetail===null)&&(this.journeyIndex=this.hasCodeShareFlights&&this.configuration.codeshareMessageEnabled?-1:0,this.segmentIndex=0,this.passengerIndex=0,this.journeyIndex>=0&&this.reservationJourneys?.[this.journeyIndex]&&(this.passengerJourneyDetail=this.reservationJourneys[this.journeyIndex].passengerJourneyDetails[this.passengerIndex]))}),this.listenOnSeatSelectionOptionsChanged(this.journeysToEdit$),F([this.journeysToEdit$,this.seatSelectionRestrictionsReceived$,this.seatSelectionOptionsReceived$,this.selectingAndSelectedSeatOptions$,this.fareTypeIdentifierBySelectedJourney$]).pipe(R(([e,t])=>!(0,d.isEmpty)(e)&&t!=null),T(()=>this.alive)).subscribe(([e,t,i,r,s])=>{this.journeysToCheckRestrictionRules=e,this.seatSelectionRestrictionDictionary=e.reduce((a,g,S)=>{let y=r[g.key];return X(X({},a),this.processSeatSelectionBehaviors(y,t,e[S],S,s?.[S],this.get
1SeatSelectionOptionByJourneySegment.bind(this),this.getPassengerByPaxIndex.bind(this),(m,p,_)=>this.getSelectedSeatSelectionSeatOption(m,_,y)))},{}),this.cleanUpInvalidSeatSelections((0,d.flatMap)(Object.values(r)).filter(a=>(0,d.isEmpty)(a.key)))}),F([this.store.select(Te),this.selectingAndSelectedSeatOptions$,this.store.select(ai)]).pipe(T(()=>this.alive)).subscribe(([e,t,i])=>{this.bookingKey=this.bookingKey?this.bookingKey:this.journeysToEditSignal()[0]?.passengerJourneyDetails[0]?.bookingKey,this.seatSelectionOptions=this.bookingKey?e[this.bookingKey]||[]:[],this.seatSelectionOptionsReceived$.next(this.seatSelectionOptions),this.flightStatusByKey=i;let r=(0,d.flatMap)(Object.values(t));if((0,d.isArray)(r)&&this.passengerJourneyDetail!==null)for(let s of this.reservationSeatSelections)this.reservationsHelper.compareReservationPassengerByIdentifier(s.passenger,this.passengerJourneyDetail.passenger)||this.occupiedSeatKeys.push(s.selectionKey)}),F([F([this.store.select(de),this.store.select(Fe)]).pipe(T(()=>this.alive),R(e=>e[0]!==null&&e[1]!==null)),this.store.select(Vt),this.store.select(le),this.store.select(Kt)]).pipe(T(()=>this.alive)).subscribe(([[e,t],i,r,s])=>{e!==null&&t!==null&&r!==null&&(this.configuration.loadConfigSettingsAndI18nMessages(e,t,r,i,s,this.dataRoute?.configPrefix),this.configuration=(0,d.cloneDeep)(this.configuration),this.seatSelectionRestrictionsReceived$.next(this.configuration.seatPickerConfiguration?.seatSelectionRestrictions))}),this.store.select(le).pipe(T(()=>this.alive)).subscribe(e=>{this.currencyCode=e?.code}),F([this.store.select(de),this.store.select(Fe),this.store.select(le),this.store.select(gi),this.store.select(pi)]).pipe(T(()=>this.alive)).subscribe(([e,t,i,[r,s],a])=>{this.configuration.loadReservationChargesBreakdownConfiguration(e,t,i,r,s,a,this.dataRoute?.configPrefix),this.configuration=(0,d.cloneDeep)(this.configuration)});let n=this.seatSelectionRestrictionsReceived$.pipe(T(()=>this.alive),A(e=>(0,d.isObject)(e)&&Object.values(e).some(t=>(0,d.isObject)(t?.filter?.fareTypeApplicability)&&Object.keys(t?.filter?.fareTypeApplicability).length>0)));F([this.store.select(q),n]).pipe(R(([e,t])=>!(0,d.isEmpty)(e)&&t===!0)).subscribe(([e])=>{let t=(0,d.uniq)((0,d.flatMap)(e.map(i=>i?.passengerJourneyDetails?.map(r=>r?.fareClass?.key))));t.length>0&&this.store.dispatch(new Mt(t))}),F([this.store.select(Te),this.availableSteps$,this.furthestStepUrl$]).pipe(R(([e])=>Object.keys(e??{}).length>0),R(()=>this.configuration.autoSkipWhenAllOpenSeating&&this.allSegmentsOpenSeating||this.allSegmentsDepartureInhibited),R(([,e,t])=>!this.userHasBeenPastSeatSelection(e,t)),_e(),xe(this.destroyRef)).subscribe(()=>{Je(this.configuration.autoSkipDelayMs).pipe(xe(this.destroyRef)).subscribe(()=>this.nextPage())})}ngOnDestroy(){this.alive=!1,this.store.dispatch(new Bt(null,null))}ngAfterViewInit(){setTimeout(()=>{this.evaluateViewportChange()})}uiLanguageChanged(n){this.store.dispatch(new jt(n.next))}selectedPaxSlide(){this.slideToPaxRow(this.passengerIndex)}toggleJourneyOrFlightOrPassenger(n,e,t){if(this.journeyIndex=n,this.segmentIndex=e,this.passengerIndex=t,this.occupiedSeatKeys=[],this.passengerJourneyDetail=this.reservationJourneys[n].passengerJourneyDetails[t],this.seatSelectionOptions=[],this.bookingKey=this.passengerJourneyDetail.bookingKey,this.bookingKey&&this.store.dispatch(new $t(this.bookingKey)),this.reservationSeatSelections)for(let i of this.reservationSeatSelections)this.reservationsHelper.compareReservationPassengerByIdentifier(i.passenger,this.passengerJourneyDetail.passenger)||this.occupiedSeatKeys.push(i.selectionKey);this.slideToPaxRow(this.passengerIndex),setTimeout(()=>{this.evaluateViewportChange()},250)}isActiveJourney(n){return n===this.journeyIndex}isActiveSegment(n,e){return n===this.journeyIndex&&e===this.segmentIndex}get allSegmentsOpenSeating(){return this.computeAllSegmentsOpenSeating()}get allSegmentsDepartureInhibited(){let n=this.configuration.seatPickerConfiguration.timeBeforeDepartureToPreventSelection;return n?this.computeAllSegmentsDepartureInhibited(n):!1}isSegmentDepartureInhibited(n){let e=this.configuration.seatPickerConfiguration.timeBeforeDepartureToPreventSelection;return e?this.isOptionWithinDepartureWindow(n,e):!1}goToPreviousPage(){let n=this.activatedRoute.snapshot.paramMap.get(se),e=this.activatedRoute.snapshot.paramMap.get(ae);this.navigationUrlHelper.backToPreviousStep({steps:this.navigationUrlHelper.buildEditJourneySteps(this.configSettingsSignal(),n,e),fallbackUrl:`/${this.navigationUrlHelper.getPrefixRoute()}${Xt.replace(`:${se}`,n)}`})}processSeatSelectionBehaviors(n,e,t,i,r,s,a,g){let{seatSelectionRestrictionDictionary:S,autoAssignInitialSeat:y}=this.seatSelectionRestrictionHelper.processSeatSelectionBehaviorsForOCI(n,r,e,t,i,t.segments,s,a,g,this.reservation.passengers.length,this.reservation.passengers);if(y!=null){let{event:m,journey:p,journeySegment:_,paxIndex:b}=y;this.seatPickerSeatSelected(m,p,_,this.getPassengerByPaxIndex(b)?.key)}return S}getSeatSelectionOptionByJourneySegment(n,e,t){let i=this.journeysToCheckRestrictionRules[e].segments[t],r=this.seatSelectionOptions;return this.reservationsHelper.produceSeatSelectionOptionForSegment(i.flight,r,i.legs)}getJourneyTitle(n){if((0,d.isObject)(n)){let e=this.getJourneySegmentsGroupByFlight(n);if((0,d.isArray)(e)&&e.length>0){let t=e[0].departure.airport,i=e[e.length-1].arrival.airport;return this.airportNameCodeFormatPipe.transform(t,this.airportOptions(),"pair",i,this.configuration.journeyTitle)}}return""}getJourneySegments(n){return this.reservationsHelper.getFlightsFromJourneySegments(n.segments)}getJourneySegmentsGroupByFlight(n){let e=this.getJourneySegments(n);return(0,d.isArray)(e)&&e.length>0?this.reservationsHelper.getJourneySegmentsGroupByFlight(e):[]}seatPickerSeatSelected(n,e,t,i){let r=t.flight,s=this.reservationsHelper.getFlightIdentifier(r),a=this.getJourneySegmentsGroupByFlight(e),g=a.findIndex(y=>this.reservationsHelper.getFlightIdentifier(y)===s),S=0;this.store.select(oi).pipe(_e()).subscribe(y=>{let m=ht(this.reservationsHelper.processSeatSelectionsChanged(y,this.seatSelectionOptions,r,n.current,n.next,e.key,t.key,i),_=>{_.forEach(b=>
1{this.typeScriptHelper.isNonEmptyString(b.passenger.key)||(b.passenger={key:i}),this.typeScriptHelper.isNonEmptyString(b.journey.key)||(b.journey=e),this.typeScriptHelper.isNonEmptyString(b.segment.key)||(b.segment={key:t.key})})});this.store.dispatch(new we(m)),this.store.dispatch(new ke);let p=this.reservation.passengers.findIndex(_=>_.key===i);if((0,d.isObject)(n.current)&&(!(0,d.isObject)(n.next)||n.next.selectionKey!==n.current.selectionKey))try{this.gtmHelper.pushLayer(new Ct(n.current,this.reservation.passengers[p],p,this.configuration.currencyCode,be([r])))}catch(_){this.log.error("[MmbEditJourneySeatsSelectionComponent.seatPickerSeatSelected]",_)}if((0,d.isObject)(n.next))try{this.gtmHelper.pushLayer(new yt(n.next,this.reservation.passengers[p],p,this.configuration.currencyCode,be([r])))}catch(_){this.log.error("[MmbEditJourneySeatsSelectionComponent.seatPickerSeatSelected]",_)}(0,d.isObject)(n.next)&&(S===this.reservationJourneys.length-1&&g===a.length-1&&p===this.reservation.passengers.length-1||(S<=this.reservationJourneys.length-1&&g<=a.length-1&&p<this.reservation.passengers.length-1?this.toggleJourneyOrFlightOrPassenger(S,g,p+1):S<=this.reservationJourneys.length-1&&g<a.length-1&&p===this.reservation.passengers.length-1?this.toggleJourneyOrFlightOrPassenger(S,g+1,0):S<this.reservationJourneys.length-1&&g===a.length-1&&p===this.reservation.passengers.length-1&&(this.toggleJourneyOrFlightOrPassenger(S+1,0,0),this.scrollHelper.windowScrollAfterSelection())))})}isConnectingFlight(n){return this.getJourneySegmentsGroupByFlight(n).length>1}getMultiSegmentFlightTitle(n,e,t){if(typeof e>"u")return null;let i=this.reservationsHelper.getAirlineCodeByFlight(e),r=this.getJourneySegments(n),s=this.configuration.multiSegmentFlightDepartureTitle;return t>0&&t<r.length-1?s=this.configuration.multiSegmentFlightConnectingTitle:t>0&&t===r.length-1&&(s=this.configuration.multiSegmentFlightArrivalTitle),ge.String.format(s,i,e.flightNumber)}getPassengerByKey(n){let e=this.reservation.passengers.find(t=>t.key===n);return typeof e<"u"?e:null}completeSelection(n,e){this.scrollHelper.windowScrollAfterSelection();let t=this.reservationJourneys[n],i=this.getJourneySegmentsGroupByFlight(t);n===this.reservationJourneys.length-1&&e===i.length-1?this.actionButtonContainer!=null&&this.actionButtonContainer.nativeElement!=null&&!this.footerMessageAcknowledgment&&this.configuration.pageFooterMessageConfiguration.footerAcknowledgmentEnabled?this.slideToElement(this.actionButtonContainer.nativeElement):this.nextPage():n<this.reservationJourneys.length-1&&e===i.length-1?this.toggleJourneyOrFlightOrPassenger(n+1,0,0):n<=this.reservationJourneys.length-1&&e<i.length-1&&this.toggleJourneyOrFlightOrPassenger(n,e+1,0)}nextPage(){this.router.navigate([this.nextPageUrl])}getSelectedSeatsCountBySegment(n,e){let t=0,i=[];(0,d.isArray)(this.reservationSeatSelections)&&(i=this.reservationSeatSelections.filter(s=>this.reservationsHelper.compareReservationJourneyByIdentifier(s.journey,n)&&this.reservationsHelper.compareJourneySegmentByIdentifier(s.segment,e)));let r=0;return(0,d.isArray)(this.reservation.seatSelections)&&(0,d.isArray)(this.reservation?.passengers)&&this.reservation.passengers.forEach(s=>{i.filter(a=>a.passenger.key===s.key).length===0&&(r+=this.reservation.seatSelections.filter(a=>this.reservationsHelper.compareReservationJourneyByIdentifier(a.journey,n)&&this.reservationsHelper.compareJourneySegmentByIdentifier(a.segment,e)&&this.reservationsHelper.compareReservationPassengerByIdentifier(a.passenger,s)).length)}),t=r+i.length,ge.String.format(t>1?this.configuration.selectedSeatsCount:this.configuration.selectedSeatCount,t)}getArrivalAirport(n,e){let t=this.reservationsHelper.getFlightIdentifier(e),i=this.getJourneySegments(n).filter(r=>this.reservationsHelper.getFlightIdentifier(r)===t);return i.length>0?i[i.length-1].arrival.airport:null}getArrivalAirportCode(n,e){return this.getArrivalAirport(n,e).code}getSelectedSeatChargeByPassenger(n,e,t){if(this.reservationSeatSelections!==null&&this.reservation!==null&&typeof this.reservation.seatSelections<"u"){let i=this.getPassengerByKey(t),r=[];if((0,d.isArray)(this.reservationSeatSelections)&&(r=this.reservationSeatSelections.filter(s=>this.reservationsHelper.compareReservationJourneyByIdentifier(s.journey,n)&&this.reservationsHelper.compareJourneySegmentByIdentifier(s.segment,e)&&this.reservationsHelper.compareReservationPassengerByIdentifier(s.passenger,i)),r.length)){let s=this.getSeatSelectionSeatOptionBySegmentAndSelectionKey(e,r[0].selectionKey);if(s!==null&&s.seatCharges!==null){let a=this.getSelectedSeatPrice(s.seatCharges,this.configuration.seatPriceIncludeTax),g="";return a>0?(g=this.currencyPipe.transform(a,this.configuration.currencyISOCode,this.configuration.currencySymbolDisplay),g):this.configuration.includedText}}if((0,d.isObject)(this.reservation)&&(0,d.isArray)(this.reservation.seatSelections)&&(r=this.reservation.seatSelections.filter(s=>this.reservationsHelper.compareReservationJourneyByIdentifier(s.journey,n)&&this.reservationsHelper.compareJourneySegmentByIdentifier(s.segment,e)&&this.reservationsHelper.compareReservationPassengerByIdentifier(s.passenger,i)),r.length)){let s=this.getSeatSelectionSeatOptionBySegmentAndSeatMapCell(e,r[0].seatMapCell);if(s!==null&&s.seatCharges!==null){let a=this.getSelectedSeatPrice(s.seatCharges,this.configuration.seatPriceIncludeTax),g="";return a>0?(g=this.currencyPipe.transform(a,this.configuration.currencyISOCode,this.configuration.currencySymbolDisplay),g):this.configuration.includedText}}}return null}doesSegmentHaveCancelledLegs(n){return this.reservationsHelper.doesSegmentHaveCancelledLegs(n)}getSeatSelectionSeatOptionBySegmentAndSelectionKey(n,e){if((0,d.isArray)(this.seatSelectionOptions)){let t=this.reservationsHelper.getSeatSelectionOptionsByJourneySegment(this.seatSelectionOptions,n.flight);if(t.length){let i=t[0].seatOptions.find(r=>r.selectionKey===e);return i||null}}return null}
1getSelectedSeatByPassenger(n,e,t){let i=this.findSelectedSeatByPassenger(n,e,t);return(0,d.isObject)(i)?i.seatMapCell.rowIdentifier+i.seatMapCell.seatIdentifier:"---"}findSelectedSeatByPassenger(n,e,t){let i=this.getPassengerByKey(t),r=[];return(0,d.isArray)(this.reservationSeatSelections)&&(r=this.reservationSeatSelections.filter(s=>this.reservationsHelper.compareReservationJourneyByIdentifier(s.journey,n)&&this.reservationsHelper.compareJourneySegmentByIdentifier(s.segment,e)&&this.reservationsHelper.compareReservationPassengerByIdentifier(s.passenger,i)),r.length>0)?this.getSeatSelectionSeatOptionBySegmentAndSelectionKey(e,r[0].selectionKey):(0,d.isObject)(this.reservation)&&(0,d.isArray)(this.reservation.seatSelections)&&(r=this.reservation.seatSelections.filter(s=>this.reservationsHelper.compareReservationJourneyByIdentifier(s.journey,n)&&this.reservationsHelper.compareJourneySegmentByIdentifier(s.segment,e)&&this.reservationsHelper.compareReservationPassengerByIdentifier(s.passenger,i)),r.length>0&&(0,d.isObject)(r[0]?.seatMapCell))?r[0]:null}hasAvailableSeatMapForSelection(n){return this.reservationsHelper.hasAvailableSeatMapForSelection(this.configuration.allowMultipleSeatMapSelectionsInOneSegment,this.seatSelectionOptions,n.flight)}getSelectedSeatSelectionSeatOption(n,e,t){if((0,d.isArray)(this.seatSelectionOptions)&&this.reservation!==null&&(0,d.isArray)(t)){let i=t.filter(r=>r.passenger.key===e&&r.segment.key===n.key);if(i.length>0)return this.getSeatSelectionSeatOptionBySegmentAndSelectionKey(n,i[0].selectionKey);if((0,d.isObject)(this.reservation)&&(0,d.isArray)(this.reservation.seatSelections)&&(i=this.reservation.seatSelections.filter(r=>r.passenger.key===e&&r.segment.key===n.key),i.length))return this.getSeatSelectionSeatOptionBySegmentAndSeatMapCell(n,i[0].seatMapCell)}return null}getPassengerByPaxIndex(n){return this.reservation?.passengers[n]}deselectPassengerSeat(n,e,t,i){n.stopPropagation();let r=this.getSelectedSeatSelectionSeatOption(t,i,this.reservationSeatSelections);r!=null&&this.seatPickerSeatSelected({current:r,next:null},e,t,i)}onCustomSeatMapFound({seatMapKey:n,svgUrl:e}){this.store.dispatch(new Ht(n,e))}getSeatSelectionSeatOptionBySegmentAndSeatMapCell(n,e){if((0,d.isArray)(this.seatSelectionOptions)&&this.seatSelectionOptions.length>0){let t=this.seatSelectionOptions.filter(i=>i.flightSegment.flight.flightNumber===n.flight.flightNumber);if(t.length){let i=t[0].seatOptions.find(r=>r.seatMapCell.rowIdentifier===e.rowIdentifier&&r.seatMapCell.seatIdentifier===e.seatIdentifier);return i||null}}return null}login(n){this.jwtAuthenticationService.isAuthenticated()&&this.jwtAuthenticationService.getValidAuthenticationUser().pipe(T(()=>this.alive)).subscribe(e=>{let t=e===null?"":e.username;t&&this.store.dispatch(new Jt("","","","","","","","","",t))})}logout(n){this.store.dispatch(new Ot)}getInvalidSeatSelectionKeys(n,e,t,i,r){let s=new Set;return(0,d.isEmpty)(n)||t.forEach((a,g)=>{n.forEach(S=>{(0,d.isEmpty)(S)||!((0,d.isNumber)(a.index)&&a.index===S.passenger.index||!(0,d.isEmpty)(a.key)&&a.key===S.passenger.key)||r.forEach(m=>{this.seatSelectionRestrictionHelper.getRestrictionBehaviorFromSeatSelectionFromIndex(S,e,i,m,g)?.denySelection&&s.add(S.selectionKey)})})}),s}cleanUpInvalidSeatSelections(n){this.newInvalidSeats$.pipe(T(()=>this.alive),me(1)).subscribe(e=>{if(e==null||e.size===0||n.length===0)return;let t=n.filter(i=>!(0,d.isEmpty)(i.key)||!e.has(i.selectionKey));n.length!==t.length&&(this.store.dispatch(new we(t)),this.store.dispatch(new ke))})}get hasCodeShareFlights(){return(0,d.flatten)(this?.reservationJourneys.map(n=>this.getJourneySegmentsGroupByFlight(n)))?.some(n=>this.reservationsHelper.isCodeShareFlight(n))}isCodeShareFlight(n){return this.reservationsHelper.isCodeShareFlight(n)}static{this.\u0275fac=function(e){return new(e||o)(j(pe),j(It),j(Ft),j(xt),j(at),j(lt),j(ft),j(mt),j(_t),j(re),j(hi))}}static{this.\u0275cmp=De({type:o,selectors:[["app-edit-journey-seat-selections"]],viewQuery:function(e,t){if(e&1&&qe(Hi,5)(ji,5)(Di,5)(Li,5),e&2){let i;Y(i=Z())&&(t.actionButtonContainer=i.first),Y(i=Z())&&(t.stickyLegElements=i),Y(i=Z())&&(t.stickyPaxElements=i),Y(i=Z())&&(t.paxRowItems=i)}},hostBindings:function(e,t){e&1&&L("resize",function(){return t.onResize()},je)},standalone:!1,features:[Ke],decls:7,vars:6,consts:[["seatPickerTemplate",""],["stickyLeg",""],["stickyPax",""],["paxRow",""],["seatPicker",""],[3,"showSpinner"],[1,"navbar","navbar-expand-lg","navbar-primary","bg-primary"],[1,"invisible"],[1,"container","mt-5"],[1,"row"],[1,"col"],["aria-label","site header",1,"sticky-top","z-index-fixed"],[1,"page-header","navbar","navbar-expand-sm","navbar-dark","bg-primary","px-4","justify-content-between","d-print-flex",3,"onChange","onLogin","onLogout","configuration","activeLanguage"],[3,"configuration"],[1,"page-body","container-fluid","bg-light"],["aria-label","seats selection",1,"container-lg"],[1,"col-sm-6","d-flex","align-items-start","flex-column"],[1,"page-header--title","h2"],[1,"col-sm-auto","d-flex","align-items-sm-end","flex-column","ms-auto"],[1,"page-header--pnr"],[1,"fs-12","pt-1"],[1,"fw-bold","fs-24","lh-1","text-uppercase","text-primary"],[1,"row","mt-5"],[1,"col-sm-8"],["aria-label","Seat selection codeshares message"],[1,"cart","col-sm-4","d-block",3,"d-sm-block","configuration","reservation","quotation","showChargeDetails","journeyKeys","passengerTypeCodes","voucherPaymentIdentifier","breakdownNewChargesAndReservationCredit"],[1,"row","my-4"],[1,"page-controllers","container-fluid","bg-white"],[1,"container-lg","pb-5","mt-5"],[1,"col-sm-8","d-flex","justify-content-between"],["type","button",1,"btn","btn-outline-primary","rounded-pill",3,"click","disabled"],["type","button",1,"btn","btn-primary","rounded-pill",3,"routerLink","disabled"],["aria-label","site footer"],[1,"page-footer","container-fluid","d-print-none",3,"configuration"],[1,"d-flex","align-items-center","alert","alert-warning"],[1,"text-warning--text-emphasis","ic-2x","me-3",3,"icon"],[3,"innerHTML"],[1,"col-12"],[3,"continueClicked","title","description","buttonText"],[1,"row","journey",3,"ngClass"],[1,"row","mb-4"],[1,"h2","journey--title"],[1,"leg","row",3,"ngClass"],[1,"leg--container","row",3,"ngClass"],[1,"bg-light","leg--data-sticky","col","py-4",3,"active","style"],[1,"col-12","pt-0","pb-0","border-bottom","border-bottom-thick","expanded--content"],[1,"bg-light","leg--data-sticky","col","py-4"],[1,"col-12","fs-14","m-0"],[1,"leg-link","col-12","col-xl-8","d-flex"],[1,"leg--display","h-100","w-25","px-3","d-flex","justify-content-between"],[1,"leg-single","align-self-center"],[1,"h5","mb-0","airport--code"],[1,"leg--display","h-100","w-50","px-3","d-flex","justify-content-between"],[1,"departure","align-self-center"],[1,"arrival","align-self-center"],[1,"leg-action","mt-3","mt-xl-1","col-xl-4","col-12","text-xl-right"],[1,"leg-action","mt-3","mt-md-1","col","text-sm-right"],[1,"arrival","dotted","align-self-center"],[1,"departure","dotted","align-self-center"],["type","button",1,"btn","btn-info","rounded-pill","text-truncate",3,"click","disabled"],["type"," button",1,"btn","btn-secondary","rounded","text-nowrap",3,"click","disabled"],["type","button",1,"btn","btn-outline-primary","rounded","text-nowrap",3,"click","disabled"],[3,"class"],[1,"passenger--selection","col-12","bg-light",3,"ngClass"],[1,"h6"],[1,"passenger--row-wrapper","row"],[1,"passenger--row-container","col","gx-5"],[1,"passenger--row","pointer","row","border","border-medium","rounded","py-2","px-m-3","my-3",3,"active","bg-white","bg-transparent"],[1,"passenger--row","pointer","row","border","border-medium","rounded","py-2","px-m-3","my-3",3,"click"],[1,"col","d-flex","justify-content-between"],[1,"passenger"],[1,"lh-12"],[1,"me-2",3,"icon"],[1,"fw-bold"],[1,"fs-14","fw-bold"],[1,"btn","rounded-pill","d-flex","align-items-center","gap-1","px-3"],["role","button","aria-label","Remove seat",1,"ms-1","btn-remove-seat"],[1,"fs-12"],["role","button","aria-label","Remove seat",1,"ms-1","btn-remove-seat",3,"click"],[1,"rounded-pill",3,"icon"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"alert","alert-primary"],[1,"cart","col-sm-4","d-block",3,"configuration","reservation","quotation","showChargeDetails","journeyKeys","passengerTypeCodes","voucherPaymentIdentifier","breakdownNewChargesAndReservationCredit"],[3,"ngModelChange","configuration","ngModel"],[1,"col-12","list-group","mb-4"],[1,"list-group-item","list-group-item-danger"],[1,"seats--selection","col-12","p-0","p-sm-2",3,"col-lg-7","value","seatSelectionOption","seatOccupiedTester","configuration","seatOccupiedByTravelPartyTester","reservationSeatSelections","seatSelectionRestrictionBehaviorDictionary","customSeatMap"],[1,"seats--selection","col-12","p-0","p-sm-2",3,"onChange","customSeatMapFound","value","seatSelectionOption","seatOccupiedTester","configuration","seatOccupiedByTravelPartyTester","reservationSeatSelections","seatSelectionRestrictionBehaviorDictionary","customSeatMap"],[1,"align-self-center","col-12",3,"col-md-7"],[1,"align-self-center","col-12"],[1,"alert","alert-warning"]],template:function(e,t){e&1&&(D(0,"app-loading-spinner",5),w(1,"async"),v(2,Gi,7,0),w(3,"async"),Ve(4,bn,40,32),ye(5,En,1,1,"ng-template",null,0,Ze)),e&2&&(C("showSpinner",$(1,2,t.initialDataLoading$)),c(2),x($(3,4,t.initialDataLoading$)?2:4))},dependencies:[tt,it,ct,rt,st,Yt,Ii,wi,ki,Ti,xi,bi,fi,vi,pt,nt,St,kt,wt,bt],encapsulation:2})}};Be([yi()],ie.prototype,"onResize",null);var Fn=[{path:"",component:ie}],Po=(()=>{class o{static{this.\u0275fac=function(t){return new(t||o)}}static{this.\u0275mod=Le({type:o})}static{this.\u0275inj=Ae({providers:[pe],imports:[ot,dt.forChild(Fn),Ei,Tt,gt]})}}return o}
1)();export{Po as EditJourneySeatSelectionsModule};
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.