1import{d as G,at as te,k as K,O as H,_ as W,o as a,c as b,aD as ne,Y as ae,I as Z,ac as x,C as y,ar as ie,ba as ee,bb as se,as as Q,H as z,R as T,r as P,e as h,l as u,w as _,n as F,a1 as le,b as i,Q as Y,t as f,y as oe,f as M,F as J,h as re,i as j,V as q,G as ce,aC as de,al as pe,T as ue,v as B,x as O,N as me,aM as fe}from"./app-CjVxEbuy.js";import{C as ge,m as ve,M as he,h as X}from"./metrics-DL11lIQc.js";import{C as be}from"./ArchiveModal-cDkZQB-z.js";import{P as ye}from"./PricingPlanTooltip-C3FoL8NX.js";import{P as ke}from"./projects-C4LdeMVN.js";import{A as we}from"./TableActionButtonGroup-BzvhY72b.js";import{_ as Ce}from"./Panel.vue_vue_type_script_setup_true_lang-BemP_QBz.js";import{A as _e,_ as $e,L as Le,M as Ae}from"./LocationsMap-df0haRhD.js";import{u as Ve,g as Pe,a as Me,L as Se}from"./helper-BMfNXCrJ.js";import{_ as Ee}from"./NoLocations-BsjCQR0C.js";import{L as je}from"./locations-DJItme7C.js";import"./index-Dm0Y5in-.js";import"./index-CH13HvmE.js";import"./RestrictionChip-D66jkzmX.js";import"./clock-in-out-DKm1QWgp.js";import"./crud-store-base-DqqduHGc.js";import"./Edit-fOJbd-a2.js";import"./PeopleAndGroupsPicker-CuwWiWOR.js";import"./JBtnPreviewSelector-DBKk_WEE.js";import"./UnitAvatars-tHxLb_C3.js";import"./Avatar-DlNRltBN.js";import"./QImg-DRwZNcdX.js";import"./QTabs-CNGIlzL9.js";import"./QResizeObserver-BDURWaMg.js";import"./QTabPanels-C9vcndPS.js";import"./use-panel-Xg4cR0ry.js";import"./touch-BjYP5sR0.js";import"./QExpansionItem-D1LmNRvX.js";import"./QSlideTransition-YCq4AOE3.js";import"./TooltipText.vue_vue_type_script_setup_true_lang-DLCpEu35.js";import"./LoaderInfinite-DQ8uM_RS.js";import"./PlaceholderEmpty.vue_vue_type_script_setup_true_lang-Do2rFdEn.js";import"./search-Cvqf93EV.js";import"./empty-state-add-members-D3pBxx_y.js";import"./clients-DMKUHdU9.js";import"./search-CTuf5xI5.js";import"./TabbedSelector-OtnL5Tlv.js";import"./entity-labels-CTTn5CHS.js";import"./empty-UbJFIqCf.js";import"./RightSidebar-BeRw2w8u.js";import"./validation-Dd1EaBag.js";import"./forms-C2Yw2R3y.js";import"./dimensions-BJv7vJ3L.js";import"./JMap.vue_vue_type_script_setup_true_lang-CGxBhTUC.js";const Be=G({props:{modelValue:{type:String}},emits:["update:modelValue","blur","enter"],setup(e,{emit:o}){const r=te("input"),$=K({get:()=>e.modelValue,set:o.bind(null,"update:modelValue")});return H(()=>{var m;(m=r.value)==null||m.focus()}),{inputVal:$,input:r,onBlur:()=>{o("blur")},onEnter:()=>{o("enter")}}}});function Te(e,o,r,$,g,d){return a(),b(ae,{ref:"input",modelValue:e.inputVal,"onUpdate:modelValue":o[0]||(o[0]=m=>e.inputVal=m),class:"editable py-0",dense:"","hide-bottom-space":"",onBlur:e.onBlur,onKeyup:ne(e.onEnter,["enter"])},null,8,["modelValue","onBlur","onKeyup"])}const Ne=W(Be,[["render",Te]]),Ie=100,De=G({components:{TextFieldEditable:Ne,OnboardingEditor:we,PanelEditable:Ce,PricingPlanTooltip:ye,AssignedProjectModal:$e,Autocomplete:_e},props:{locations:{type:Array,required:!0},onboarding:{type:Boolean,required:!1,default:!1},hideSearch:{type:Boolean,required:!1,default:!1}},emits:["selectLocation","delete","edit","created","openProjects","archive"],setup(e,{emit:o}){const r=Ve(),$=Z(),g=y(""),d=new ke,m=d.items,k=y(),L=y(!1),p=y(!1),c=y(!1),w=ie({edit:{}}),{findRestriction:C}=x(),t=K(()=>{const l=C(ee,e.locations.length);return se(l)});H(()=>{d.fetch(),r.on("missing-address-added",()=>{g.value=""})});const A="abcdefghijklmnopqrstuvwxyz0123456789",s=async l=>{if(c.value=!1,l.name){try{await $.workspace.locations.create(l),e.onboarding||Q(z("locations.messages.specificLocationAdded",{name:l.name,interpolation:{escapeValue:!1}})),o("created")}catch(v){T(v)}g.value=""}},S=async l=>{w.edit=l,o("edit",l)},N=()=>{o("edit",w.edit),w.edit={}};function I(l){var v;if(k.value=m.value.find(E=>E.locationId===l.id),(v=k.value)!=null&&v.id){p.value=!0;return}o("archive",l)}function D(){p.value=!1,o("openProjects")}function R(l){const v=l.target;c.value=v.value&&v.value.length>2||!1}function U(){c.value=!1,r.emit("add-missing-address")}return{onArchive:I,showArchiveWarningModal:p,goToProjects:D,linkedProject:k,PAGINATION_STEP:Ie,addNewPlace:s,editPlace:S,searchTerm:g,alphabet:A,loading:L,state:w,locationRestrictionDescriptions:t,checkForMissingAddress:R,hasSuggestions:c,onMissingLocationClick:U,getPinText:Pe,onSave:N}}}),Re={key:0,class:"location--gmap"},Ue={class:"location--icon"},Fe=["onClick"],Oe={class:"row no-wrap items-center"},Qe=["onClick"],ze={class:"ml-2"},qe=["onClick"],Ge=["onClick"],Ke={class:"editable-panel--container"},He={key:1,class:"mx-auto my-auto text-center"},We={"data-testid":"no-location-added",class:"text-grey-1 text-weight-bold"},Ye={class:"row justify-end"},Je={class:"mr-1"};function Xe(e,o,r,$,g,d){const m=P("autocomplete"),k=P("pricing-plan-tooltip"),L=P("text-field-editable"),p=P("panel-editable"),c=P("onboarding-editor"),w=P("j-skeleton"),C=P("assigned-project-modal");return a(),h("div",null,[e.hideSearch?M("",!0):(a(),h("div",Re,[u(k,{modelValue:e.locationRestrictionDescriptions,"onUpdate:modelValue":o[1]||(o[1]=t=>e.locationRestrictionDescriptions=t)},{default:_(()=>[u(m,{modelValue:e.searchTerm,"onUpdate:modelValue":o[0]||(o[0]=t=>e.searchTerm=t),placeholder:e.$t("locations.placeholders.searchForLocation"),"hide-menu-dropdown":"",class:F({"no-pointer-events disabled":e.locationRestrictionDescriptions.restricted}),onLocationClick:e.addNewPlace,onPredictionClick:e.addNewPlace,onMissingLocationClick:e.onMissingLocationClick},null,8,["modelValue","placeholder","class","onLocationClick","onPredictionClick","onMissingLocationClick"]),u(le)]),_:1},8,["modelValue"]),i("span",Ue,[u(Y,{name:"gps",color:"grey-3",size:"24px"})]),e.hasSuggestions?(a(),b(oe,{key:0},{default:_(()=>[i("div",{class:"text-weight-bold text-primary text-body2 py-2 px-4 cursor-pointer",onClick:o[2]||(o[2]=(...t)=>e.onMissingLocationClick&&e.onMissingLocationClick(...t))},f(e.$t("locations.actions.addMissingLocation")),1)]),_:1})):M("",!0)])),i("div",{class:F(["location--wrap",{"location-onboarding":e.onboarding}])},[e.locations&&e.locations.length?(a(),h(J,{key:0},[(a(!0),h(J,null,re(e.locations,(t,A)=>(a(),h("div",{key:A,class:F(["location--list-card row no-wrap justify-between items-center cursor-pointer pl-6 pr-3 py-5",{"location--list-disabled":e.state.edit.id&&e.state.edit.id!==t.id}]),onClick:j(s=>e.$emit("selectLocation",t),["self"])},[i("div",Oe,[i("div",{class:"location--list-pin bg-secondary mr-2",onClick:j(s=>e.$emit("selectLocation",t),["self"])},f(e.getPinText(A)),9,Qe),i("div",ze,[e.state.edit&&e.state.edit.id===t.id?(a(),b(L,{key:0,modelValue:t.name,"onUpdate:modelValue":s=>t.name=s,class:"text-body1 mb-1",onBlur:e.onSave,onEnter:e.onSave},null,8,["modelValue","onUpdate:modelValue","onBlur","onEnter"])):(a(),h("p",{key:1,"data-testid":"onboarding-location-name",class:"mb-0 text-body2 text-weight-bold",onClick:j(s=>e.$emit("selectLocation",t),["self"])},f(t.name),9,qe)),i("p",{"data-testid":"onboarding-location-address",class:"text-body2 mb-0 text-grey-6",onClick:j(s=>e.$emit("selectLocation",t),["self"])},f(t.address),9,Ge)])]),i("div",Ke,[!e.onboarding&&e.locations?(a(),b(p,{key:0,onEdit:s=>e.$emit("edit",t),onArchive:s=>e.onArchive(t)},null,8,["onEdit","onArchive"])):(a(),b(c,{key:1,modelValue:e.state.edit.id,"onUpdate:modelValue":o[3]||(o[3]=s=>e.state.edit.id=s),item:t,onEdit:e.editPlace,onDelete:s=>e.$emit("delete",t)},null,8,["modelValue","item","onEdit","onDelete"]))])],10,Fe))),128)),e.loading||e.locations.length>
1e.PAGINATION_STEP?(a(),b(w,{key:0,type:"avatar-paragraph",animation:"fade",class:"location--preloader"})):M("",!0)],64)):(a(),h("div",He,[o[5]||(o[5]=i("img",{class:"my-4 mx-auto",width:"250",src:Ee},null,-1)),i("p",We,f(e.$t("locations.emptyStates.noLocationsAdded")),1)]))],2),e.showArchiveWarningModal?(a(),b(C,{key:1,project:e.linkedProject,"min-width":"547",onCancel:o[4]||(o[4]=t=>e.showArchiveWarningModal=!1)},{footer:_(()=>[i("div",Ye,[u(q,{color:"primary",class:"text-weight-regular",flat:"",onClick:e.goToProjects},{default:_(()=>[i("span",Je,f(e.$t("locations.actions.openProject")),1),u(Y,{name:"arrow-right",color:"primary"})]),_:1},8,["onClick"])])]),_:1},8,["project"])):M("",!0)])}const Ze=W(De,[["render",Xe],["__scopeId","data-v-d1f7cd22"]]),xe={class:"row onboarding-location full-height overflow-y-hidden","data-testid":"onboarding-location-container"},eo={class:"col onboarding-location--menu px-0 order-first order-md-last"},oo={class:"onboarding-location--list-wrap max-w-md mx-auto"},to={key:0,class:"text-center text-small text-grey-6"},no={class:"row justify-end mt-5"},ao={class:"col onboarding-location--map overflow-auto pa-0 order-first order-md-last ml-md-6"},io={class:"fit relative-position"},so=G({__name:"Location",emits:["complete","cancel"],setup(e,{emit:o}){const r=Me();fe(Se,r);const $=ce(),g=Z(),d=new je,m=$.state.authorizedSubscription,k=y(!0),L=y(),p=d.items,c=y(null),w=x(),C=K(()=>w.findRestriction(ee,p.value.length)),t=y(!1),A=o;H(async()=>{r.on("missing-address-added",S),r.on("add-missing-address",s);try{k.value=!0,await d.fetch({filter:{status:ge.Active}})}catch(n){T(n)}finally{k.value=!1}}),de(()=>{r.off("missing-address-added",S),r.off("add-missing-address",s)});function s(){t.value=!0}async function S(n){await d.refetch(),E(n.location),r.emit("clear-search")}async function N(){await d.refetch()}const I=()=>{p.value.length&&(ve.track(he.SettingsAddLocations,{[X.FromOnboarding]:!0,[X.NoLocationsAdded]:p.value.length}),A("complete"))},D=()=>{A("cancel")},R=async n=>{if(n.edit=!n.edit,!n.edit){delete n.edit;try{await g.workspace.locations.update(n.id,me(n,["id","organizationId","createdAt","updatedAt"])),await d.refetch(),Q(z("locations.messages.specificLocationUpdated",{name:n.name,interpolation:{escapeValue:!1}}))}catch(V){T(V)}}},U=n=>{c.value=n},l=async()=>{var n;try{await g.workspace.locations.delete((n=c.value)==null?void 0:n.id),await d.refetch(),Q(z("onboarding.components.locations.locationDeleted",{interpolation:{escapeValue:!1}}))}catch(V){T(V)}finally{c.value=null}};function v(){c.value=null}function E(n){L.value&&pe(()=>{var V;(V=L.value)==null||V.setCenter(n)})}return(n,V)=>(a(),h("div",xe,[i("div",eo,[i("div",oo,[ue(n.$slots,"header",{},void 0,!0),u(oe,{class:"onboarding-location--list mb-4"},{default:_(()=>[u(Ze,{locations:B(p),onboarding:"","data-testid":"onboarding-location-list",onSelectLocation:E,onEdit:R,onDelete:U,onCreated:N},null,8,["locations"])]),_:1}),C.value&&C.value.restriction&&C.value.restriction.maxCount?(a(),h("div",to,f(n.$t("onboarding.components.locations.maxLocationNote",{planName:B(m).plan.featureSet.name,maxCount:C.value.restriction.maxCount})),1)):M("",!0),i("div",no,[u(q,{flat:"",color:"grey-1","data-testid":"onboarding-location-cancel-btn",onClick:D},{default:_(()=>[O(f(n.$t("common.actions.doItLater")),1)]),_:1}),u(q,{color:"primary",class:"text-white ml-2",disabled:!B(p).length,"data-testid":"onboarding-location-complete-btn",onClick:I},{default:_(()=>[O(f(n.$t("common.actions.complete")),1)]),_:1},8,["disabled"])])])]),i("div",ao,[i("div",io,[u(Le,{ref_key:"locationMap",ref:L,"locations-list":B(p),"no-navigations":""},null,8,["locations-list"]),t.value?(a(),b(Ae,{key:0})):M("",!0)])]),c.value?(a(),b(be,{key:0,items:[c.value],onArchive:l,onCancel:v},{title:_(()=>[O(f(n.$t("onboarding.dialogs.confirmDeleteLocation.title",{locationName:c.value.name,interpolation:{escapeValue:!1}})),1)]),_:1},8,["items"])):M("",!0)]))}}),Zo=W(so,[["__scopeId","data-v-9088d614"]]);export{Zo as default};
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.