import"./index-4b46c3db.js";import{a as f,_ as M,r as u,o as l,c as a,w as d,j as h,d as c,k as U,e as s,b as m,m as g,t as y,F as b}from"./index-be2d4151.js";import"./InfoButton.vue_vue_type_style_index_0_scoped_635db2d1_lang-ea4dfeb4.js";import{C as R}from"./CloseButton-91fa6b44.js";import{S as _}from"./SubmitButton-1d5ea630.js";import{U as E}from"./UpdateButton-331adda6.js";import{F as z}from"./index-5f541e4d.js";import{F as P}from"./default-f38ac8a4.js";import"./vue-cleave.min-19d21cac.js";import{T as L}from"./index-5600e357.js";import{T as q}from"./index-aa958026.js";import{S as N}from"./index-8cbf5e02.js";import{L as O}from"./Loading-c46365ec.js";import{C as F}from"./CustomerService-c9a6a6b3.js";import{M as T}from"./Multiselect-89305a7f.js";import{c as G,a as v,V as A}from"./array-9fca5ec5.js";const V="https://aha-api.autohub.ph/api/v3",C={fetchRegions(t={}){return f.get(`${V}/regions`,{params:t})},fetchProvinces(t){return f.get(`${V}/provinces/${t}`)},fetchCities(t){return f.get(`${V}/cities/${t}`)},fetchBarangays(t){return f.get(`${V}/barangays/${t}`)}},j={components:{FormModal:z,FormGroup:P,TextArea:L,Textinput:q,Select:N,SubmitButton:_,UpdateButton:E,CloseButton:R,Loading:O,Multiselect:T},emits:["reload","close"],data(){return{state:{isEdit:!1,isSaving:!1,isLoading:!1},form:{firstname:"",middlename:"",lastname:"",birthday:"",gender:"",mobile:"",mobile2:"",phone:"",email:"",email2:"",facebook:"",viber:"",region:"",province:"",city:"",barangay:"",address:"",isActive:""},errors:{},regions:{},provinces:{},cities:{},barangays:{}}},methods:{async loadRecord(t){this.resetForm(),this.state.isEdit=!0;let r=Object.assign({},t);this.form=r,await this.loadProvinces(),await this.loadCities(),await this.loadBarangays()},closeModal(){this.state.showModal=!1},resetForm(){this.state.isEdit=!1,this.form={firstname:"",middlename:"",lastname:"",birthday:"",gender:"",mobile:"",mobile2:"",phone:"",email:"",email2:"",facebook:"",viber:"",region:"",province:"",city:"",barangay:"",address:"",isActive:!0},this.selectedRegion=null,this.selectedProvince=null,this.selectedCity=null},reload(){this.$emit("reload")},async saveRecord(){if(this.state.isSaving=!0,!this.state.isEdit)this.state.isSaving=!1,await F.create(this.form).then(t=>{t.status==201&&(this.$swal.fire({title:"Great!",text:"Record successfully saved.",icon:"success",timer:2e3}),this.state.showModal=!1,this.resetForm(),this.reload())}).catch(t=>{this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3})});else{const t=this.form.id;await F.update(t,this.form).then(r=>{r.status==201?this.state.showModal=!1:(this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3}),this.state.showModal=!1)}).catch(r=>{console.log(r),r.response.status==422?this.$swal.fire({title:"Ooops! something is wrong.",text:r.response.data.message,icon:"warning"}):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3})}).finally(()=>{this.state.isSaving=!1,this.reload(),this.resetForm()})}},async submitForm(){try{await G().shape({firstname:v().required("First Name is required"),lastname:v().required("Last Name is required"),gender:v().required("Gender is required"),mobile:v().required("Mobile is required")}).validate(this.form,{abortEarly:!1}),this.$swal.fire({title:"Are you sure you want to save this record?",text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(r=>{r.value&&this.saveRecord()})}catch(t){if(t instanceof A){const r={};t.inner.forEach(x=>{r[x.path]=x.message}),this.errors=r}this.state.isSaving=!1}},async loadRegions(){const t=await C.fetchRegions();this.regions=t.data},async loadProvinces(){const t=await C.fetchProvinces(this.form.region);this.provinces=t.data},async loadCities(){const t=await C.fetchCities(this.form.province);this.cities=t.data},async loadBarangays(){const t=await C.fetchBarangays(this.form.city);this.barangays=t.data},onRegionChange(){this.form.province="",this.form.city="",this.form.barangay="",this.loadProvinces()},onProvinceChange(){this.form.city="",this.form.barangay="",this.loadCities()},onCityChange(){this.form.barangay="",this.loadBarangays()}},mounted(){this.loadRegions()}},D={class:"lg:p-2"},Y=c("option",null,"Male",-1),H=c("option",null,"Female",-1),J=c("option",null,"Others",-1),K=["value"],Q=["value"],W=["value"],X=["value"],Z={class:"flex gap-1 justify-end"};function $(t,r,x,ee,e,n){const w=u("Loading"),i=u("Textinput"),p=u("Select"),k=u("SubmitButton"),B=u("UpdateButton"),S=u("CloseButton"),I=u("FormModal");return l(),a(I,{title:e.state.isEdit?"Edit Record":"Create Record",active:e.state.showModal,onSubmit:n.submitForm,onClose:n.closeModal,themeClass:e.state.isEdit?"bg-primary-600":"bg-primary-800",sizeClass:"lg:w-1/2"},{default:d(()=>[e.state.isEdit&&e.state.isLoading?(l(),a(w,{key:0,text:"Fetching record"})):h("",!0),e.state.isSaving?(l(),a(w,{key:1,text:"Saving record"})):h("",!0),c("div",D,[c("form",{onSubmit:r[16]||(r[16]=U((...o)=>n.submitForm&&n.submitForm(...o),["prevent"])),class:"space-y-4"},[s(i,{horizontal:"",label:"First Name",isRequired:!0,type:"text",placeholder:"Input First Name",modelValue:e.form.firstname,"onUpdate:modelValue":r[0]||(r[0]=o=>e.form.firstname=o),error:e.errors.firstname,classInput:"w-full h-[48px]"},null,8,["modelValue","error"]),s(i,{horizontal:"",label:"Middle Name",type:"text",placeholder:"Input Middle Name",modelValue:e.form.middlename,"onUpdate:modelValue":r[1]||(r[1]=o=>e.form.middlename=o),error:e.errors.middlename,classInput:"h-[48px]"},null,8,["modelValue","error"]),s(i,{horizontal:"",label:"Last Name",isRequired:!0,type:"text",placeholder:"Input Last Name",modelValue:e.form.lastname,"onUpdate:modelValue":r[2]||(r[2]=o=>e.form.lastname=o),error:e.errors.lastname,classInput:"h-[48px]"},null,8,["modelValue","error"]),s(i,{horizontal:"",label:"Birthday",type:"text",placeholder:"Input Birthday",modelValue:e.form.birthday,"onUpdate:modelValue":r[3]||(r[3]=o=>e.form.birthday=o),error:e.errors.birthday,classInput:"h-[48px]"},null,8,["modelValue","error"]),s(p,{horizontal:"",label:"Gender",isRequired:!0,modelValue:e.form.gender,"onUpdate:modelValue":r[4]||(r[4]=o=>e.form.gender=o),error:e.errors.gender,placeholder:"Select Gender"},{default:d(()=>[Y,H,J]),_:1},8,["modelValue","error"]),s(i,{horizontal:"",label:"Mobile",type:"text",placeholder:"Input Mobile",modelValue:e.form.mobile,"onUpdate:modelValue":r[5]||(r[5]=o=>e.form.mobile=o),error:e.errors.mobile,classInput:"h-[48px]"},null,8,["modelValue","error"]),s(i,{horizontal:"",label:"Other Mobile",type:"text",placeholder:"Input Other Mobile",modelValue:e.form.mobile2,"onUpdate:modelValue":r[6]||(r[6]=o=>e.form.mobile2=o),error:e.errors.mobile2,classInput:"h-[48px]"},null,8,["modelValue","error"]),s(i,{horizontal:"",label:"Phone",type:"text",placeholder:"Input Phone",modelValue:e.form.phone,"onUpdate:modelValue":r[7]||(r[7]=o=>e.form.phone=o),error:e.errors.phone,classInput:"h-[48px]"},null,8,["modelValue","error"]),s(i,{horizontal:"",label:"Email",type:"text",placeholder:"Input Email",modelValue:e.form.email,"onUpdate:modelValue":r[8]||(r[8]=o=>e.form.email=o),error:e.errors.email,classInput:"h-[48px]"},null,8,["modelValue","error"]),s(i,{horizontal:"",label:"Other Email",type:"text",placeholder:"Input Other Email",modelValue:e.form.email2,"onUpdate:modelValue":r[9]||(r[9]=o=>e.form.email2=o),error:e.errors.email2,classInput:"h-[48px]"},null,8,["modelValue","error"]),s(i,{horizontal:"",label:"Facebook URL",type:"text",placeholder:"Input Facebook URL",modelValue:e.form.facebook,"onUpdate:modelValue":r[10]||(r[10]=o=>e.form.facebook=o),error:e.errors.facebook,classInput:"h-[48px]"},null,8,["modelValue","error"]),s(i,{horizontal:"",label:"Viber",type:"text",placeholder:"Input Viber",modelValue:e.form.viber,"onUpdate:modelValue":r[11]||(r[11]=o=>e.form.viber=o),error:e.errors.viber,classInput:"h-[48px]"},null,8,["modelValue","error"]),s(p,{horizontal:"",label:"Region",modelValue:e.form.region,"onUpdate:modelValue":r[12]||(r[12]=o=>e.form.region=o),onChange:n.onRegionChange,error:e.errors.region,placeholder:"Select Region"},{default:d(()=>[(l(!0),m(b,null,g(e.regions,o=>(l(),m("option",{key:o.region_code,value:o.region_code},y(o.name),9,K))),128))]),_:1},8,["modelValue","onChange","error"]),e.form.region?(l(),a(p,{key:0,horizontal:"",label:"Province",modelValue:e.form.province,"onUpdate:modelValue":r[13]||(r[13]=o=>e.form.province=o),onChange:n.onProvinceChange,error:e.errors.province,placeholder:"Select Province"},{default:d(()=>[(l(!0),m(b,null,g(e.provinces,o=>(l(),m("option",{key:o.province_code,value:o.province_code},y(o.name),9,Q))),128))]),_:1},8,["modelValue","onChange","error"])):h("",!0),e.form.province?(l(),a(p,{key:1,horizontal:"",label:"City / Municipality",modelValue:e.form.city,"onUpdate:modelValue":r[14]||(r[14]=o=>e.form.city=o),onChange:n.onCityChange,error:e.errors.city,placeholder:"Select City"},{default:d(()=>[(l(!0),m(b,null,g(e.cities,o=>(l(),m("option",{key:o.city_code,value:o.city_code},y(o.name),9,W))),128))]),_:1},8,["modelValue","onChange","error"])):h("",!0),e.form.city?(l(),a(p,{key:2,horizontal:"",label:"Barangay",modelValue:e.form.barangay,"onUpdate:modelValue":r[15]||(r[15]=o=>e.form.barangay=o),error:e.errors.barangay,placeholder:"Select Barangay"},{default:d(()=>[(l(!0),m(b,null,g(e.barangays,o=>(l(),m("option",{key:o.geocode,value:o.geocode},y(o.name),9,X))),128))]),_:1},8,["modelValue","error"])):h("",!0),c("div",Z,[e.state.isEdit?(l(),a(B,{key:1,onClick:n.submitForm},null,8,["onClick"])):(l(),a(k,{key:0,onClick:n.submitForm},null,8,["onClick"])),s(S,{onClick:n.closeModal},null,8,["onClick"])])],32)])]),_:1},8,["title","active","onSubmit","onClose","themeClass"])}const ye=M(j,[["render",$]]);export{ye as F};