UNPKG

vue-giveworks-form

Version:

This plugin provides Vue.js component for the open [http://giveworks.net](Giveworks Platform).

2 lines 18.5 kB
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["survey-type"],{b236:function(e,t,n){"use strict";var i=n("ca14");const r=["submit","redirect","submit-enable","submit-disable","submit-show","submit-hide"];t["a"]={directives:{bindEvents:{bind(e,t,n){const u=n.context,a=n.child||n.context;for(const s in r)a.$on(r[s],(...e)=>{const t=Object(i["a"])("on-"+r[s]);a!==u&&u.$emit(r[s],...e),u[t]&&u[t](...e)})}}}}},b4ea:function(e,t,n){"use strict";function i(e){return-1!==["input","textarea","select"].indexOf(e.tagName)?e:Array.from(e.querySelectorAll("input, textarea, select")).reverse().pop()}t["a"]={inserted(e,t,n){const r=i(e),u=new URLSearchParams(location.search),a=t.value||r&&r.getAttribute("name"),s=u.get(a);r&&!r.value&&s&&(n.componentInstance?n.componentInstance.$emit("input",s):n.elm.value=s)}}},b791:function(e,t,n){"use strict";var i=n("850f"),r=n("b236"),u=n("ca14");t["a"]={props:{source:[String,Number],trackingId:[String,Number],redirect:{type:[Boolean,String],default:void 0},httpOptions:Object,page:{type:Object,required:!0}},mixins:[r["a"]],computed:{buttonLabel(){return this.page.options.button},shouldShowEmployment(){return"donation"===this.page.special&&("PAC"===this.page.site.type||"Campaign"===this.page.site.type)}},methods:{submitButton(){return this.$refs.submit?this.$refs.submit.$el:this.$el.querySelector("[type=submit]")},hideSubmitButton(){this.submitButton().style.display="none"},showSubmitButton(){this.submitButton().style.display="block"},disableSubmitButton(){this.submitButton().disabled=!0},enableSubmitButton(){this.submitButton().disabled=!1},handleRedirect(e,t){setTimeout(()=>{!e&&this.page.next_page&&(e=this.page.next_page.url.replace(/\/$/,"")+(this.form.source?"/"+this.form.source:"")),e&&(window.location=e+(t&&(e.match(/\?/)?"&":"?")+"sessionid="+t))})},submit(e,t){return this.$el.querySelector(":focus")&&this.$el.querySelector(":focus").blur(),new Promise((n,i)=>{this.submitting?i(new Error("The form is already submitting")):(this.errors={},this.submitting=!0,this.$emit("submit"),this.model.save(this.form,Object.assign({method:"post"},this.httpOptions)).then(t=>{this.submitting=!1,this.$emit("submit-complete",!0,t),this.$emit("submit-success",t),Object(u["i"])(e)&&e(t),n(t)},e=>{this.submitting=!1,this.errors=e.data.errors,this.$emit("submit-complete",!1,e),this.$emit("submit-failed",e),Object(u["i"])(t)&&t(e),i(e)}))})},onSubmitSuccess(e){const t=this.redirect||this.page.external_reply||this.page.next_page&&this.page.next_page.url;!1!==this.redirect&&t&&this.handleRedirect(t,e.get("sessionid"))},onSubmitError(e){throw e}},mounted(){this.loaded=!0,this.$nextTick(()=>this.$emit("init"))},data(){const e=this.page.site.recurring&&this.page.options.recurring_only?1:0;return{form:{recurring:e,source:this.source,tracking_id:this.trackingId},errors:{},loaded:!1,submitting:!1,model:new i["a"]({id:this.page.id})}}}},cc21:function(e,t,n){"use strict";n.r(t);var i,r,u=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._l(e.page.questions,(function(t){return n("div",{key:t.id},[n(e.component(t.type),{tag:"component",attrs:{value:e.form["field_"+t.id],name:"field_"+t.id,page:e.page,form:e.form,errors:e.errors,question:t}})],1)})),n("btn-activity",{attrs:{size:"lg",type:"submit",block:!0,orientation:"right",activity:e.submitting,label:e.buttonLabel||e.page.site.config.giveworks.button.survey}})],2)},a=[],s=n("b791"),o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("input-field",{directives:[{name:"query",rawName:"v-query"}],attrs:{id:e.question.id,type:"email",name:e.name,label:e.question.question+(e.question.required?"*":""),placeholder:e.question.question+(e.question.required?"*":""),required:e.question.required,errors:e.errors,value:e.question.default_value,custom:""},on:{input:e.updated},model:{value:e.form[e.name],callback:function(t){e.$set(e.form,e.name,t)},expression:"form[name]"}})},l=[],d=n("b4ea"),c=n("0ab3"),m=n("ca14"),p={components:{FormGroup:()=>n.e("vue-interface").then(n.bind(null,"2848"))},directives:{Query:d["a"],changed(e,t,n){e.addEventListener("change",n=>{n.target.checked&&Object(m["i"])(t.value)&&t.value(e)})}},mixins:[c["a"]],props:{form:{type:Object,required:!0},page:{type:Object,required:!0},question:{type:Object,required:!0},errors:{type:Object,required:!0}},computed:{name(){return this.$attrs.name}},methods:{updated(e){this.$emit("input",e)}}},f=p,q=n("2877"),v=Object(q["a"])(f,i,r,!1,null,null,null),b=v.exports,h={name:"SurveyAltEmailField",components:{InputField:()=>n.e("vue-interface").then(n.bind(null,"46d8"))},extends:b},y=h,_=Object(q["a"])(y,o,l,!1,null,null,null),F=_.exports,x=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("input-field",{directives:[{name:"query",rawName:"v-query"}],attrs:{id:e.question.id,type:"phone",name:e.name,label:e.question.question+(e.question.required?"*":""),required:e.question.required,errors:e.errors,value:e.question.default_value,custom:""},on:{input:e.updated},model:{value:e.form[e.name],callback:function(t){e.$set(e.form,e.name,t)},expression:"form[name]"}})},g=[],k={name:"SurveyAltPhoneField",components:{InputField:()=>n.e("vue-interface").then(n.bind(null,"46d8"))},extends:b},$=k,S=Object(q["a"])($,x,g,!1,null,null,null),w=S.exports,O=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("form-group",{class:{"is-invalid":!!e.invalidFeedback}},[n("label",[e._v(" "+e._s(e.question.question)+" "),e.question.required?n("sup",[e._v("*")]):e._e()]),e._l(e.question.answers,(function(t,i){return n("checkbox-field",{directives:[{name:"query",rawName:"v-query"}],key:i,attrs:{id:e.name+"_"+i,label:t,value:t,"checked-values":e.value||[],required:e.question.required,name:e.name,custom:""},on:{input:e.updated},model:{value:e.form[e.name],callback:function(t){e.$set(e.form,e.name,t)},expression:"form[name]"}})})),e.question.accept_other?[n("checkbox-field",{directives:[{name:"changed",rawName:"v-changed"},{name:"query",rawName:"v-query"}],attrs:{id:e.name+"_50",label:"Other:",value:"other",name:e.name,"checked-values":e.value||[],custom:""},on:{input:e.updated},model:{value:e.form[e.name],callback:function(t){e.$set(e.form,e.name,t)},expression:"form[name]"}}),n("input-field",{directives:[{name:"query",rawName:"v-query"}],staticClass:"mt-2",class:{"is-invalid":e.errors[e.name]},attrs:{id:e.name+"_other",type:"text",label:"Other",placeholder:"Other",name:e.name+"_other",custom:""},on:{input:e.updated},model:{value:e.form[e.name+"_other"],callback:function(t){e.$set(e.form,e.name+"_other",t)},expression:"form[`${name}_other`]"}})]:e._e(),e._t("feedback",[e.validFeedback?n("form-feedback",{attrs:{valid:""},domProps:{innerHTML:e._s(e.validFeedback)}}):e._e(),e.invalidFeedback?n("form-feedback",{attrs:{invalid:""},domProps:{innerHTML:e._s(e.invalidFeedback)}}):e._e()])],2)},j=[],E={name:"SurveyCheckboxField",components:{InputField:()=>n.e("vue-interface").then(n.bind(null,"46d8")),FormFeedback:()=>n.e("vue-interface").then(n.bind(null,"a892")),CheckboxField:()=>n.e("vue-interface").then(n.bind(null,"e067"))},extends:b},P=E,N=Object(q["a"])(P,O,j,!1,null,null,null),I=N.exports,C=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("input-field",{directives:[{name:"query",rawName:"v-query"}],attrs:{id:"city",name:"city",label:e.question.question+(e.question.required?"*":""),placeholder:e.question.question+(e.question.required?"*":""),required:e.question.required,errors:e.errors,custom:""},on:{input:e.updated},model:{value:e.form.city,callback:function(t){e.$set(e.form,"city",t)},expression:"form.city"}})},A=[],T={name:"SurveyCityField",components:{InputField:()=>n.e("vue-interface").then(n.bind(null,"46d8"))},extends:b},L=T,B=Object(q["a"])(L,C,A,!1,null,null,null),R=B.exports,z=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"form-group"},[n("fieldset",[n("legend",[e._v("Select an amount")]),e._l(e.amounts,(function(t,i){return n("div",{key:i,staticClass:"row"},e._l(t,(function(t){return n("div",{key:t,staticClass:"col-sm-6"},[n("radio-field",{attrs:{name:"donation",label:t,value:t,custom:""},model:{value:e.form.donation,callback:function(t){e.$set(e.form,"donation",t)},expression:"form.donation"}})],1)})),0)})),n("div",{staticClass:"row"},[n("div",{staticClass:"col-md-6"},[n("label",{attrs:{for:e.question.id},domProps:{innerHTML:e._s(e.question.question)}}),n("input-group",{attrs:{prepend:"$"}},[n("input",{staticClass:"form-control",class:{"is-invalid":!!e.invalidFeedback},attrs:{type:"text",name:e.name,required:e.question.required},domProps:{value:e.question.default_value}})])],1)])],2)])},H=[],M={name:"SurveyDollarAmountField",components:{InputGroup:()=>n.e("vue-interface").then(n.bind(null,"3588")),RadioField:()=>n.e("vue-interface").then(n.bind(null,"b78d"))},extends:b,computed:{amounts(){const e=this.question.answers?this.question.answers.split("|"):this.page.site.config.giveworks.ask_amounts;return Object(m["b"])(e.filter(e=>e>=(parseFloat(this.page.options.min_amount)||0)),2)}}},D=M,Z=Object(q["a"])(D,z,H,!1,null,null,null),G=Z.exports,J=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("input-field",{directives:[{name:"query",rawName:"v-query"}],attrs:{id:"first",name:"first",label:e.question.question+(e.question.required?"*":""),placeholder:e.question.question+(e.question.required?"*":""),required:e.question.required,value:e.question.default_value,errors:e.errors,custom:""},on:{input:e.updated},model:{value:e.form.first,callback:function(t){e.$set(e.form,"first",t)},expression:"form.first"}})},Q=[],U={name:"SurveyFirstField",components:{InputField:()=>n.e("vue-interface").then(n.bind(null,"46d8"))},extends:b},K=U,V=Object(q["a"])(K,J,Q,!1,null,null,null),W=V.exports,X=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("input-field",{directives:[{name:"query",rawName:"v-query"}],attrs:{id:e.question.id,name:e.name,label:e.question.question+(e.question.required?"*":""),placeholder:e.question.question+(e.question.required?"*":""),required:e.question.required,value:e.question.default_value,errors:e.errors,custom:""},on:{input:e.updated},model:{value:e.form[e.name],callback:function(t){e.$set(e.form,e.name,t)},expression:"form[name]"}})},Y=[],ee={name:"SurveyInputField",components:{InputField:()=>n.e("vue-interface").then(n.bind(null,"46d8"))},extends:b},te=ee,ne=Object(q["a"])(te,X,Y,!1,null,null,null),ie=ne.exports,re=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("input-field",{directives:[{name:"query",rawName:"v-query"}],attrs:{id:"last",name:"last",label:e.question.question+(e.question.required?"*":""),placeholder:e.question.question+(e.question.required?"*":""),required:e.question.required,value:e.question.default_value,errors:e.errors,custom:""},on:{input:e.updated},model:{value:e.form.last,callback:function(t){e.$set(e.form,"last",t)},expression:"form.last"}})},ue=[],ae={name:"SurveyLastField",components:{InputField:()=>n.e("vue-interface").then(n.bind(null,"46d8"))},extends:b},se=ae,oe=Object(q["a"])(se,re,ue,!1,null,null,null),le=oe.exports,de=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("input-field",{directives:[{name:"query",rawName:"v-query"}],attrs:{id:"email",type:"email",name:"email",label:e.question.question+(e.question.required?"*":""),placeholder:e.question.question+(e.question.required?"*":""),required:e.question.required,value:e.question.default_value,errors:e.errors,custom:""},on:{input:e.updated},model:{value:e.form.email,callback:function(t){e.$set(e.form,"email",t)},expression:"form.email"}})},ce=[],me={name:"SurveyPrimaryEmailField",components:{InputField:()=>n.e("vue-interface").then(n.bind(null,"46d8"))},extends:b},pe=me,fe=Object(q["a"])(pe,de,ce,!1,null,null,null),qe=fe.exports,ve=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("input-field",{directives:[{name:"query",rawName:"v-query"}],attrs:{id:"phone",type:"phone",name:"phone",label:e.question.question+(e.question.required?"*":""),placeholder:e.question.question+(e.question.required?"*":""),required:e.question.required,value:e.question.default_value,errors:e.errors,custom:""},on:{input:e.updated},model:{value:e.form.phone,callback:function(t){e.$set(e.form,"phone",t)},expression:"form.phone"}})},be=[],he={name:"SurveyPrimaryPhoneField",components:{InputField:()=>n.e("vue-interface").then(n.bind(null,"46d8"))},extends:b},ye=he,_e=Object(q["a"])(ye,ve,be,!1,null,null,null),Fe=_e.exports,xe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("form-group",{class:{"is-invalid":!!e.invalidFeedback}},[n("label",[e._v(" "+e._s(e.question.question)+" "),e.question.required?n("sup",[e._v("*")]):e._e()]),e._l(e.question.answers,(function(t,i){return n("radio-field",{directives:[{name:"query",rawName:"v-query"}],key:i,attrs:{id:e.name+"_"+i,label:t,value:t,"checked-value":e.value,name:e.name,required:e.question.required,custom:""},on:{change:e.updated},model:{value:e.form[e.name],callback:function(t){e.$set(e.form,e.name,t)},expression:"form[name]"}})})),e.question.accept_other?[n("radio-field",{directives:[{name:"changed",rawName:"v-changed"}],attrs:{id:e.name+"_50",value:"other",label:"Other:",name:e.name,"checked-value":e.value},on:{change:e.updated},model:{value:e.form[e.name],callback:function(t){e.$set(e.form,e.name,t)},expression:"form[name]"}}),n("input",{directives:[{name:"model",rawName:"v-model",value:e.form[e.name+"_other"],expression:"form[`${name}_other`]"}],staticClass:"form-control",class:{"is-invalid":e.errors[e.name]},attrs:{id:e.name+"_other",type:"text",name:e.name+"_other"},domProps:{value:e.form[e.name+"_other"]},on:{input:[function(t){t.target.composing||e.$set(e.form,e.name+"_other",t.target.value)},function(t){return e.updated(t.target.value)}]}})]:e._e(),e._t("feedback",[e.validFeedback?n("form-feedback",{attrs:{valid:""},domProps:{innerHTML:e._s(e.validFeedback)}}):e._e(),e.invalidFeedback?n("form-feedback",{attrs:{invalid:""},domProps:{innerHTML:e._s(e.invalidFeedback)}}):e._e()])],2)},ge=[],ke={name:"SurveyRadioField",components:{RadioField:()=>n.e("vue-interface").then(n.bind(null,"b78d")),FormFeedback:()=>n.e("vue-interface").then(n.bind(null,"a892"))},extends:b},$e=ke,Se=Object(q["a"])($e,xe,ge,!1,null,null,null),we=Se.exports,Oe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("select-field",{attrs:{id:e.question.id,label:e.question.question+(e.question.required?"*":""),name:e.name,errors:e.errors,required:e.question.required,"default-value":e.question.default_value,custom:""},on:{input:e.updated},model:{value:e.form[e.name],callback:function(t){e.$set(e.form,e.name,t)},expression:"form[name]"}},e._l(e.question.answers,(function(t,i){return n("option",{key:i},[e._v(" "+e._s(t)+" ")])})),0)],1)},je=[],Ee={name:"SurveySelectField",components:{SelectField:()=>n.e("vue-interface").then(n.bind(null,"8cec"))},extends:b},Pe=Ee,Ne=Object(q["a"])(Pe,Oe,je,!1,null,null,null),Ie=Ne.exports,Ce=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("select-field",{directives:[{name:"query",rawName:"v-query"}],attrs:{id:e.question.id,name:"state",label:e.question.question+(e.question.required?"*":""),required:e.question.required,errors:e.errors,value:e.question.default_value,custom:""},on:{input:e.updated},model:{value:e.form.state,callback:function(t){e.$set(e.form,"state",t)},expression:"form.state"}},e._l(e.page.site.config.states,(function(t,i){return n("option",{key:t,domProps:{value:i,innerHTML:e._s(t)}})})),0)},Ae=[],Te={name:"SurveyStateField",components:{SelectField:()=>n.e("vue-interface").then(n.bind(null,"8cec"))},extends:b},Le=Te,Be=Object(q["a"])(Le,Ce,Ae,!1,null,null,null),Re=Be.exports,ze=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("input-field",{directives:[{name:"query",rawName:"v-query"}],attrs:{id:"street",name:"street",errors:e.errors,label:e.question.question+(e.question.required?"*":""),placeholder:e.question.question+(e.question.required?"*":""),required:e.question.required,custom:""},on:{input:e.updated},model:{value:e.form.street,callback:function(t){e.$set(e.form,"street",t)},expression:"form.street"}})},He=[],Me={name:"SurveyStreetField",components:{InputField:()=>n.e("vue-interface").then(n.bind(null,"46d8"))},extends:b},De=Me,Ze=Object(q["a"])(De,ze,He,!1,null,null,null),Ge=Ze.exports,Je=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("textarea-field",{attrs:{id:e.question.id,autogrow:!0,label:e.question.question+(e.question.required?"*":""),placeholder:e.question.question+(e.question.required?"*":""),name:e.name,required:e.question.required,value:e.question.default_value,errors:e.errors,custom:""},on:{input:e.updated}})],1)},Qe=[],Ue={name:"SurveyTextareaField",components:{TextareaField:()=>n.e("vue-interface").then(n.bind(null,"31e0"))},extends:b},Ke=Ue,Ve=Object(q["a"])(Ke,Je,Qe,!1,null,null,null),We=Ve.exports,Xe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("input-field",{directives:[{name:"query",rawName:"v-query"}],attrs:{id:"zip",label:e.question.question+(e.question.required?"*":""),placeholder:e.question.question+(e.question.required?"*":""),required:e.question.required,errors:e.errors,value:e.question.default_value,name:"zip",maxlength:"9",x_autocompletetype:"postal-code",custom:""},on:{input:e.updated},model:{value:e.form.zip,callback:function(t){e.$set(e.form,"zip",t)},expression:"form.zip"}})},Ye=[],et={name:"SurveyZipField",components:{InputField:()=>n.e("vue-interface").then(n.bind(null,"46d8"))},extends:b},tt=et,nt=Object(q["a"])(tt,Xe,Ye,!1,null,null,null),it=nt.exports;const rt={1:"RadioField",2:"CheckboxField",3:"InputField",4:"TextareaField",10:"AltEmailField",11:"AltPhoneField",17:"SelectField",18:"DollarAmountField",first:"FirstField",last:"LastField",email:"PrimaryEmailField",phone:"PrimaryPhoneField",street:"StreetField",city:"CityField",state:"StateField",zip:"ZipField"};var ut={name:"PageTypeSurvey",components:{AltEmailField:F,AltPhoneField:w,CheckboxField:I,CityField:R,DollarAmountField:G,FirstField:W,InputField:ie,LastField:le,PrimaryEmailField:qe,PrimaryPhoneField:Fe,RadioField:we,SelectField:Ie,StateField:Re,StreetField:Ge,TextareaField:We,ZipField:it,BtnActivity:()=>n.e("vue-interface").then(n.bind(null,"9863"))},extends:s["a"],methods:{component(e){return rt[e]||e}}},at=ut,st=Object(q["a"])(at,u,a,!1,null,null,null);t["default"]=st.exports}}]); //# sourceMappingURL=survey-type.9a787530.js.map