"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[7498],{70678:(e,s,t)=>{t.r(s),t.d(s,{SearchPageComponent:()=>k,default:()=>E});var i=t(65043),r=t(97508),a=t(77048),l=t(91688),n=t(1488),o=t.n(n),c=t(98139),d=t.n(c),h=t(4239),u=t(63775),g=t(76732),p=t(57302),A=t(80137),m=t(32423),P=(t(44356),t(703)),y=t(44104),M=t(56467),C=t(71702),b=t(37614),f=t(58175),S=t(69314),v=t(16771),F=t(83020),x=t(96940),j=t(17665),L=t(98605),_=t(98470),N=t(70579);class k extends i.Component{constructor(e){super(e),this.state={isMobileModalOpen:!1,currentQueryParams:(0,f.oS)(e)},this.onOpenMobileModal=this.onOpenMobileModal.bind(this),this.onCloseMobileModal=this.onCloseMobileModal.bind(this),this.resetAll=this.resetAll.bind(this),this.getHandleChangedValueFn=this.getHandleChangedValueFn.bind(this),this.handleSortBy=this.handleSortBy.bind(this)}onOpenMobileModal(){this.setState({isMobileModalOpen:!0})}onCloseMobileModal(){this.setState({isMobileModalOpen:!1})}resetAll(e){const{history:s,routeConfiguration:t,config:i,intl:r}=this.props,{listingFields:a}=(null===i||void 0===i?void 0:i.listing)||{},{defaultFilters:l}=(null===i||void 0===i?void 0:i.search)||{},n=(0,f.oS)(this.props),c=(0,A.Am)(a,l);this.setState({currentQueryParams:{}});const d=o()(n,c);s.push("/".concat(r.locale).concat((0,p.__)("SearchPage",t,{},d)))}getHandleChangedValueFn(e){const{history:s,routeConfiguration:t,config:i,intl:r}=this.props,{listingFields:a}=(null===i||void 0===i?void 0:i.listing)||{},{defaultFilters:l,sortConfig:n}=(null===i||void 0===i?void 0:i.search)||{},o=(0,f.oS)(this.props);return c=>{this.setState((e=>{const{address:s,bounds:t,keywords:r}=o,a={...o,...e.currentQueryParams},l=(0,A.Ej)(i)?{keywords:r}:{};return{currentQueryParams:{...a,...c,...l,address:s,bounds:t}}}),(()=>{if(e){const e=this.state.currentQueryParams,i=(0,f.G7)(e,a,l,n);s.push("/".concat(r.locale).concat((0,p.__)("SearchPage",t,{},i)))}}))}}handleSortBy(e,s){const{history:t,routeConfiguration:i,intl:r}=this.props,a=(0,f.oS)(this.props),l=s?{...a,[e]:s}:o()(a,e);t.push("/".concat(r.locale).concat((0,p.__)("SearchPage",i,{},l)))}handleResetAll(e){this.resetAll(e),e&&e.currentTarget&&e.currentTarget.blur()}render(){var e;const{intl:s,listings:t,location:i,onManageDisableScrolling:r,pagination:a,scrollingDisabled:l,searchInProgress:n,searchListingsError:o,searchParams:c,routeConfiguration:u,config:g}=this.props,{listingFields:p}=(null===g||void 0===g?void 0:g.listing)||{},{defaultFilters:P,sortConfig:y}=(null===g||void 0===g?void 0:g.search)||{},k=null===g||void 0===g||null===(e=g.listing)||void 0===e?void 0:e.listingTypes.map((e=>e.listingType)),E=g.currency,{searchParamsAreInSync:O,urlQueryParams:D,searchParamsInURL:I}=(0,f.Bg)(i.search,c,p,P,y,(0,A.fC)(g)),B=(0,f.r$)(I,p,P,!1),H=(0,A.Ej)(g),V=H?P.filter((e=>"keywords"!==e.key)):P,[Q,w]=(0,f.rY)(p,k),R=[...Q,...V,...w],U=(0,f.r$)(B,p,P),W=null==I.dates||null!=I.dates&&I.dates===U.dates,T=Object.keys(U),q=H?T.filter((e=>"keywords"!==e)).length:T.length,z=!!a&&null!=a.totalItems,G=O&&z?a.totalItems:null!==a&&void 0!==a&&a.paginationUnsupported?t.length:0,K=!n&&O&&!!(z||null!==a&&void 0!==a&&a.paginationUnsupported),X=(0,A.Bu)(y.conflictingFilters,B,p,P),Y=e=>{var s;return y.active?(0,N.jsx)(x.A,{sort:B[y.queryParamName],isConflictingFilterActive:!!X,hasConflictingFilters:!!((null===(s=y.conflictingFilters)||void 0===s?void 0:s.length)>0),selectedFilters:U,onSelect:this.handleSortBy,showAsPopup:!0,mode:e,contentPlacementOffset:-14}):null},Z=(0,N.jsx)(L.A,{listingsAreLoaded:K,totalItems:G,location:i,resetAll:this.resetAll}),{title:$,description:J,schema:ee}=(0,f.Np)(t,I||{},s,u,g),se=this.state.isMobileModalOpen?d()(_.A.topbarBehindModal,_.A.topbar):_.A.topbar;return(0,N.jsxs)(M.YW,{scrollingDisabled:l,description:J,title:$,schema:ee,children:[(0,N.jsx)(C.A,{className:se,currentPage:"SearchPage",currentSearchParams:D}),(0,N.jsxs)("div",{className:_.A.layoutWrapperContainer,children:[(0,N.jsx)("aside",{className:_.A.layoutWrapperFilterColumn,"data-testid":"filterColumnAside",children:(0,N.jsxs)("div",{className:_.A.filterColumnContent,children:[R.map((e=>(0,N.jsx)(S.A,{idPrefix:"SearchFiltersMobile",className:_.A.filter,config:e,marketplaceCurrency:E,urlQueryParams:D,initialValues:(0,f.LX)(this.props,this.state.currentQueryParams),getHandleChangedValueFn:this.getHandleChangedValueFn,intl:s,liveEdit:!0,showAsPopup:!1,isDesktop:!0},"SearchFiltersMobile.".concat(e.key)))),(0,N.jsx)("button",{className:_.A.resetAllButton,onClick:e=>this.handleResetAll(e),children:(0,N.jsx)(h.sA,{id:"SearchFiltersMobile.resetAll"})})]})}),(0,N.jsx)("div",{className:_.A.layoutWrapperMain,role:"main",children:(0,N.jsxs)("div",{className:_.A.searchResultContainer,children:[(0,N.jsx)(F.A,{className:_.A.searchFiltersMobileList,urlQueryParams:B,sortByComponent:Y("mobile"),listingsAreLoaded:K,resultsCount:G,searchInProgress:n,searchListingsError:o,showAsModalMaxWidth:768,onManageDisableScrolling:r,onOpenModal:this.onOpenMobileModal,onCloseModal:this.onCloseMobileModal,resetAll:this.resetAll,selectedFiltersCount:q,isMapVariant:!1,noResultsInfo:Z,children:R.map((e=>(0,N.jsx)(S.A,{idPrefix:"SearchFiltersMobile",config:e,marketplaceCurrency:E,urlQueryParams:B,initialValues:(0,f.LX)(this.props,this.state.currentQueryParams),getHandleChangedValueFn:this.getHandleChangedValueFn,intl:s,liveEdit:!0,showAsPopup:!1},"SearchFiltersMobile.".concat(e.key))))}),(0,N.jsx)(v.A,{className:_.A.mainPanel,sortByComponent:Y("desktop"),isSortByActive:y.active,listingsAreLoaded:K,resultsCount:G,searchInProgress:n,searchListingsError:o,noResultsInfo:Z}),(0,N.jsxs)("div",{className:d()(_.A.listingsForGridVariant,{[_.A.newSearchInProgress]:!(K||o)}),children:[o?(0,N.jsx)(M.H3,{className:_.A.error,children:(0,N.jsx)(h.sA,{id:"SearchPage.searchError"})}):null,W?null:(0,N.jsx)(M.H5,{children:(0,N.jsx)(h.sA,{id:"SearchPage.invalidDatesFilter"})}),(0,N.jsx)(j.A,{className:_.A.searchListingsPanel,listings:t,pagination:K?a:null,search:(0,m.qg)(i.search),isMapVariant:!1})]})]})})]}),(0,N.jsx)(b.A,{})]})}}k.defaultProps={listings:[],pagination:null,searchListingsError:null,searchParams:{}};const E=(0,a.Zz)((0,r.Ng)((e=>{const{currentPageResultIds:s,pagination:t,searchInProgress:i,searchListingsError:r,searchParams:a}=e.SearchPage;return{listings:(0,P.k_)(e,s),pagination:t,scrollingDisabled:(0,y.kl)(e),searchInProgress:i,searchListingsError:r,searchParams:a}}),(e=>({onManageDisableScrolling:(s,t)=>e((0,y.l)(s,t))}))))((e=>{const s=(0,u._r)(),t=(0,g.Z6)(),i=(0,h.tz)(),r=(0,l.useHistory)(),a=(0,l.useLocation)();return(0,N.jsx)(k,{config:s,routeConfiguration:t,intl:i,history:r,location:a,...e})}))}}]);
//# sourceMappingURL=SearchPageWithGrid.a5565331.chunk.js.map