UNPKG

vue-giveworks-form

Version:

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

2 lines 3.1 kB
(("undefined"!==typeof self?self:this)["webpackJsonpGiveworksForm"]=("undefined"!==typeof self?self:this)["webpackJsonpGiveworksForm"]||[]).push([[8],{"0dce":function(t,e,i){"use strict";i.r(e);var s=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i(t.page.options.service.split("\\").pop(),{tag:"component",attrs:{submitting:t.submitting,page:t.page,form:t.form,errors:t.errors}})],1)},n=[],r=i("b791"),o={name:"PageTypeSignup",components:{GoToWebinar:i.e(6).then(i.bind(null,"4898"))},extends:r["a"]},u=o,a=i("2877"),m=Object(a["a"])(u,s,n,!1,null,null,null);e["default"]=m.exports},b236:function(t,e,i){"use strict";var s=i("ca14");const n=["submit","redirect","submit-enable","submit-disable","submit-show","submit-hide"];e["a"]={directives:{bindEvents:{bind(t,e,i){const r=i.context,o=i.child||i.context;for(const u in n)o.$on(n[u],(...t)=>{const e=Object(s["a"])("on-"+n[u]);o!==r&&r.$emit(n[u],...t),r[e]&&r[e](...t)})}}}}},b791:function(t,e,i){"use strict";var s=i("850f"),n=i("b236"),r=i("ca14");e["a"]={props:{source:[String,Number],trackingId:[String,Number],redirect:{type:[Boolean,String],default:void 0},httpOptions:Object,page:{type:Object,required:!0}},mixins:[n["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(t,e){setTimeout(()=>{!t&&this.page.next_page&&(t=this.page.next_page.url.replace(/\/$/,"")+(this.form.source?"/"+this.form.source:"")),t&&(window.location=t+(e&&(t.match(/\?/)?"&":"?")+"sessionid="+e))})},submit(t,e){return this.$el.querySelector(":focus")&&this.$el.querySelector(":focus").blur(),new Promise((i,s)=>{this.submitting?s(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(e=>{this.submitting=!1,this.$emit("submit-complete",!0,e),this.$emit("submit-success",e),Object(r["i"])(t)&&t(e),i(e)},t=>{this.submitting=!1,this.errors=t.data.errors,this.$emit("submit-complete",!1,t),this.$emit("submit-failed",t),Object(r["i"])(e)&&e(t),s(t)}))})},onSubmitSuccess(t){const e=this.redirect||this.page.external_reply||this.page.next_page&&this.page.next_page.url;!1!==this.redirect&&e&&this.handleRedirect(e,t.get("sessionid"))},onSubmitError(t){throw t}},mounted(){this.loaded=!0,this.$nextTick(()=>this.$emit("init"))},data(){const t=this.page.site.recurring&&this.page.options.recurring_only?1:0;return{form:{recurring:t,source:this.source,tracking_id:this.trackingId},errors:{},loaded:!1,submitting:!1,model:new s["a"]({id:this.page.id})}}}}}]); //# sourceMappingURL=GiveworksForm.umd.min.signup-type.js.map