1import{a as O}from"./chunk-4RKD4GT4.js";import{a as S}from"./chunk-XTS5ASQS.js";import{Ba as T,Ka as x,La as E,Sd as j,Ve as k,cb as H,cf as w,ib as _,k as R,va as J,vd as A,xb as B}from"./chunk-DIUSBZMZ.js";import{F as I}from"./chunk-M7ESVUV6.js";import{Db as P,I as D,Jb as b,Tb as l,Wc as q,Xc as M,Zb as v,_ as m,ba as c,cc as y,dc as f,ec as d,gd as C,jb as L,l as N,oc as F,pb as u,q as n,ub as a}from"./chunk-PG4LNOZF.js";import"./chunk-VBMI6SH6.js";import"./chunk-H3NWS7CE.js";import"./chunk-ZI5GOYGA.js";import"./chunk-MYLNYWDG.js";import"./chunk-PZC4BLOT.js";import"./chunk-YQADWLLS.js";import"./chunk-65637CEC.js";import"./chunk-LL2T7G7E.js";import"./chunk-QABRBY4D.js";import"./chunk-AQVEB7DX.js";import"./chunk-CNYDBWDP.js";import"./chunk-4WFVMWDK.js";import"./chunk-2F44PKVT.js";import"./chunk-M2X7KQLB.js";import"./chunk-C5RQ2IC2.js";import"./chunk-2YSZFPCQ.js";import"./chunk-57YRIO75.js";import"./chunk-42C7ZIID.js";import"./chunk-KUCED5OY.js";function G(s,$){if(s&1&&(d(0,"div",4),q(1,"deltaToHtml")),s&2){let i=F();l("innerHTML",M(1,1,i.semanticDescriptionHtml),L)}}function U(s,$){if(s&1&&d(0,"app-sub-speciality-faq",5),s&2){let i=F();l("faqs",i.displayFaqs)}}var Y="-nom de la r\xE9gion-",ne=(()=>{class s{ar;specialitiesService;addressService;cd;metaService;exploreFilterService;subSpecialitySlug="";subSpeciality=void 0;regionName="";regionSlug="";subSpecialityJob="";latitude=0;longitude=0;semanticDescriptionHtml="";
1displayFaqs=[];get breadcrumbItems(){let i=[];return E(i,this.subSpecialityJob,this.subSpeciality),this.regionName&&i.push({label:this.regionName}),i}resolvedPractitioners=void 0;listingSeoFromRoute=null;constructor(i,t,e,r,h,g){this.ar=i,this.specialitiesService=t,this.addressService=e,this.cd=r,this.metaService=h,this.exploreFilterService=g,this.ar.data.pipe(R(),c(o=>{this.resolvedPractitioners=o.resolvedPractitioners,this.resolvedPractitioners?.list.total===0&&this.metaService.setNoIndexMeta();let p=o.listingSeo;p&&this.applyListingSeoFromRoute(p),this.subSpeciality&&this.regionName&&this.applyItemListSchema(),this.cd.markForCheck()})).subscribe(),this.ar.params.pipe(R(),c(o=>{let{jobSlug:p,locationSlug:z}=T(o.slug);this.loadRegion(p,z)})).subscribe()}ngOnInit(){}loadRegion(i,t){this.addressService.getRegionBySlug(t).pipe(m(e=>e?(this.regionName=e.name,this.regionSlug=t,this.subSpecialityJob=i??"",this.latitude=e.latitude,this.longitude=e.longitude,i?this.specialitiesService.getSubSpecialityByJobSlug(i):n(void 0)):(console.error("Region not found",{regionSlug:t}),N)),m(e=>!e||!this.subSpecialityJob?n(void 0):(this.subSpeciality=e,this.subSpecialitySlug=e.slug,this.listingSeoFromRoute?n(e):this.specialitiesService.resolveListingSeo(this.subSpecialityJob,"region",this.regionSlug).pipe(D(()=>n({seoMetaTitle:e.seoRegionMetaTitle,seoMetaDescription:e.seoRegionMetaDescription,seoSemanticDescription:e.seoRegionSemanticDescription,faqs:e.faqs??[],hasOverride:!1})),c(r=>this.applySeo(e,r)),m(()=>n(e))))),c(e=>{this.exploreFilterService.setFilters({subSpeciality:e?[e.slug]:[],addressLabel:this.regionName,latitude:this.latitude,longitude:this.longitude}),this.cd.markForCheck()})).subscribe()}applyListingSeoFromRoute(i){this.listingSeoFromRoute=i,this.subSpeciality=i.subSpeciality,this.subSpecialitySlug=i.subSpeciality.slug,this.subSpecialityJob=i.subSpeciality.jobSlug,this.regionName=i.locationLabel,this.applySeo(i.subSpeciality,i.resolved)}applySeo(i,t){let e=o=>o?.replace(new RegExp(Y,"g"),this.regionName).replace(/-nom de la region-/g,this.regionName).replace(/-nom de la région-/g,this.regionName)??"";this.semanticDescriptionHtml=e(t.seoSemanticDescription??i.seoRegionSemanticDescription),this.displayFaq
1s=A(t.faqs,i);let r=this.ar.snapshot.paramMap.get("slug"),h=this.specialitiesService.getSubSpecialityJobNameBySlug(this.subSpecialitySlug),g=e(t.seoMetaTitle)||"Trouvez le meilleur "+h+" en "+this.regionName;this.metaService.setMeta(g,e(t.seoMetaDescription??i.seoRegionMetaDescription),void 0,`${S.website}/region/${r}`),this.metaService.setBreadcrumbList(x(this.breadcrumbItems,S.website,`${S.website}/region/${r}`)),this.applyItemListSchema(),this.applyFaqPageSchema()}applyItemListSchema(){let i=this.resolvedPractitioners?.list.data;if(!i?.length||!this.subSpeciality)return;let e="Trouvez le meilleur "+this.specialitiesService.getSubSpecialityJobNameBySlug(this.subSpecialitySlug)+" en "+this.regionName;this.metaService.setPractitionerItemList(i,e)}applyFaqPageSchema(){this.displayFaqs.length&&this.metaService.setFaqPageSchema(this.displayFaqs)}static \u0275fac=function(t){return new(t||s)(a(I),a(J),a(_),a(C),a(H),a(B))};static \u0275cmp=P({type:s,selectors:[["app-sub-specialite-region"]],decls:6,vars:9,consts:[[3,"subSpecialitySlug","subSpecialityJobSlug","fromCache","resolvedPractitioners","addressLabel","beforeAddressLabel"],["explore-breadcrumb",""],[3,"items"],[1,"container"],[1,"practitioner-description","card",3,"innerHTML"],[3,"faqs"]],template:function(t,e){t&1&&(y(0,"app-explore",0)(1,"div",1),d(2,"app-breadcrumb",2),f()(),y(3,"div",3),b(4,G,2,3,"div",4),f(),b(5,U,1,1,"app-sub-speciality-faq",5)),t&2&&(l("subSpecialitySlug",e.subSpecialitySlug)("subSpecialityJobSlug",e.subSpecialityJob)("fromCache",!1)("resolvedPractitioners",e.resolvedPractitioners)("addressLabel",e.regionName)("beforeAddressLabel","en"),u(2),l("items",e.breadcrumbItems),u(2),v(e.subSpeciality?4:-1),u(),v(e.displayFaqs.length?5:-1))},dependencies:[O,j,w,k],encapsulation:2,changeDetection:0})}return s})();export{ne as SubSpecialiteRegionPage};
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.