1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3405],{3405:(e,a,l)=>{l.r(a),l.d(a,{FORM_place:()=>w});var t=l(37876),n=l(14232),r=l(88992),i=l(16265),s=l(67768),u=l(40097),o=l(13810),d=l(79913),c=l(6160),m=l(61654),p=l(32782),y=l(21725),g=l(53264),h=l(53591),v=l(90723),f=l(9303),b=l(40664),_=l(48118),P=l(56384),x=l(34612);let A=["Airport","Attraction","Country","Destination","Region"];var j=l(87571),S=l(26377),T=l(90885);let{Place:C}=c.j,E=d.Ik({...C.omit({feedback_avg:!0,feedback_comment_count:!0,feedback_count:!0,fkey:!0,old_dest_id:!0,ratings:!0,tax_rules:!0,tour_count:!0,wp_id:!0,tag:!0}).extend({airport_nearby:d.zM(),has_flights:d.zM(),has_privates:d.zM(),has_rentals:d.zM(),has_shuttles:d.zM(),is_airport:d.zM(),google_place_id:d.Yj().nullable(),tags:d.ai().array(),activities:d.ai().array(),suborgs:d.ai().array(),tours:d.ai().array(),sub_destinations:d.ai().array()}).shape}),F=e=>{let{name:a,country_id:l,region_id:t,lat:n,lon:r,type:i,google_place_id:s,intl_airport_code:u,airport_nearby:o,has_flights:d,has_privates:c,has_rentals:m,has_shuttles:p,is_airport:y}=e;return{name:a,country_id:l,region_id:t,lat:n,lon:r,type:i,google_place_id:null!=s?s:null,intl_airport_code:u,airport_nearby:!!o,has_flights:!!d,has_privates:!!c,has_rentals:!!m,has_shuttles:!!p,is_airport:!!y}},I=e=>{var a,l,t,n,r,i,s,u;return{...F(e.place),tags:null!=(n=e.categorizedAsTags)?n:[],activities:null!=(r=e.featuredActivityTags)?r:[],suborgs:null!=(i=null==(a=e.featuredSuborgs)?void 0:a.map(e=>e.placeProfileFeaturedSuborgId))?i:[],tours:null!=(s=null==(l=e.featuredBks)?void 0:l.map(e=>e.placeProfileFeaturedBkId))?s:[],sub_destinations:null!=(u=null==(t=e.subDestinations)?void 0:t.map(e=>e.placeProfileSubDestinationPlaceId))?u:[]}},k={name:null,tags:[],activities:[],suborgs:[],tours:[],sub_destinations:[],airport_nearby:!1,has_flights:!1,has_privates:!1,has_rentals:!1,has_shuttles:!1,is_airport:!1,google_place_id:null},N=()=>{var e,a,l,o,d,c,p,C,E,k,N,w,q;let z=(0,r.xW)(),{entityId:D,originalEntity:V,externalChanges:M,externalChangesMode:O="normal",customization:R,onUpdated:J}=(0,h.f)(),{onApplySuggestions:B}=(0,i.m)(),{feedbackMessage:G,showSuccessFeedback:H,showErrorFeedback:K}=(0,y.Ry)(),L=(0,s.jE)(),Y=(0,x.Kji)({pathParams:{id:null==V?void 0:V.place.country_id}},{enabled:!!(null==V?void 0:V.place.country_id),staleTime:0}),Q=(0,x.piN)({queryParams:{place_id:D,bk_type:"Tour"}},{enabled:!!D,staleTime:0}),W=(0,x.qVl)({queryParams:{place_id:D}},{enabled:!!D,staleTime:0}),U=(0,x.bN0)({queryParams:{country:null==(e=Y.data)?void 0:e.fkey}},{enabled:!!(null==(a=Y.data)?void 0:a.fkey),staleTime:0}),Z=(0,x.v_M)({pathParams:{id:D}},{enabled:!!D,staleTime:0}),X=(0,x.SY5)({onSuccess(e){var a;Z.refetch(),H(y.pT.updated("Place",null!=(a=e.name)?a:"Unkwnown Place")),null==J||J(e)},onError(e){K(e,y.Gy.update("Place"))}}),$=(0,x.BSt)(),ee=(0,u.n)({mutationFn:async e=>{var a,l;if(!D||!V)return;let t=null!=(a=V.categorizedAsTags)?a:[],n=null!=(l=e.tags)?l:[],r=n.filter(e=>!t.includes(e)),i=t.filter(e=>!n.includes(e));if(0===r.length&&0===i.length)return;let s=[];r.forEach(e=>s.push({type:"add",promise:$.mutateAsync({pathParams:{id:D},queryParams:{tag:e,classifyAs:!0}})})),i.forEach(e=>s.push({type:"remove",promise:$.mutateAsync({pathParams:{id:D},queryParams:{tag:e,classifyAs:!1}})})),await Promise.all(s.map(e=>e.promise))},onSuccess(){var e;H(y.pT.updated("Place Tags",null!=(e=null==V?void 0:V.place.name)?e:""))},onError(e){K(e,y.Gy.update("Place Tags"))}}),ea=(0,x.FP)(),el=(0,u.n)({mutationFn:async e=>{var a,l;if(!D||!V)return;let t=null!=(a=V.featuredActivityTags)?a:[],n=null!=(l=e.activities)?l:[],r=n.filter(e=>!t.includes(e)),i=t.filter(e=>!n.includes(e));if(0===r.length&&0===i.length)return;let s=[];r.forEach(e=>{s.push({type:"add",promise:ea.mutateAsync({pathParams:{id:D},queryParams:{tag:e,classifyAs:!0}})})}
1),i.forEach(e=>{s.push({type:"remove",promise:ea.mutateAsync({pathParams:{id:D},queryParams:{tag:e,classifyAs:!1}})})}),await Promise.all(s.map(e=>e.promise))},onSuccess(){var e;H(y.pT.updated("Place Activities",null!=(e=null==V?void 0:V.place.name)?e:""))},onError(e){K(e,y.Gy.update("Place Activities"))}}),et=(0,x.WHb)(),en=(0,u.n)({mutationFn:async e=>{var a,l,t;if(!D||!V)return;let n=null!=(l=null==(a=V.featuredSuborgs)?void 0:a.map(e=>e.placeProfileFeaturedSuborgId))?l:[],r=null!=(t=e.suborgs)?t:[],i=r.filter(e=>!n.includes(e)),s=n.filter(e=>!r.includes(e));if(0===i.length&&0===s.length)return;let u=[];i.forEach(e=>u.push({type:"add",promise:et.mutateAsync({pathParams:{id:e},queryParams:{isFeatured:!0}})})),s.forEach(e=>u.push({type:"remove",promise:et.mutateAsync({pathParams:{id:e},queryParams:{isFeatured:!1}})})),await Promise.all(u.map(e=>e.promise))},onSuccess(){var e;H(y.pT.updated("Place Featured Suborgs",null!=(e=null==V?void 0:V.place.name)?e:""))},onError(e){K(e,y.Gy.update("Place Featured Suborgs"))}}),er=(0,x.Buy)(),ei=(0,u.n)({mutationFn:async e=>{var a,l,t;if(!D||!V)return;let n=null!=(l=null==(a=V.featuredBks)?void 0:a.map(e=>e.placeProfileFeaturedBkId))?l:[],r=null!=(t=e.tours)?t:[],i=r.filter(e=>!n.includes(e)),s=n.filter(e=>!r.includes(e));if(0===i.length&&0===s.length)return;let u=[];i.forEach(e=>u.push({type:"add",promise:er.mutateAsync({pathParams:{id:e},queryParams:{isFeatured:!0}})})),s.forEach(e=>u.push({type:"remove",promise:er.mutateAsync({pathParams:{id:e},queryParams:{isFeatured:!1}})})),await Promise.all(u.map(e=>e.promise))},onSuccess(){var e;H(y.pT.updated("Place Featured Tours",null!=(e=null==V?void 0:V.place.name)?e:""))},onError(e){K(e,y.Gy.update("Place Featured Tours"))}}),es=(0,x.A74)(),eu=(0,u.n)({mutationFn:async e=>{var a,l,t;if(!D||!V)return;let n=null!=(l=null==(a=V.subDestinations)?void 0:a.map(e=>e.placeProfileSubDestinationPlaceId))?l:[],r=null!=(t=e.sub_destinations)?t:[],i=r.filter(e=>!n.includes(e)),s=n.filter(e=>!r.includes(e));if(0===i.length&&0===s.length)return;let u=[];i.forEach(e=>u.push({type:"add",promise:es.mutateAsync({pathParams:{id:D},queryParams:{sub_destination:e}})})),s.forEach(e=>u.push({type:"remove",promise:es.mutateAsync({pathParams:{id:e},queryParams:{}})})),await Promise.all(u.map(e=>e.promise))},onSuccess(){var e;H(y.pT.updated("Place Sub Destinations",null!=(e=null==V?void 0:V.place.name)?e:""))},onError(e){K(e,y.Gy.update("Place Sub Destinations"))}}),eo=(0,x.voO)({},{staleTime:0}),ed=null!=(C=W.data)?C:[],ec=null!=(E=Q.data)?E:[],em=null!=(k=null==(l=U.data)?void 0:l.filter(e=>"Destination"===e.type||"Attraction"===e.type))?k:[],ep=null!=(N=null==(o=U.data)?void 0:o.filter(e=>"Region"===e.type))?N:[],ey=null!=(w=null==(d=eo.data)?void 0:d.filter(e=>{var a,l;return(null==e||null==(a=e.tag_types)?void 0:a.includes("Attraction"))||(null==e||null==(l=e.tag_types)?void 0:l.includes("Destination"))}).sort((e,a)=>e.name_en&&a.name_en?e.name_en.localeCompare(a.name_en):0))?w:[],eg=null!=(q=null==(c=eo.data)?void 0:c.filter(e=>{var a;return null==e||null==(a=e.tag_types)?void 0:a.includes("Activity")}).sort((e,a)=>e.name_en&&a.name_en?e.name_en.localeCompare(a.name_en):0))?q:[];(0,T.Z)({getQuery:Z,entityName:"Place",entityToForm:I,showErrorFeedback:K}),(0,n.useEffect)(()=>{if(M){let e=F(M);"normal"===O?z.reset(e,{keepDefaultValues:!0,keepDirty:!1}):"suggestion"===O&&B(e)}},[M,O]);let eh=async e=>{if(!V||!D)return;let a=((e,a)=>{let{tags:l,activities:t,suborgs:n,tours:r,sub_destinations:i,...s}=e;return new j.Y({...a.place,...s})})(e,V);await ee.mutateAsync(e),await el.mutateAsync(e),await en.mutateAsync(e),await ei.mutateAsync(e),await eu.mutateAsync(e),await X.mutateAsync({pathParams:{id:D},body:a})},ev=X.isPending||ee.isPending||el.isPending||en.isPending||ei.isPending||eu.isPending,ef=Z.isPending||ev;return(0,t.jsxs)("form",{onSubmit:z.handleSubmit(eh),className:(0,S.tw)("flex flex-col gap-4",null==R?void 0:R.formClassName),children:[(0,t.jsxs)("div",{className:"grid grid-cols-[repeat(auto-fit,_minmax(200px,_1fr))] gap-2.5",children:[(0,t.jsxs)("div",{className:"p-3 bg-gray-50 rounded-md border",children:[(0,t.jsx)("label",{className:"text-sm font-medium text-gray-700",children:"Country"}),(0,t.jsx)("h4",{className:"mt-1 text-lg font-semibold capitalize",children:(null==(p=Y.data)?void 0:p.name)||"N/A"})]}),(0,t.jsx)(m.A_,{name:"name",label:"Name",placeholder:"Enter name",disabled:ef}),(0,t.jsx)(m.zM,{name:"type",label:"Type",placeholder:"Select Type",options:A.map(e=>({label:e,value:e})),disabled:ef}),(0,t.jsx)(r.xI,{name:"google_place_id",control:z.control,render:e=>{var a;let{field:l}=e;return(0,t.jsx)(_.d,{initialEntityId:null!=(a=l.value)?a:null,onChange:e=>{var a;Array.isArray(e)||(l.onChange(null!=(a=null==e?void 0:e.placeId)?a:null),(null==e?void 0:e.placeId)!=null&&L.fetchQuery((0,x.nT)({pathParams:{id:e.placeId}})).then(e=>{var a,l;z.setValue("lat",null!=(a=null==e?void 0:e.lat)?a:null),z.setValue("lon",null!=(l=null==e?void 0:e.lng)?l:null)}))}})}}),(0,t.jsx)(m.uS,{name:"lat",label:"Latitude",placeholder:"ie. -84.25",disabled:ef}),(0,t.jsx)(m.uS,{name:"lon",label:"Longitude",placeholder:"ie. 25.12",disabled:ef}),(0,t.jsx)(m.A_,{name:"intl_airport_code",label:"Intl Airport Code",placeholder:"ie. JFK",disabled:ef}),(0,t.jsx)(r.xI,{name:"region_id",control:z.control,render:e=>{var a;let{field:l}=e;return(0,t.jsx)(f.I,{data:ep,value:null!=(a=ep.find(e=>e.id===l.value))?a:null,disabled:ef,onChange:e=>{Array.isArray(e)||l.onChange(null==e?void 0:e.id)},label:"Region"})}})]}),(0,t.jsxs)("div",{className:"grid grid-cols-[repeat(auto-fit,_minmax(200px,_1fr))] gap-2.5",children:[(0,t.jsx)(m.JV,{name:"airport_nearby",label:"Airport Nearby",disabled:ef}),(0,t.jsx)(m.JV,{name:"has_flights",label:"Has Flights",disabled:ef}),(0,t.jsx)(m.JV,{name:"has_privates",label:"Has Privates",disabled:ef}),(0,t.jsx)(m.JV,{name:"has_rentals",label:"Has Rentals",disabled:ef}),(0,t.jsx)(m.JV,{name:"has_shuttles",label:"Has Shuttles",disabled:ef}),(0,t.jsx)(m.JV,{name:"is_airport",label:"Is Airport",disabled:ef})]}),(0,t.jsxs)("div",{className:"grid grid-cols-[repeat(auto-fit,_minmax(350px,_1fr))] gap-2.5",children:[(0,t.jsx)(r.xI,{name:"tags",control:z.control,render:e=>{let{field:a}=e;return(0,t.jsx)(P.j,{options:ey,value:ey.filter(e=>{var l;return null==a||null==(l=a.value)?void 0:l.includes(e.id)}),onChange:e=>{if(e&&Array.isArray(e)){let l=e.map(e=>e.id);a.onChange(l)}},getOptionLabel:e=>e.name_en,getOptionKey:e=>e.tag_en,isOptionEqualToValue:(e,a)=>e.id===a.id,label:"Categorize as",multiple:!0,selectAll:!0,disabled:ef})}}),(0,t.jsx)(r.xI,{name:"activities",control:z.control,render:e=>{let{field:a}=e;return(0,t.jsx)(P.j,{options:eg,value:eg.filter(e=>{var l;return null==a||null==(l=a.value)?void 0:l.includes(e.id)}),onChange:e=>{if(e&&Array.isArray(e)){let l=e.map(e=>e.id);a.onChange(l)}},getOptionLabel:e=>e.name_en,getOptionKey:e=>e.tag_en,isOptionEqualToValue:(e,a)=>e.id===a.id,label:"Activities",multiple:!0,selectAll:!0,disabled:ef})}}),(0,t.jsx)(r.xI,{name:"suborgs",control:z.control,render:e=>{let{field:a}=e;return(0,t.jsx)(b.p,{data:ed,value:ed.filter(e=>{var l,t;return null!=(t=null==a||null==(l=a.value)?void 0:l.includes(e.id))?t:null}),onChange:e=>{if(e&&Array.isArray(e)){let l=e.map(e=>e.id);a.onChange(l)}},label:"Featured Suborgs",multiple:!0})}}),(0,t.jsx)(r.xI,{name:"tours",control:z.control,render:e=>{var a;let{field:l}=e;return(0,t.jsx)(v.C,{data:ec,value:null!=(a=ec.filter(e=>{var a;return null==l||null==(a=l.value)?void 0:a.includes(e.id)}
1))?a:null,onChange:e=>{if(e&&Array.isArray(e)){let a=e.map(e=>e.id);l.onChange(a)}},label:"Featured Tours",multiple:!0})}}),(0,t.jsx)(r.xI,{name:"sub_destinations",control:z.control,render:e=>{let{field:a}=e;return(0,t.jsx)(f.I,{data:em,value:em.filter(e=>{var l,t;return null!=(t=null==a||null==(l=a.value)?void 0:l.includes(e.id))?t:null}),onChange:e=>{if(e&&Array.isArray(e)){let l=e.map(e=>e.id);a.onChange(l)}},label:"Sub Destinations",multiple:!0})}})]}),(0,t.jsx)(g.k,{onReset:()=>{V&&z.reset(I(V))},isSubmitting:ev,feedbackMessage:G})]})},w=e=>{let a=(0,r.mN)({resolver:(0,o.u)(E),mode:"all",defaultValues:k});return(0,t.jsx)(h.i,{...e,children:l=>{var n;let{toolbarContainerRef:r}=l;return(0,t.jsx)(p.M,{form:a,jsonSchema:{enabled:!1},toolbarContainerRef:r,className:null==(n=e.customization)?void 0:n.className,children:(0,t.jsx)(N,{})})}})}}}]);
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.