1import X from"./LocVQslZ.js";import K from"./BjEmmq0E.js";import Q from"./DVKI6crX.js";import{_ as Z,c as D,e as F,a7 as ee,a as te,a8 as q,h as ae,y as S,U as G,x as se,b as ne,z as le}from"./DfIv_Qov.js";import{d as N,r as oe,a5 as ie,F as re,U as l,C as i,u as a,X as r,$ as c,a0 as $,L as y,a1 as g,M as A,_ as h,a2 as ce,ab as C,ae as x,Y as _,ad as U,W as J,a4 as ue,an as me}from"./BtT07Bew.js";import{W as de}from"./DKm7BwxB.js";/* empty css */import"./Dyir8jrF.js";import"./BsUEhPNY.js";const pe=["id"],he={key:0,onsubmit:"return false"},fe={key:0,class:"contacts-form-original-message"},ye={key:0},_e=["innerHTML"],ve={key:1,class:"row form-row"},ge={class:"col-12"},be={class:"form-label"},Ce=["disabled"],Te=["value"],Se={key:2,class:"row form-row"},we={class:"col-12"},Ae={class:"form-label"},Me=["disabled"],Ne=["value"],$e={class:"row form-row"},ke={class:"col-12"},Ee={class:"form-label"},Ve=["disabled"],Ue={class:"row form-row"},je={class:"col-12"},xe={class:"form-label"},Oe=["disabled"],Le={key:0,class:"row form-row"},He={class:"col-12"},Ie={key:0},Re={key:1},Be={class:"form-label"},ze=["type","onUpdate:modelValue"],De=["onUpdate:modelValue"],qe=["onUpdate:modelValue"],Ge=["value"],Je={key:3,class:"row form-row"},Pe={class:"col-12"},We={class:"form-label"},Ye={key:4,class:"row form-row"},Xe={class:"col-12"},Ke={key:0,class:"form-label"},Qe={key:1,class:"form-label"},Ze=["data-attachment"],Fe=["innerHTML"],et={key:3},tt=["innerHTML"],at={class:"row form-row"},st={class:"col-12"},nt={key:5,class:"row form-row"},lt={class:"col-12"},ot={key:1,class:"alert alert-info mb-0"},it={key:2,class:"alert alert-danger mb-0"},rt=["innerHTML"],ct={key:3,class:"alert alert-success mb-0"},ut=["innerHTML"],mt={__name:"Contacts",props:{id:{type:String,default:"contacts-form"},subjects:{type:Array,default:[]},recipients:{type:Object,default:[]},customFields:{type:Array,default:[]},includeMessage:{type:Boolean,default:!0},customMessageName:{type:String,default:null},includeAttachment:{type:Boolean,default:!1},attachmentIsMandatory:{type:Boolean,default:!1},attachmentsNumber:{type:Number,default:1},attachmentMaxSize:{type:Number,default:2},attachmentAllowedExtensions:{type:Array,default:[]},includeCaptcha:{type:Boolean,default:!1},customSendAction:{type:Function,default:null},customSuccessMessage:{type:String,default:null},customFailureMessage:{type:String,default:null}},async setup(d,{expose:P}){let k,O;const o=d,W=ne(),b=D().user??null,L=N(!1),j=N(!1),H=N(!1),Y=F().currentRoute.value,T=N(Y.query.replyTo??null),f=N(null),t=oe({name:(b==null?void 0:b.name)??"",email:(b==null?void 0:b.email)??""});if(o.subjects.length==1?t.subject=o.subjects[0]:o.subjects.length>1&&(t.subject=""),o.recipients.length==1?t.recipient=o.recipients[0].email:o.recipients.length>1&&(t.recipient=""),o.customFields.length>0&&(t.custom={},o.customFields.forEach(n=>{switch(n.type){case"input":case"select":case"list-select":case"hidden":case"textarea":t.custom[n.alias]=n.value??null;break}})),o.includeMessage?t.message="":t.message="---",o.includeAttachment)if(o.attachmentsNumber>1)for(let n=1;n<=o.attachmentsNumber;n++)t["attachment"+n]=null;else t.attachment=null;const E=D().getPrivacyFields("CONTACT");if(E.length>0){t.privacy={};for(let n in E)t.privacy[E[n].id]=0}const I=o.includeCaptcha&&ee().enabled;if(I&&(t.recaptcha=null),T.value){const n=([k,O]=ie(async()=>te().asyncCall("contacts/"+T.value,async()=>await q().getContactsForm(T.value))),k=await k,O(),k);n.success||ae(n.error??null,!0),f.value=n.payload??null,f.value&&(o.subjects.length>0&&(t.subject=f.value.subject),o.recipients.length>0&&(t.recipient=f.value.recipient),t.name=f.value.name,t.email=f.value.email)}let v={name:{required:S},email:{required:S,email:le}};if(o.subjects.length>1&&(v.subject={required:S}),o.recipients.length>1&&(v.recipient={required:S}),o.customFields.length>0&&o.customFields.forEach(n=>{switch(n.type){case"input":case"select":case"list-select":case"hidden":case"textarea":n.required&&(v.custom||(v.custom={}),v.custom[n.alias]={required:S});break}}),o.includeMessage&&(v.message={required:S}),o.includeAttachment){let n={maxSize:G.withMessage("Max file size is "+o.attachmentMaxSize+"MB",s=>s===null||s.size<=o.attachmentMaxSize*1048576)};if(o.attachmentIsMandatory&&(n={...n,required:S}),o.attachmentAllowedExtensions.length>0&&(n={...n,extensionAllowed:G.withMessage("Allowed extensions: "+o.attachmentAllowedExtensions.join(", "),s=>s===null||o.attachmentAllowedExtensions.includes(s.name.split(".")[s.name.split(".").length-1].toLowerCase()))}),o.attachmentsNumber>1)for(let s=1;s<=o.attachmentsNumber;s++)v["attachment"+s]=n;else v.attachment=n}const u=se(v,t),R=async()=>await u.value.$validate(),B=o.customSendAction?()=>o.customSendAction(t):async()=>
1{if(!await R())return;L.value=!0,j.value=!0;const s=new FormData;if(o.replyTo&&s.append("replyTo",o.replyTo),t.subject&&s.append("subject",t.subject),t.recipient&&s.append("recipient",t.recipient),s.append("name",t.name),s.append("email",t.email),t.custom){let p={};for(let M in t.custom)for(let V in o.customFields)o.customFields[V].alias==M&&(p[M]={name:o.customFields[V].name,value:t.custom[M]});s.append("custom",JSON.stringify(p))}if(t.message&&s.append("message",t.message),o.includeAttachment)if(o.attachmentsNumber>1){for(let p=1;p<=o.attachmentsNumber;p++)s.append("attachment"+p,t["attachment"+p],t["attachment"+p].name);s.append("multipleAttachments",1)}else s.append("attachment",t.attachment,t.attachment.name);if(t.privacy)for(let p in t.privacy)s.append("privacy["+p+"]",t.privacy[p]);const w=await q().sendContactsForm(s);j.value=!1,H.value=!w.success},z=n=>{o.attachmentsNumber>1?t["attachment"+n.target.dataset.attachment]=n.target.files[0]:t.attachment=n.target.files[0]};return P({validate:R}),(n,s)=>{const w=re("font-awesome-icon"),p=X,M=K,V=Q;return l(),i("div",{id:d.id,class:"contacts-form"},[a(L)?a(j)?(l(),i("div",ot,[A(w,{icon:"spin fa-spinner"}),$(" "+c(n.$t("JS_CONTACTS_FORM_SENDING")),1)])):a(H)?(l(),i("div",it,[A(w,{icon:"warning"}),s[13]||(s[13]=$()),r("span",{innerHTML:d.customFailureMessage??n.$t("JS_GENERIC_ERROR")},null,8,rt)])):(l(),i("div",ct,[A(w,{icon:"check"}),s[14]||(s[14]=$()),r("span",{innerHTML:d.customSuccessMessage??n.$t("JS_CONTACTS_FORM_SUCCESS")},null,8,ut)])):(l(),i("form",he,[a(f)?(l(),i("div",fe,[r("h3",null,c(n.$t("ORIGINAL_MESSAGE")),1),a(f).message?(l(),i("p",ye,[$(c(a(f).message)+" ",1),(l(!0),i(y,null,g(a(f).attachmentUrls,(e,m)=>(l(),i("span",null,[s[8]||(s[8]=r("br",null,null,-1)),A(w,{icon:"paperclip"}),$(" "+c(m),1)]))),256))])):h("",!0),(l(!0),i(y,null,g(a(f).answers,(e,m)=>(l(),i("p",{class:"contacts-form-original-message-answer",style:ce({"margin-left":m*20+"px"})},[r("b",null,c(a(W).parseDate(e.timestamp,!0)),1),s[9]||(s[9]=r("br",null,null,-1)),r("span",{innerHTML:e.message},null,8,_e)],4))),256)),s[10]||(s[10]=r("hr",null,null,-1)),r("h3",null,c(n.$t("REPLY_NEW_MESSAGE")),1)])):h("",!0),d.subjects.length>1?(l(),i("div",ve,[r("div",ge,[r("label",be,c(n.$t("CONTACTS_SUBJECT")),1),C(r("select",{"onUpdate:modelValue":s[0]||(s[0]=e=>a(t).subject=e),class:_(["form-control",{"is-invalid":a(u).subject.$errors.length}]),disabled:a(T)},[s[11]||(s[11]=r("option",{value:""},"---",-1)),(l(!0),i(y,null,g(d.subjects,e=>(l(),i("option",{value:e},c(n.$t("CONTACTS_SUBJECT_"+e)),9,Te))),256))],10,Ce),[[x,a(t).subject]])])])):h("",!0),d.recipients.length>1?(l(),i("div",Se,[r("div",we,[r("label",Ae,c(n.$t("CONTACTS_RECIPIENT")),1),C(r("select",{"onUpdate:modelValue":s[1]||(s[1]=e=>a(t).recipient=e),class:_(["form-control",{"is-invalid":a(u).recipient.$errors.length}]),disabled:a(T)},[s[12]||(s[12]=r("option",{value:""},"---",-1)),(l(!0),i(y,null,g(d.recipients,e=>(l(),i("option",{value:e.email},c(e.name),9,Ne))),256))],10,Me),[[x,a(t).recipient]])])])):h("",!0),r("div",$e,[r("div",ke,[r("label",Ee,c(n.$t("CONTACTS_NAME")),1),C(r("input",{type:"text","onUpdate:modelValue":s[2]||(s[2]=e=>a(t).name=e),class:_(["form-control",{"is-invalid":a(u).name.$errors.length}]),disabled:a(b)||a(T)},null,10,Ve),[[U,a(t).name]])])]),r("div",Ue,[r("div",je,[r("label",xe,c(n.$t("CONTACTS_EMAIL")),1),C(r("input",{type:"email","onUpdate:modelValue":s[3]||(s[3]=e=>a(t).email=e),class:_(["form-control",{"is-invalid":a(u).email.$errors.length}]),disabled:a(b)||a(T)},null,10,Oe),[[U,a(t).email]])])]),(l(!0),i(y,null,g(d.customFields,e=>(l(),i(y,null,[e.type!="hidden"?(l(),i("div",Le,[r("div",He,[e.type=="divider"?(l(),i("hr",Ie)):e.type=="heading"?(l(),i("h3",Re,c(e.name),1)):(l(),J(p,{key:2,wrap:!1},{default:ue(()=>[r("label",Be,c(e.name),1),e.type=="input"?C((l(),i("input",{key:0,type:e.inputType??"text","onUpdate:modelValue":m=>a(t).custom[e.alias]=m,class:_(["form-control custom-field",{"is-invalid":e.required&&a(u).custom[e.alias].$errors.length>0}])},null,10,ze)),[[me,a(t).custom[e.alias]]]):h("",!0),e.type=="textarea"?C((l(),i("textarea",{key:1,"onUpdate:modelValue":m=>a(t).custom[e.alias]=m,class:_(["form-control custom-field",{"is-invalid":e.required&&a(u).custom[e.alias].$errors.length>0}])},null,10,De)),[[U,a(t).custom[e.alias]]]):e.type=="select"?C((l(),i("select",{key:2,"onUpdate:modelValue":m=>a(t).custom[e.alias]=m,class:_(["form-control custom-field",{"is-invalid":e.required&&a(u).custom[e.alias].$errors.length>0}])},[(l(!0),i(y,null,g(e.options,m=>(l(),i("option",{value:m.value},c(m.name),9,Ge))),256))],10,qe)),[[x,a(t).custom[e.alias]]]):e.type=="list-select"?(l(),J(a(de),{key:3,modelValue:a(t).custom[e.alias],"onUpdate:modelValue":m=>
1a(t).custom[e.alias]=m,list:e.options,"option-value":"value","option-text":"name",placeholder:e.name,isError:e.required&&a(u).custom[e.alias].$errors.length>0},null,8,["modelValue","onUpdate:modelValue","list","placeholder","isError"])):h("",!0)]),_:2},1024))])])):h("",!0)],64))),256)),d.includeMessage?(l(),i("div",Je,[r("div",Pe,[r("label",We,c(d.customMessageName??n.$t("CONTACTS_MESSAGE")),1),C(r("textarea",{"onUpdate:modelValue":s[4]||(s[4]=e=>a(t).message=e),rows:"5",class:_(["form-control",{"is-invalid":a(u).message.$errors.length}])},null,2),[[U,a(t).message]])])])):h("",!0),d.includeAttachment?(l(),i("div",Ye,[r("div",Xe,[d.attachmentsNumber>1?(l(),i("label",Ke,c(n.$t("CONTACTS_ATTACHMENTS")),1)):(l(),i("label",Qe,c(n.$t("CONTACTS_ATTACHMENT")),1)),d.attachmentsNumber>1?(l(!0),i(y,{key:2},g(d.attachmentsNumber,e=>(l(),i("div",null,[r("input",{type:"file","data-attachment":e,onChange:z,class:_(["form-control mb-2",{"is-invalid":a(u)["attachment"+e].$errors.length}])},null,42,Ze),a(u)["attachment"+e].$errors.length?(l(!0),i(y,{key:0},g(a(u)["attachment"+e].$errors,m=>(l(),i("div",{innerHTML:m.$message,class:"form-text text-danger"},null,8,Fe))),256)):h("",!0)]))),256)):(l(),i("div",et,[r("input",{type:"file",onChange:z,class:_(["form-control",{"is-invalid":a(u).attachment.$errors.length}])},null,34),a(u).attachment.$errors.length?(l(!0),i(y,{key:0},g(a(u).attachment.$errors,e=>(l(),i("div",{innerHTML:e.$message,class:"form-text text-danger"},null,8,tt))),256)):h("",!0)]))])])):h("",!0),r("div",at,[r("div",st,[A(M,{modelValue:a(t).privacy,"onUpdate:modelValue":s[5]||(s[5]=e=>a(t).privacy=e),type:"CONTACT",fields:a(E)},null,8,["modelValue","fields"])])]),a(I)?(l(),i("div",nt,[r("div",lt,[A(V,{id:"Contacts",modelValue:a(t).recaptcha,"onUpdate:modelValue":s[6]||(s[6]=e=>a(t).recaptcha=e)},null,8,["modelValue"])])])):h("",!0),r("button",{class:"btn btn-secondary",onClick:s[7]||(s[7]=(...e)=>a(B)&&a(B)(...e))},c(n.$t("SEND")),1)]))],8,pe)}}},Ct=Z(mt,[["__scopeId","data-v-a16580af"]]);export{Ct 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.