1import{_ as ae}from"./CYiKpZTc.js";import{_ as se}from"./fAepGGLI.js";import{_ as ie}from"./BeRbTC-T.js";import{_ as ne}from"./Czs08yCu.js";import{c as ue,ad as re,ae as oe,i as de,u as ce,o as pe,e as me,f as g,g as V,k as l,h as a,w as i,V as v,v as fe,A as ve,x as ye,y as ge,l as J,F as $,B as b,q as m,n as I,am as A,C as D,s as q,j as G,aA as be,t as C,Z as ke,aB as Se,aC as Ve,J as he,aD as we,I as _e,ao as Fe,a1 as Te,ap as De,aE as qe,D as Ce,R as Ee,E as Ie,z as K,r as je,M as E,L as h,b as Re,aF as Ne,N as Z}from"./D2R2lqYg.js";import{u as $e}from"./COVwTYNU.js";(function(){try{var w=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},j=new w.Error().stack;j&&(w._sentryDebugIds=w._sentryDebugIds||{},w._sentryDebugIds[j]="878d1033-241a-4ab0-99e0-34706ffc3065",w._sentryDebugIdIdentifier="sentry-dbid-878d1033-241a-4ab0-99e0-34706ffc3065")}catch{}})();const Pe={key:0},Oe={key:1,class:"text-caption"},xe={class:"d-flex align-center ga-2"},Ae={class:"text-truncate"},ze={__name:"open-ticket",setup(w){const{mobile:j}=ue(),{getPriorityColor:B}=$e(),L=re(),Q=oe(),U=de("showSnackbar"),M=ce(),P=h(null),R=h(!1),N=h([]),k=h([]),_=h({}),y=h({name:"",email:""}),n=h({deptid:null,subject:"",message:"",priority:1,selectedRelated:null}),H=E(()=>{const s=M.query.dept;return s?parseInt(s):null}),Y=E(()=>{const s=M.query.service;return s?parseInt(s):null}),c=E(()=>Q.isAuthenticated),F=E(()=>L.ticketConfig.departments),W=E(()=>n.value.deptid?F.value.find(e=>e.id===n.value.deptid)?.sensitiveFields||[]:[]),O=[{value:"Low",label:"Low"},{value:"Medium",label:"Medium"},{value:"High",label:"High"}],T=E(()=>{if(!c.value)return[];const s=[];return L.ticketConfig.clientServicesDomainsList.forEach(e=>{if(e.type==="service"){const f=e.domain||"",o=e.product||"Unknown Product",S=`service ${o} ${f} ${e.status}`;s.push({value:`service_${e.id}`,type:"service",title:f||o,productName:o,status:e.status,searchableText:S,id:e.id})}else if(e.type==="domain"){const f=`domain ${e.domain} ${e.status}`;s.push({value:`domain_${e.id}`,type:"domain",title:e.domain,productName:"Domain Registration",status:e.status,searchableText:f,id:e.id})}}),s.sort((e,f)=>e.title.localeCompare(f.title))}),X=s=>{if(!s||s.length===0){k.value=[];return}k.value=[...s]},z=async()=>{const{valid:s}=await P.value.validate();if(s){R.value=!0;try{const{$apiFetch:e}=Re(),f=k.value&&k.value.length>0;let o,S={method:"POST"};if(f){if(o=new FormData,c.value||(o.append("name",y.value.name),o.append("email",y.value.email)),o.append("deptid",n.value.deptid.toString()),o.append("subject",n.value.subject),o.append("message",n.value.message),o.append("priority",O[n.value.priority].value),c.value&&n.value.selectedRelated){const d=T.value.find(u=>u.value===n.value.selectedRelated);d&&(d.type==="service"?o.append("serviceid",d.id.toString()):d.type==="domain"&&o.append("domainid",d.id.toString()))}k.value.forEach((d,u)=>{o.append(`attachment_${u}`,d)}),o.append("attachment_count",k.value.length.toString());const r=Object.entries(_.value).filter(([d,u])=>u&&u.trim()).reduce((d,[u,p])=>({...d,[u]:p}),{});Object.keys(r).length>0&&o.append("sensitiveFields",JSON.stringify(r)),S.body=o}else{const r={deptid:n.value.deptid,subject:n.value.subject,message:n.value.message,priority:O[n.value.priority].value};if(c.value||(r.name=y.value.name,r.email=y.value.email),c.value&&n.value.selectedRelated){const u=T.value.find(p=>p.value===n.value.selectedRelated);u&&(u.type==="service"?r.serviceid=u.id:u.type==="domain"&&(r.domainid=u.id))}const d=Object.entries(_.value).filter(([u,p])=>p&&p.trim()).reduce((u,[p,le])=>({...u,[p]:le}),{});Object.keys(d).length>0&&(r.sensitiveFields=d),S.body=r}const x=c.value?"/api/tickets/openticket":"/api/tickets/guest-openticket",t=await e(x,S);if(t&&t.result==="success"){const r=t.ticket_id||t.tid,d=F.value.find(u=>u.id===n.value.deptid)?.name||"Support";if(c.value)try{const{trackEvent:u,EVENTS:p}=Ne();u(p.TICKET_CREATE_COMPLETED,{client_id:clientStore.clientData?.id,ticket_id:r})}catch{}if(ee(),c.value){const u=t.attachments_processed||0;let p=`Ticket #${r} has been created successfully!`;u>0&&(p+=` ${u} file(s) attached.`),U(p,"success"),setTimeout(()=>{Z(`/support/ticket/${r}`)},1500)}else Z({path:"/support/ticket-submitted",query:{tid:r,dept:d}})}else throw new Error(t?.message||"Failed to create ticket")}catch(e){console.error("Error creating ticket:",e),U(e.message||"Failed to create ticket. Please try again.","error")}finally{R.value=!1}}},ee=()=>
1{n.value={deptid:null,subject:"",message:"",priority:1,selectedRelated:null},y.value={name:"",email:""},N.value=[],k.value=[],_.value={},P.value?.resetValidation()};function te(s){return{title:s.name,value:s.id,subtitle:s.description}}return pe(async()=>{if(H.value?n.value.deptid=H.value:!n.value.deptid&&F.value.length>0&&(n.value.deptid=F.value[0].id),Y.value){const s=T.value.find(e=>e.type==="service"&&e.id===Y.value);s&&(n.value.selectedRelated=s.value)}}),me({title:"Open Support Ticket"}),(s,e)=>{const f=ae,o=se,S=ie,x=ne;return g(),V("div",null,[l(f,{title:a(c)?"Create Support Ticket":"Submit Support Request",subtitle:a(c)?"Submit a new support request for technical assistance or general inquiries":"Submit your support request and we'll get back to you shortly","show-divider":!1},null,8,["title","subtitle"]),l(J,null,{default:i(()=>[l(v,null,{default:i(()=>[l(fe,null,{default:i(()=>[l(ve,null,{default:i(()=>[l(ye,{ref_key:"ticketForm",ref:P,onSubmit:ge(z,["prevent"])},{default:i(()=>[l(J,null,{default:i(()=>[a(c)?q("",!0):(g(),V($,{key:0},[l(v,{cols:"12",md:"6"},{default:i(()=>[l(b,null,{default:i(()=>[...e[9]||(e[9]=[m(" Your Name ",-1),I("span",{class:"text-error"},"*",-1)])]),_:1}),l(A,{modelValue:a(y).name,"onUpdate:modelValue":e[0]||(e[0]=t=>a(y).name=t),rules:[("ruleSet"in s?s.ruleSet:a(D)).requiredField],placeholder:"Enter your full name",required:""},null,8,["modelValue","rules"])]),_:1}),l(v,{cols:"12",md:"6"},{default:i(()=>[l(b,null,{default:i(()=>[...e[10]||(e[10]=[m(" Your Email ",-1),I("span",{class:"text-error"},"*",-1)])]),_:1}),l(A,{modelValue:a(y).email,"onUpdate:modelValue":e[1]||(e[1]=t=>a(y).email=t),rules:[("ruleSet"in s?s.ruleSet:a(D)).requiredField,("ruleSet"in s?s.ruleSet:a(D)).email],placeholder:"Enter your email address",type:"email",required:""},null,8,["modelValue","rules"])]),_:1})],64)),a(c)&&a(T).length>0?(g(),G(v,{key:1,cols:"12",lg:"6"},{default:i(()=>[l(b,null,{default:i(()=>[...e[11]||(e[11]=[m("Related Product/Domain",-1)])]),_:1}),l(be,{modelValue:a(n).selectedRelated,"onUpdate:modelValue":e[2]||(e[2]=t=>a(n).selectedRelated=t),items:a(T),"item-value":"value","item-title":"searchableText",placeholder:"Select a product or domain (optional)",clearable:""},{item:i(({props:t,item:r})=>[l(ke,Se(t,{title:void 0}),{default:i(()=>[l(Ve,{class:"d-flex align-center"},{default:i(()=>[I("span",null,C(r.raw.title?r.raw.title:"-"),1),l(he),l(o,{status:r.raw.status,variant:"tonal",class:"mr-2"},null,8,["status"])]),_:2},1024),l(we,{class:"d-flex align-center justify-space-between mt-1"},{default:i(()=>[r.raw.type==="service"?(g(),V("span",Pe,C(r.raw.productName),1)):q("",!0),r.raw.type==="domain"?(g(),V("span",Oe," Domain ")):q("",!0)]),_:2},1024)]),_:2},1040),l(_e,{class:"my-1"})]),selection:i(({item:t})=>[I("div",xe,[I("span",Ae,[t.raw.type==="service"?(g(),V($,{key:0},[m(C(t.raw.productName)+C(t.raw.title?" - "+t.raw.title:""),1)],64)):t.raw.type==="domain"?(g(),V($,{key:1},[m(C(t.raw.title||""),1)],64)):q("",!0)]),l(o,{status:t.raw.status,variant:"tonal",class:"mr-2"},null,8,["status"])])]),_:1},8,["modelValue","items"])]),_:1})):q("",!0),Fe(l(v,{cols:"12",lg:a(c)&&a(T).length>0?"6":"12"},{default:i(()=>[l(b,null,{default:i(()=>[...e[12]||(e[12]=[m("Department",-1)])]),_:1}),l(Te,{modelValue:a(n).deptid,"onUpdate:modelValue":e[3]||(e[3]=t=>a(n).deptid=t),"item-props":te,items:a(F),rules:[("ruleSet"in s?s.ruleSet:a(D)).requiredField],required:""},null,8,["modelValue","items","rules"])]),_:1},8,["lg"]),[[De,a(F).length>=2]]),l(v,{cols:"12"},{default:i(()=>[l(b,null,{default:i(()=>[...e[13]||(e[13]=[m("Priority",-1)])]),_:1}),l(qe,{modelValue:a(n).priority,"onUpdate:modelValue":e[4]||(e[4]=t=>a(n).priority=t),mandatory:""},{default:i(()=>[(g(),V($,null,Ce(O,(t,r)=>l(Ee,{key:t.value,value:r,color:a(B)(t.value),"base-color":"grey-lighten-3",size:"default",variant:"flat",density:"comfortable"},{default:i(()=>[m(C(t.label),1)]),_:2},1032,["value","color"])),64))]),_:1},8,["modelValue"])]),_:1}),l(v,{cols:"12"},{default:i(()=>[l(b,null,{default:i(()=>[...e[14]||(e[14]=[m("Subject",-1)])]),_:1}),l(A,{modelValue:a(n).subject,"onUpdate:modelValue":e[5]||(e[5]=t=>a(n).subject=t),rules:[("ruleSet"in s?s.ruleSet:a(D)).requiredField,t=>!t||t.length>=5||"Subject must be at least 5 characters"],placeholder:"Brief description of your issue",required:""},null,8,["modelValue","rules"])]),_:1}),l(v,{cols:"12"},{default:i(()=>[l(b,null,{default:i(()=>[...e[15]||(e[15]=[m("Message",-1)])]),_:1}),l(Ie,{modelValue:a(n).message,"onUpdate:modelValue":e[6]||(e[6]=t=>a(n).message=t),rules:[("ruleSet"in s?s.ruleSet:a(D)).requiredField,t=>!t||t.length>=10||"Message must be at least 10 characters"],placeholder:"Please describe your issue in detail...",rows:"6",required:"",hint:"You can use **markdown** formatting in y
1our message","persistent-hint":""},null,8,["modelValue","rules"])]),_:1}),l(v,{cols:"12"},{default:i(()=>[l(b,null,{default:i(()=>[...e[16]||(e[16]=[m("Attachments",-1)])]),_:1}),l(S,{modelValue:a(N),"onUpdate:modelValue":e[7]||(e[7]=t=>K(N)?N.value=t:null),loading:a(R),onFilesProcessed:X},null,8,["modelValue","loading"])]),_:1})]),_:1})]),_:1},512)]),_:1})]),_:1})]),_:1}),a(c)?(g(),G(x,{key:0,"sensitive-fields":a(W),modelValue:a(_),"onUpdate:modelValue":e[8]||(e[8]=t=>K(_)?_.value=t:null)},null,8,["sensitive-fields","modelValue"])):q("",!0),l(v,{cols:"12"},{default:i(()=>[l(je,{color:"primaryButtons",loading:a(R),onClick:z,height:"44",block:a(j)},{default:i(()=>[...e[17]||(e[17]=[m(" Open ticket ",-1)])]),_:1},8,["loading","block"])]),_:1})]),_:1})])}}};export{ze 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.