PluginProbe
The Innovative Form Builder – IvyForms / 0.1.2
The Innovative Form Builder – IvyForms v0.1.2
1.5.1 1.5 1.4.1 1.4 trunk 0.1.2 0.2 0.2.1 0.3 0.3.1 0.4 0.5 0.6 0.6.1 0.6.1-backup 0.6.1.1 0.7 0.8 0.8.1 0.8.2 0.9 0.9.1 1.0 1.1 1.1.1 All 27 releases
ivyforms / frontend / dist / public.js

public.js in The Innovative Form Builder – IvyForms 0.1.2, at frontend/dist/public.js

2 lines 8.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import{d as F,b as V,a9 as I,o as y,aa as b,a2 as q,cs as S,cw as k,a5 as h,cx as W,ck as E,e as _,f as z,cC as $,ai as O,aq as D,u as B,ab as R,ak as L,a4 as G,bh as X,c as H,am as J,cm as Q,aO as U,ap as Y,cy as Z,cr as K,_ as x,cE as ee,cF as le,cG as re}from"./chunks/index-BExjLrSj.js";const oe=F({__name:"TextFormField",props:{modelValue:{default:""},field:{},disabled:{type:Boolean,default:!1},error:{default:""}},emits:["update:modelValue"],setup(u,{emit:r}){const l=u,d=r,s=V({get(){return l.modelValue},set(e){d("update:modelValue",e)}}),f=V(()=>`ivyforms-field__text-input_${l.field.formId||""}_${l.field.fieldIndex||""}`);return(e,o)=>{const c=S,v=k;return y(),I("div",{class:h(["ivyforms-field","ivyforms-field__text","ivyforms-field__text_"+e.field.id])},[b(v,{label:e.field.label,required:e.field.required,error:e.error,prop:e.field.type+"_"+e.field.fieldIndex},{default:q(()=>[b(c,{id:f.value,modelValue:s.value,"onUpdate:modelValue":o[0]||(o[0]=a=>s.value=a),class:"ivyforms-field__text-input",type:"text",placeholder:e.field.placeholder,disabled:e.disabled,required:e.field.required},null,8,["id","modelValue","placeholder","disabled","required"])]),_:1},8,["label","required","error","prop"])],2)}}}),ae=F({__name:"ParagraphFormField",props:{modelValue:{default:""},field:{},disabled:{type:Boolean,default:!1},error:{default:""}},emits:["update:modelValue"],setup(u,{emit:r}){const l=u,d=r,s=V({get(){return l.modelValue},set(e){d("update:modelValue",e)}}),f=V(()=>`ivyforms-field__paragraph-input_${l.field.formId||""}_${l.field.fieldIndex||""}`);return(e,o)=>{const c=S,v=k;return y(),I("div",{class:h(["ivyforms-field","ivyforms-field__textarea","ivyforms-field__textarea_"+e.field.id])},[b(v,{label:e.field.label,required:e.field.required,error:e.error,prop:e.field.type+"_"+e.field.fieldIndex},{default:q(()=>[b(c,{id:f.value,modelValue:s.value,"onUpdate:modelValue":o[0]||(o[0]=a=>s.value=a),class:"ivyforms-field__textarea-input",type:"textarea",placeholder:e.field.placeholder,disabled:e.disabled,required:e.field.required},null,8,["id","modelValue","placeholder","disabled","required"])]),_:1},8,["label","required","error","prop"])],2)}}}),ie=F({__name:"EmailFormField",props:{modelValue:{default:""},field:{},disabled:{type:Boolean,default:!1},error:{default:""}},emits:["update:modelValue"],setup(u,{emit:r}){const l=u,d=r,s=V({get(){return l.modelValue},set(e){d("update:modelValue",e)}}),f=V(()=>`ivyforms-field__email-input_${l.field.formId||""}_${l.field.fieldIndex||""}`);return(e,o)=>{const c=S,v=k;return y(),I("div",{class:h(["ivyforms-field","ivyforms-field__email","ivyforms-field__email_"+e.field.id])},[b(v,{label:e.field.label,required:e.field.required,error:e.error,prop:e.field.type+"_"+e.field.fieldIndex},{default:q(()=>[b(c,{id:f.value,modelValue:s.value,"onUpdate:modelValue":o[0]||(o[0]=a=>s.value=a),class:"ivyforms-field__email-input",type:"email",placeholder:e.field.placeholder,disabled:e.disabled,required:e.field.required},null,8,["id","modelValue","placeholder","disabled","required"])]),_:1},8,["label","required","error","prop"])],2)}}}),de=F({__name:"NumberFormField",props:{modelValue:{default:""},field:{},disabled:{type:Boolean,default:!1},error:{default:""}},emits:["update:modelValue"],setup(u,{emit:r}){const l=u,d=r,s=V({get(){return l.modelValue},set(e){d("update:modelValue",e)}}),f=V(()=>`ivyforms-field__number-input_${l.field.formId||""}_${l.field.fieldIndex||""}`);return(e,o)=>{const c=S,v=k;return y(),I("div",{class:h(["ivyforms-field","ivyforms-field__number","ivyforms-field__number_"+e.field.id])},[b(v,{label:e.field.label,required:e.field.required,error:e.error,prop:e.field.type+"_"+e.field.fieldIndex},{default:q(()=>[b(c,{id:f.value,modelValue:s.value,"onUpdate:modelValue":o[0]||(o[0]=a=>s.value=a),class:"ivyforms-field__number-input",type:"number",placeholder:e.field.placeholder,disabled:e.disabled,required:e.field.required},null,8,["id","modelValue","placeholder","disabled","required"])]),_:1},8,["label","required","error","prop"])],2)}}}),se=F({__name:"PhoneFormField",props:{modelValue:{default:""},field:{},disabled:{type:Boolean,default:!1},error:{default:""}},emits:["update:modelValue"],setup(u,{emit:r}){const l=u,d=r,s=V({get(){return l.modelValue!=null?String(l.modelValue):""},set(e){d("update:modelValue",e)}}),f=V(()=>`ivyforms-field__phone-input_${l.field.formId||""}_${l.field.fieldIndex||""}`);return(e,o)=>{const c=W,v=k;return y(),I("div",{class:h(["ivyforms-field","ivyforms-field__phone","ivyforms-field__phone_"+e.field.id])},[b(v,{label:e.field.label,required:e.field.required,error:e.error,prop:e.field.type+"_"+e.field.fieldIndex},{default:q(()=>[b(c,{id:f.value,modelValue:s.value,"onUpdate:modelValue":o[0]||(o[0]=a=>s.value=a),class:"ivyforms-field__phone-input",placeholder:e.field.placeholder,disabled:e.disabled,required:e.field.required},null,8,["id","modelValue","placeholder","disabled","required"])]),_:1},8,["label","required","error","prop"])],2)}}}),te={key:0,class:"ivyforms-success-message"},ne={class:"ivyforms-form-submit"},ue=F({__name:"FormRender",setup(u){const{getLabel:r}=E(),l=_([]),d=_({}),s=_({}),f=_({}),e=_(!0),o=_(null),c=_(null),v=_(null),a=_([]),T=_(!1),C=_(""),n=_({id:"",name:"",description:"",showTitle:!0,showDescription:!1,defaultValue:"",counter:0,fields:[],confirmations:[]}),N=z({text:$(oe),email:$(ie),textarea:$(ae),number:$(de),phone:$(se)});O(async()=>{if(typeof window<"u"&&window.wpIvyFormDataList){const m=c.value.closest(".ivyforms-frontend").dataset.counter,i=window.wpIvyFormDataList[m];if(typeof i=="object"&&i!==null&&i.id){n.value=i.form,v.value=i.nonce,l.value=i.fields||[],a.value=i.confirmations||[],l.value.forEach(t=>{const p=t.type+"_"+t.fieldIndex;d.value[p]=t.defaultValue||"";const w=[];t.required&&w.push({required:!0,message:P(t),trigger:"submit"}),t.type==="email"&&w.push({type:"email",message:r("enter_email_address"),trigger:["submit"]}),t.type==="phone"&&w.push({pattern:/^[+\d]?(?:[\d\s.-]{7,15})$/,message:r("enter_phone_number"),trigger:["submit"]}),s.value[p]=w}),e.value=!1;const g=document.querySelector(".ivyforms-skeleton-"+m);g&&g.remove()}else console.error(r("invalid_form_data"),n)}else console.error(r("form_data_not_found")),e.value=!1});function P(m){var i;return(i=m.label)!=null&&i.trim()?`${m.label} ${r("this_field")}`:r("required")}const A=async()=>{o.value&&await o.value.validate((m,i)=>{m?M():(f.value={},Object.keys(i).forEach(g=>{var t;f.value[g]=((t=i[g][0])==null?void 0:t.message)||r("invalid_input")}))})},M=async()=>{try{const m=await K.post(`${wpIvyApiSettings.root}ivyforms/v1/form/submission/`,{formId:n.value.id,values:d.value,nonce:v.value},{headers:{"Content-Type":"application/json","X-WP-Nonce":wpIvyApiSettings.nonce}});m.status!==200&&console.error(r("error_submitting_form"),m),console.log(r("form_submitted")),d.value={};const i=a.value[0].type;if(!a.value[0].status)return;if(i==="successMessage"){T.value=!0,C.value=a.value[0].message||r("thank_you");return}else if(i==="redirectToPage"&&a.value[0].page){const t=a.value[0].page;if(t){const p=`${window.location.origin}/?p=${t}`;window.location.href=p}}else i==="redirectToCustomUrl"&&a.value[0].url&&(window.location.href=a.value[0].url)}catch(m){console.error(r("error_submitting_form"),m)}};return(m,i)=>{const g=Q,t=Z;return y(),I("div",{ref_key:"formWrapperRef",ref:c,class:h(["ivyforms-form-wrapper","ivyforms-form-wrapper-"+n.value.id])},[T.value?(y(),I("div",te,D(C.value||B(r)("thank_you")),1)):(y(),I(R,{key:1},[n.value.showTitle?(y(),I("h2",{key:0,class:h(["ivyforms-form-title","ivyforms-form-title-"+n.value.id])},D(n.value.name),3)):L("",!0),n.value.showDescription?(y(),I("p",{key:1,class:h(["ivyforms-form-description","ivyforms-form-description-"+n.value.id])},D(n.value.description),3)):L("",!0),b(t,{id:"ivyforms-form-"+n.value.id,ref_key:"formRef",ref:o,class:h("ivyforms-form ivyforms-form-"+n.value.id),"data-form-id":n.value.id,rules:s.value,model:d.value,onSubmit:U(M,["prevent"])},{default:q(()=>[(y(!0),I(R,null,X(l.value,(p,w)=>(y(),H(J(N[p.type]),{key:w,ref_for:!0,ref:"formFieldsCollectorRefs",modelValue:d.value[p.type+"_"+p.fieldIndex],"onUpdate:modelValue":j=>d.value[p.type+"_"+p.fieldIndex]=j,field:p,error:f.value[p.type+"_"+p.fieldIndex]},null,8,["modelValue","onUpdate:modelValue","field","error"]))),128)),G("div",ne,[b(g,{id:"ivyforms-form-submit-button-"+n.value.id,priority:"tertiary",type:"border",onClick:U(A,["prevent","stop"])},{default:q(()=>[Y(D(B(r)("submit")),1)]),_:1},8,["id"])])]),_:1},8,["id","class","data-form-id","rules","model"])],64))],2)}}}),fe=x(ue,[["__scopeId","data-v-d9cf023c"]]);typeof window<"u"&&window.wpIvyFormDataList&&window.wpIvyFormDataList.forEach(u=>{const r=document.querySelector(`#ivyforms-app-${u.counter}`);if(r){const l=ee(fe,{formData:u});l.use(le()),l.mount(r),re().initialize(),l.config.globalProperties.$labels=E()}});
2