1import{_ as Z,j as D,e as K,a6 as Q,C as X,v as q,B as F,r as S,a2 as G,i as ee,b as te,k as ae,E as se}from"./CM_jYEz6.js";import ne from"./VmF6lO_a.js";import le from"./BLb6n6a7.js";import{d as N,r as oe,$ as ie,F as re,R as l,E as i,u as a,a1 as r,a2 as c,a3 as $,L as y,a7 as g,M as A,a0 as h,Z as ce,a8 as C,al as x,Y as _,aa as j,U as J,W as ue,am as me}from"./BQ9QYOY_.js";import{W as de}from"./0nc-wK9e.js";import"./BMOrxitM.js";import"./ButKtL47.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"},Ee={class:"col-12"},ke={class:"form-label"},Ve=["disabled"],je={class:"row form-row"},Ue={class:"col-12"},xe={class:"form-label"},Oe=["disabled"],Le={key:0,class:"row form-row"},Re={class:"col-12"},Be={key:0},He={key:1},Ie={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"},Ze={class:"col-12"},Ke={key:0,class:"form-label"},Qe={key:1,class:"form-label"},Xe=["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 E,O;const o=d,W=te(),b=D().user??null,L=N(!1),U=N(!1),R=N(!1),Y=K().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 k=D().getPrivacyFields("CONTACT");if(k.length>0){t.privacy={};for(let n in k)t.privacy[k[n].id]=0}const B=o.includeCaptcha&&Q().enabled;if(B&&(t.recaptcha=null),T.value){const n=([E,O]=ie(async()=>X().asyncCall("contacts/"+T.value,async()=>await q().getContactsForm(T.value))),E=await E,O(),E);n.success||F(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:ae}};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=ee(v,t),H=async()=>await u.value.$validate(),I=o.customSendAction?()=>o.customSendAction(t):async()=>
1{if(!await H())return;L.value=!0,U.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);U.value=!1,R.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:H}),(n,s)=>{const w=re("font-awesome-icon"),p=se,M=ne,V=le;return l(),i("div",{id:d.id,class:"contacts-form"},[a(L)?a(U)?(l(),i("div",ot,[A(w,{icon:"spin fa-spinner"}),$(" "+c(n.$t("JS_CONTACTS_FORM_SENDING")),1)])):a(R)?(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",Ee,[r("label",ke,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),[[j,a(t).name]])])]),r("div",je,[r("div",Ue,[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),[[j,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",Re,[e.type=="divider"?(l(),i("hr",Be)):e.type=="heading"?(l(),i("h3",He,c(e.name),1)):(l(),J(p,{key:2,wrap:!1},{default:ue(()=>[r("label",Ie,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)),[[j,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),[[j,a(t).message]])])])):h("",!0),d.includeAttachment?(l(),i("div",Ye,[r("div",Ze,[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,Xe),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(k)},null,8,["modelValue","fields"])])]),a(B)?(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(I)&&a(I)(...e))},c(n.$t("SEND")),1)]))],8,pe)}}},gt=Z(mt,[["__scopeId","data-v-a16580af"]]);export{gt 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.