{"version":3,"sources":["webpack:///./src/components/Forms/Form.vue?b183","webpack:///./src/components/Forms/Section.vue?f950","webpack:///./src/components/Forms/ErrorList.vue","webpack:///./src/components/Forms/ErrorList.vue?f939","webpack:///./src/components/Forms/ErrorList.vue?db83","webpack:///./src/components/Forms/ErrorList.vue?d642","webpack:///./src/components/Forms/Form.vue","webpack:///./src/components/Forms/Section.vue","webpack:///./src/components/Forms/FieldTypes/FormDateField.vue","webpack:///./src/components/Forms/FieldTypes/FormDateField.vue?0aba","webpack:///./src/components/Forms/FieldTypes/FormDateField.vue?8b1f","webpack:///./src/components/Forms/FieldTypes/FormDateField.vue?d35a","webpack:///./src/components/Forms/FieldTypes/FormDropdownField.vue","webpack:///./src/components/Forms/FieldTypes/FormDropdownField.vue?3451","webpack:///./src/components/Forms/FieldTypes/FormDropdownField.vue?05ba","webpack:///./src/components/Forms/FieldTypes/FormDropdownField.vue?0b6a","webpack:///./src/components/Forms/FieldTypes/FormEmailField.vue","webpack:///./src/components/Forms/FieldTypes/FormEmailField.vue?97e4","webpack:///./src/components/Forms/FieldTypes/FormEmailField.vue?09d9","webpack:///./src/components/Forms/FieldTypes/FormEmailField.vue?ceed","webpack:///./src/components/Forms/FieldTypes/FormStaticTextField.vue","webpack:///./src/components/Forms/FieldTypes/FormStaticTextField.vue?1ef5","webpack:///./src/components/Forms/FieldTypes/FormStaticTextField.vue?ee59","webpack:///./src/components/Forms/FieldTypes/FormStaticTextField.vue?b012","webpack:///./src/components/Forms/FieldTypes/FormTelField.vue","webpack:///./src/components/Forms/FieldTypes/FormTelField.vue?4dc4","webpack:///./src/components/Forms/FieldTypes/FormTelField.vue?0c88","webpack:///./src/components/Forms/FieldTypes/FormTelField.vue?950e","webpack:///./src/components/Forms/FieldTypes/FormTextareaField.vue","webpack:///./src/components/Forms/FieldTypes/FormTextareaField.vue?76e3","webpack:///./src/components/Forms/FieldTypes/FormTextareaField.vue?c42d","webpack:///./src/components/Forms/FieldTypes/FormTextareaField.vue?231f","webpack:///./src/components/Forms/FieldTypes/FormTextField.vue","webpack:///./src/components/Forms/FieldTypes/FormTextField.vue?2d94","webpack:///./src/components/Forms/FieldTypes/FormTextField.vue?d195","webpack:///./src/components/Forms/FieldTypes/FormTextField.vue?3d1b","webpack:///./src/components/Forms/Section.vue?73e9","webpack:///./src/components/Forms/Section.vue?eb67","webpack:///./src/components/Forms/Section.vue?76ac","webpack:///./src/components/Forms/Form.vue?17d1","webpack:///./src/components/Forms/Form.vue?a166","webpack:///./src/components/Forms/Form.vue?fe66","webpack:///./src/components/Forms/ErrorList.vue?8140","webpack:///./src/components/Forms/FieldTypes/FormDropdownField.vue?660c","webpack:///./src/components/Forms/Form.vue?e12b"],"names":["render","_vm","this","_c","_self","_setupProxy","staticClass","_l","errors","error","key","Key","SubfieldKey","_v","_s","Message","staticRenderFns","ErrorList","Vue","__decorate","Prop","Component","component","style","formStyle","attrs","loading","hasAutosave","on","loadAutosave","autosaveDate","_e","definition","submitted","domProps","Options","SubmittedText","Sections","section","SectionId","ref","refInFor","ctx","type","handleFieldInput","errored","class","submitButtonClass","submitButtonColour","submitButtonBackgroundColour","submitForm","SubmitButtonText","def","CSSClasses","join","IsSegregated","DisplayTitle","Title","VerticalAlignment","FormFields","field","FieldId","LayoutOptions","ColumnSpan","TypeName","_b","tag","handleInput","getProps","hasErrors","directives","name","rawName","value","expression","elemId","Required","Placeholder","$event","target","composing","Label","FormDateField","constructor","length","getValue","Value","setValue","$emit","components","$$selectedVal","Array","prototype","filter","call","options","o","selected","map","val","_value","multiple","option","FormTextField","MaxLength","MinLength","FormEmailField","CSSStyles","Text","FormStaticTextField","FormTelField","FormTextareaField","FormGraphicalPDFField","FormVideoUploadField","FormMultiFileUploaderField","Section","formContext","formType","e","fieldDef","collectData","$refs","setData","values","forEach","find","v","undefined","required","FormDropdownField","Form","context","autosaveManager","ServiceManager","Require","ServiceType","FormAutosave","submitPercent","recaptchaService","ReCaptcha","propertyAdressFormFieldValue","fieldBg","fieldColour","borderColour","labelColour","labelFocusedBg","labelFocusedColour","underlineInactive","underlineActive","onProgress","progress","total","Math","round","console","log","mounted","Items","ClientWebsiteId","Config","Website","Id","API","Forms","GetForm","then","enableAutosave","state","GetState","catch","sectionComponent","err","includeRecaptcha","data","normalisedData","Form_1","normaliseData","SubmitForm","result","Valid","Submitted","Result","resetRecaptcha","ValidationState","Errors","finally","newValues","entry","push","i","Promise","resolve","reject","setTimeout","getRecaptchaResponse","recaptchaResponse","Logger","Log","LogLevel","Debug","Reset","GetResponse","default","Loader"],"mappings":"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","file":"js/chunk-576e09fe.6a6ca3c4.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Form.vue?vue&type=style&index=0&id=258cd33a&prod&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=style&index=0&id=21bc423e&prod&scoped=true&lang=css&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-field__errors\"},[_c('ul',_vm._l((_vm.errors),function(error){return _c('li',{key:error.Key + error.SubfieldKey},[_vm._v(\" \"+_vm._s(error.Message)+\" \")])}),0)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { FormSubmissionValidationError } from 'client-website-ts-library/types/Forms';\r\n\r\n@Component\r\nexport default class ErrorList extends Vue {\r\n @Prop()\r\n private readonly errors!: FormSubmissionValidationError[];\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErrorList.vue?vue&type=template&id=a5bf78fc&scoped=true&\"\nimport script from \"./ErrorList.vue?vue&type=script&lang=ts&\"\nexport * from \"./ErrorList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ErrorList.vue?vue&type=style&index=0&id=a5bf78fc&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a5bf78fc\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{staticClass:\"form\",style:(_vm.formStyle)},[_c('Loader',{attrs:{\"loading\":_vm.loading}}),(_vm.hasAutosave)?_c('div',{staticClass:\"form__panel form__panel--autosaved\",on:{\"click\":_vm.loadAutosave}},[_c('p',[_vm._v(\" This form was autosaved at \"+_vm._s(_vm.autosaveDate)+\". Click here to load the autosave. \")])]):_vm._e(),(_vm.definition)?[(_vm.submitted)?_c('div',{staticClass:\"form__panel form__panel--success\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.definition.Options.SubmittedText)}})]):[_vm._l((_vm.definition.Sections),function(section){return _c('Section',{key:section.SectionId,ref:section.SectionId,refInFor:true,attrs:{\"def\":section,\"errors\":_vm.errors,\"form-context\":_vm.ctx,\"form-type\":_vm.type},on:{\"field_input\":_vm.handleFieldInput}})}),(_vm.errored)?_c('div',{staticClass:\"form__panel form__panel--errored\"},[_c('p',[_vm._v(\" Please fill out all red highlighted fields. \")])]):_vm._e(),_c('div',{staticClass:\"center-text\"},[_c('Button',{staticClass:\"form__submit-btn\",class:_vm.submitButtonClass,attrs:{\"loading\":_vm.loading,\"colour\":_vm.submitButtonColour,\"background-colour\":_vm.submitButtonBackgroundColour},on:{\"click\":_vm.submitForm}},[_vm._v(_vm._s(_vm.definition.Options.SubmitButtonText))])],1)]]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-section\",class:[_vm.def.CSSClasses.join(','), {'form-section--segregated': _vm.def.IsSegregated}]},[(_vm.def.DisplayTitle)?_c('h6',{staticClass:\"form-section__title\"},[_vm._v(_vm._s(_vm.def.Title))]):_vm._e(),_c('div',{staticClass:\"form-section__content\"},[_c('Row',{attrs:{\"vertical-align\":_vm.def.VerticalAlignment}},_vm._l((_vm.def.FormFields),function(field){return _c('Column',{key:field.FieldId,attrs:{\"width\":field.LayoutOptions.ColumnSpan}},[_c('Form' + field.TypeName + 'Field',_vm._b({ref:field.FieldId,refInFor:true,tag:\"component\",on:{\"input\":_vm.handleInput}},'component',_vm.getProps(field),false))],1)}),1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"form-field__input\",class:{\n 'form-field__input--has-value': _vm.value != null\n },attrs:{\"type\":\"date\",\"id\":_vm.elemId,\"required\":_vm.def.Required,\"placeholder\":_vm.def.Placeholder},domProps:{\"value\":(_vm.value)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.value=$event.target.value},_vm.handleInput]}}),_c('label',{staticClass:\"form-field__label\",attrs:{\"for\":_vm.elemId}},[_vm._v(_vm._s(_vm.def.Label))]),(_vm.hasErrors)?_c('ErrorList',{attrs:{\"errors\":_vm.errors}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\r\nimport { DateField, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\r\n\r\nimport ErrorList from '../ErrorList.vue';\r\n\r\n@Component({\r\n components: {\r\n ErrorList,\r\n },\r\n})\r\nexport default class FormDateField extends Vue implements IFormField {\r\n @Prop()\r\n private readonly def!: DateField;\r\n\r\n @Prop()\r\n private readonly errors!: FormSubmissionValidationError[];\r\n\r\n private value: string | null = null;\r\n\r\n get hasErrors(): boolean {\r\n return this.errors.length > 0;\r\n }\r\n\r\n get elemId() {\r\n return `field_${this.def.FieldId}`;\r\n }\r\n\r\n getValue(): FormValue {\r\n return {\r\n Key: this.def.Key,\r\n Value: this.value,\r\n };\r\n }\r\n\r\n setValue(value: FormValue): void {\r\n if (typeof value.Value === 'string' || value.Value === null) {\r\n this.value = value.Value;\r\n }\r\n }\r\n\r\n handleInput(): void {\r\n this.$emit('input', this.def);\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormDateField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormDateField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormDateField.vue?vue&type=template&id=f7cca14e&\"\nimport script from \"./FormDateField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormDateField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],ref:\"elem\",staticClass:\"form-field__input\",class:{\n 'form-field__input--has-value': _vm.value\n },attrs:{\"id\":_vm.elemId},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.value=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.handleInput]}},[(_vm.def.Placeholder)?_c('option',{attrs:{\"disabled\":\"\",\"selected\":\"\",\"value\":\"\"}},[_vm._v(_vm._s(_vm.def.Placeholder))]):_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}}),_vm._l((_vm.def.Options),function(option){return _c('option',{key:option.Value,domProps:{\"value\":option.Value}},[_vm._v(_vm._s(option.Label))])})],2),_c('label',{staticClass:\"form-field__label\",attrs:{\"for\":_vm.elemId}},[_vm._v(_vm._s(_vm.def.Label))]),(_vm.hasErrors)?_c('ErrorList',{attrs:{\"errors\":_vm.errors}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\r\nimport { DropdownField, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\r\n\r\nimport ErrorList from '../ErrorList.vue';\r\n\r\n@Component({\r\n components: {\r\n ErrorList,\r\n },\r\n})\r\nexport default class FormTextField extends Vue implements IFormField {\r\n @Prop()\r\n private readonly def!: DropdownField;\r\n\r\n @Prop()\r\n private readonly errors!: FormSubmissionValidationError[];\r\n\r\n private value: string | null = '';\r\n\r\n get hasErrors(): boolean {\r\n return this.errors.length > 0;\r\n }\r\n\r\n get elemId() {\r\n return `field_${this.def.FieldId}`;\r\n }\r\n\r\n getValue(): FormValue {\r\n return {\r\n Key: this.def.Key,\r\n Value: this.value,\r\n };\r\n }\r\n\r\n setValue(value: FormValue) {\r\n if (typeof value.Value === 'string' || value.Value === null) {\r\n this.value = value.Value;\r\n }\r\n }\r\n\r\n handleInput(): void {\r\n this.$emit('input', this.def);\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormDropdownField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormDropdownField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormDropdownField.vue?vue&type=template&id=7c760baa&scoped=true&\"\nimport script from \"./FormDropdownField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormDropdownField.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FormDropdownField.vue?vue&type=style&index=0&id=7c760baa&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7c760baa\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"form-field__input\",class:{\n 'form-field__input--has-value': _vm.value != null\n },attrs:{\"type\":\"email\",\"id\":_vm.elemId,\"required\":_vm.def.Required,\"placeholder\":_vm.def.Placeholder,\"maxlength\":_vm.def.MaxLength || 1000,\"minlength\":_vm.def.MinLength || 0,\"autocomplete\":\"email\"},domProps:{\"value\":(_vm.value)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.value=$event.target.value},_vm.handleInput]}}),_c('label',{staticClass:\"form-field__label\",attrs:{\"for\":_vm.elemId}},[_vm._v(_vm._s(_vm.def.Label))]),(_vm.hasErrors)?_c('ErrorList',{attrs:{\"errors\":_vm.errors}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\r\nimport { EmailField, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\r\n\r\nimport ErrorList from '../ErrorList.vue';\r\n\r\n@Component({\r\n components: {\r\n ErrorList,\r\n },\r\n})\r\nexport default class FormEmailField extends Vue implements IFormField {\r\n @Prop()\r\n private readonly def!: EmailField;\r\n\r\n @Prop()\r\n private readonly errors!: FormSubmissionValidationError[];\r\n\r\n private value: string | null = null;\r\n\r\n get hasErrors(): boolean {\r\n return this.errors.length > 0;\r\n }\r\n\r\n get elemId() {\r\n return `field_${this.def.FieldId}`;\r\n }\r\n\r\n getValue(): FormValue {\r\n return {\r\n Key: this.def.Key,\r\n Value: this.value,\r\n };\r\n }\r\n\r\n setValue(value: FormValue) {\r\n if (typeof value.Value === 'string' || value.Value === null) {\r\n this.value = value.Value;\r\n }\r\n }\r\n\r\n handleInput(): void {\r\n this.$emit('input', this.def);\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormEmailField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormEmailField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormEmailField.vue?vue&type=template&id=154ec92e&\"\nimport script from \"./FormEmailField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormEmailField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('div',{staticClass:\"static-text\",style:(_vm.def.CSSStyles.join(' ')),domProps:{\"innerHTML\":_vm._s(_vm.def.Text)}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\r\nimport { StaticText, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\r\n\r\nimport ErrorList from '../ErrorList.vue';\r\n\r\n@Component({\r\n components: {\r\n ErrorList,\r\n },\r\n})\r\nexport default class FormStaticTextField extends Vue implements IFormField {\r\n @Prop()\r\n private readonly def!: StaticText;\r\n\r\n @Prop()\r\n private readonly errors!: FormSubmissionValidationError[];\r\n\r\n private value: string | null = null;\r\n\r\n get hasErrors(): boolean {\r\n return this.errors.length > 0;\r\n }\r\n\r\n get elemId() {\r\n return `field_${this.def.FieldId}`;\r\n }\r\n\r\n getValue(): FormValue {\r\n return {\r\n Key: this.def.Key,\r\n Value: null,\r\n };\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\r\n setValue(value: FormValue): void {}\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormStaticTextField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormStaticTextField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormStaticTextField.vue?vue&type=template&id=0118d07e&\"\nimport script from \"./FormStaticTextField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormStaticTextField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"form-field__input\",class:{\n 'form-field__input--has-value': _vm.value != null\n },attrs:{\"type\":\"tel\",\"id\":_vm.elemId,\"required\":_vm.def.Required,\"placeholder\":_vm.def.Placeholder,\"maxlength\":_vm.def.MaxLength || 1000,\"minlength\":_vm.def.MinLength || 0,\"autocomplete\":\"tel\"},domProps:{\"value\":(_vm.value)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.value=$event.target.value},_vm.handleInput]}}),_c('label',{staticClass:\"form-field__label\",attrs:{\"for\":_vm.elemId}},[_vm._v(_vm._s(_vm.def.Label))]),(_vm.hasErrors)?_c('ErrorList',{attrs:{\"errors\":_vm.errors}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\r\nimport { TelField, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\r\n\r\nimport ErrorList from '../ErrorList.vue';\r\n\r\n@Component({\r\n components: {\r\n ErrorList,\r\n },\r\n})\r\nexport default class FormTelField extends Vue implements IFormField {\r\n @Prop()\r\n private readonly def!: TelField;\r\n\r\n @Prop()\r\n private readonly errors!: FormSubmissionValidationError[];\r\n\r\n private value: string | null = null;\r\n\r\n get hasErrors(): boolean {\r\n return this.errors.length > 0;\r\n }\r\n\r\n get elemId() {\r\n return `field_${this.def.FieldId}`;\r\n }\r\n\r\n getValue(): FormValue {\r\n return {\r\n Key: this.def.Key,\r\n Value: this.value,\r\n };\r\n }\r\n\r\n setValue(value: FormValue) {\r\n if (typeof value.Value === 'string' || value.Value === null) {\r\n this.value = value.Value;\r\n }\r\n }\r\n\r\n handleInput(): void {\r\n this.$emit('input', this.def);\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormTelField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormTelField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormTelField.vue?vue&type=template&id=0df1bb67&\"\nimport script from \"./FormTelField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormTelField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"form-field__input\",class:{\n 'form-field__input--has-value': _vm.value != null\n },attrs:{\"type\":\"text\",\"id\":_vm.elemId,\"required\":_vm.def.Required,\"placeholder\":_vm.def.Placeholder,\"rows\":\"4\",\"maxlength\":_vm.def.MaxLength || 1000,\"minlength\":_vm.def.MinLength || 0},domProps:{\"value\":(_vm.value)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.value=$event.target.value},_vm.handleInput]}}),_c('label',{staticClass:\"form-field__label\",attrs:{\"for\":_vm.elemId}},[_vm._v(_vm._s(_vm.def.Label))]),(_vm.hasErrors)?_c('ErrorList',{attrs:{\"errors\":_vm.errors}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\r\nimport { TextareaField, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\r\n\r\nimport ErrorList from '../ErrorList.vue';\r\n\r\n@Component({\r\n components: {\r\n ErrorList,\r\n },\r\n})\r\nexport default class FormTextareaField extends Vue implements IFormField {\r\n @Prop()\r\n private readonly def!: TextareaField;\r\n\r\n @Prop()\r\n private readonly errors!: FormSubmissionValidationError[];\r\n\r\n private value: string | null = null;\r\n\r\n get hasErrors(): boolean {\r\n return this.errors.length > 0;\r\n }\r\n\r\n get elemId() {\r\n return `field_${this.def.FieldId}`;\r\n }\r\n\r\n getValue(): FormValue {\r\n return {\r\n Key: this.def.Key,\r\n Value: this.value,\r\n };\r\n }\r\n\r\n setValue(value: FormValue) {\r\n if (typeof value.Value === 'string' || value.Value === null) {\r\n this.value = value.Value;\r\n }\r\n }\r\n\r\n handleInput(): void {\r\n this.$emit('input', this.def);\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormTextareaField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormTextareaField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormTextareaField.vue?vue&type=template&id=3acac4c6&\"\nimport script from \"./FormTextareaField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormTextareaField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"form-field__input\",class:{\n 'form-field__input--has-value': _vm.value != null\n },attrs:{\"type\":\"text\",\"id\":_vm.elemId,\"required\":_vm.def.Required,\"placeholder\":_vm.def.Placeholder,\"maxlength\":_vm.def.MaxLength || 1000,\"minlength\":_vm.def.MinLength || 0},domProps:{\"value\":(_vm.value)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.value=$event.target.value},_vm.handleInput]}}),_c('label',{staticClass:\"form-field__label\",attrs:{\"for\":_vm.elemId}},[_vm._v(_vm._s(_vm.def.Label))]),(_vm.hasErrors)?_c('ErrorList',{attrs:{\"errors\":_vm.errors}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\r\nimport { TextField, IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\r\n\r\nimport ErrorList from '../ErrorList.vue';\r\n\r\n@Component({\r\n components: {\r\n ErrorList,\r\n },\r\n})\r\nexport default class FormTextField extends Vue implements IFormField {\r\n @Prop()\r\n private readonly def!: TextField;\r\n\r\n @Prop()\r\n private readonly errors!: FormSubmissionValidationError[];\r\n\r\n private value: string | null = null;\r\n\r\n get hasErrors(): boolean {\r\n return this.errors.length > 0;\r\n }\r\n\r\n get elemId() {\r\n return `field_${this.def.FieldId}`;\r\n }\r\n\r\n getValue(): FormValue {\r\n return {\r\n Key: this.def.Key,\r\n Value: this.value,\r\n };\r\n }\r\n\r\n setValue(value: FormValue) {\r\n if (typeof value.Value === 'string' || value.Value === null) {\r\n this.value = value.Value;\r\n }\r\n }\r\n\r\n handleInput(): void {\r\n this.$emit('input', this.def);\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormTextField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormTextField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormTextField.vue?vue&type=template&id=e56964a6&\"\nimport script from \"./FormTextField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormTextField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport {\r\n FormSection,\r\n FormSubmissionValidationError,\r\n FormConstructorData,\r\n FormField,\r\n FormValue,\r\n} from 'client-website-ts-library/types/Forms';\r\nimport { IFormField } from 'client-website-ts-library/types/Forms/FieldTypes';\r\n\r\n// Field components\r\nimport FormDateField from './FieldTypes/FormDateField.vue';\r\nimport FormDropdownField from './FieldTypes/FormDropdownField.vue';\r\nimport FormEmailField from './FieldTypes/FormEmailField.vue';\r\nimport FormStaticTextField from './FieldTypes/FormStaticTextField.vue';\r\nimport FormTelField from './FieldTypes/FormTelField.vue';\r\nimport FormTextareaField from './FieldTypes/FormTextareaField.vue';\r\nimport FormTextField from './FieldTypes/FormTextField.vue';\r\n\r\n// Big field types get loaded in async for more speeds\r\nconst FormGraphicalPDFField = () => import('./FieldTypes/PDFs/FormGraphicalPDFField.vue');\r\nconst FormVideoUploadField = () => import('./FieldTypes/FormVideoUploadField.vue');\r\nconst FormMultiFileUploaderField = () => import('./FieldTypes/MultiFileUploader/FormMultiFileUploaderField.vue');\r\n\r\n@Component({\r\n components: {\r\n FormDateField,\r\n FormDropdownField,\r\n FormEmailField,\r\n FormStaticTextField,\r\n FormTelField,\r\n FormTextareaField,\r\n FormTextField,\r\n FormGraphicalPDFField,\r\n FormVideoUploadField,\r\n FormMultiFileUploaderField,\r\n },\r\n})\r\nexport default class Section extends Vue {\r\n @Prop({ required: true })\r\n private readonly def!: FormSection;\r\n\r\n @Prop({ required: true })\r\n private readonly errors!: FormSubmissionValidationError[];\r\n\r\n @Prop({ required: true })\r\n private readonly formContext!: FormConstructorData;\r\n\r\n @Prop({ required: true })\r\n private readonly formType!: string;\r\n\r\n getProps(field: FormField): object {\r\n return {\r\n def: field,\r\n formContext: this.formContext,\r\n formType: this.formType,\r\n errors: this.errors.filter((e) => e.Key === field.Key),\r\n };\r\n }\r\n\r\n handleInput(fieldDef: FormField): void {\r\n this.$emit('field_input', fieldDef);\r\n }\r\n\r\n collectData(): FormValue[] {\r\n return this.def.FormFields.map((field) => ((this.$refs[field.FieldId] as Vue[])[0] as unknown as IFormField).getValue());\r\n }\r\n\r\n setData(values: FormValue[]): void {\r\n this.def.FormFields.forEach((field) => {\r\n const val = values.find((v) => v.Key === field.Key);\r\n\r\n if (val === undefined || val.Value === null) return;\r\n\r\n ((this.$refs[field.FieldId] as Vue[])[0] as unknown as IFormField).setValue(val);\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Section.vue?vue&type=template&id=21bc423e&scoped=true&\"\nimport script from \"./Section.vue?vue&type=script&lang=ts&\"\nexport * from \"./Section.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Section.vue?vue&type=style&index=0&id=21bc423e&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21bc423e\",\n null\n \n)\n\nexport default component.exports","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { FormDefinition, FormSubmissionValidationError, FormField, FormValue } from 'client-website-ts-library/types/Forms';\r\nimport {\r\n AutosaveManager,\r\n ServiceManager,\r\n ServiceType,\r\n API,\r\n Config,\r\n Logger,\r\n LogLevel,\r\n ReCaptchaService,\r\n} from 'client-website-ts-library/services';\r\nimport { Context } from 'client-website-ts-library/types';\r\nimport { PDFFieldData } from 'client-website-ts-library/types/Forms/FieldTypes';\r\nimport { IRequestProgressDelegate } from 'client-website-ts-library/services/API/IRequestProgressDelegate';\r\n\r\nimport Section from './Section.vue';\r\nimport Loader from '../UI/Loader.vue';\r\n\r\n@Component({\r\n components: {\r\n Section,\r\n Loader,\r\n },\r\n})\r\nexport default class Form extends Vue implements IRequestProgressDelegate {\r\n @Prop({ default: () => ({ Items: [] }) })\r\n private readonly context!: Context;\r\n\r\n @Prop()\r\n private readonly type!: string;\r\n\r\n @Prop()\r\n private readonly submitButtonColour!: string;\r\n\r\n @Prop()\r\n private readonly submitButtonBackgroundColour!: string;\r\n\r\n @Prop()\r\n private readonly submitButtonClass!: string;\r\n\r\n @Prop()\r\n private readonly autosaveNamespace!: string;\r\n\r\n @Prop()\r\n private readonly enableAutosave!: boolean;\r\n\r\n @Prop({ default: 'var(--form-field-bg)' })\r\n private readonly fieldBg!: string;\r\n\r\n @Prop({ default: 'var(--form-field-colour)' })\r\n private readonly fieldColour!: string;\r\n\r\n @Prop({ default: 'var(--form-label-colour)' })\r\n private readonly labelColour!: string;\r\n\r\n @Prop({ default: 'var(--form-field-border-colour)' })\r\n private readonly borderColour!: string;\r\n\r\n @Prop({ default: 'var(--form-label-focused-bg)' })\r\n private readonly labelFocusedBg!: string;\r\n\r\n @Prop({ default: 'var(--form-label-focused-colour)' })\r\n private readonly labelFocusedColour!: string;\r\n\r\n @Prop({ default: '#eee' })\r\n private readonly underlineInactive!: string;\r\n\r\n @Prop({ default: 'var(--brand-primary)' })\r\n private readonly underlineActive!: string;\r\n\r\n @Prop({ default: true })\r\n private readonly includeRecaptcha!: boolean;\r\n\r\n private ctx: Context = this.context;\r\n\r\n private errored = false;\r\n\r\n private submitted = false;\r\n\r\n private errors: FormSubmissionValidationError[] = [];\r\n\r\n private loading = true;\r\n\r\n private definition: FormDefinition | null = null;\r\n\r\n private autosaveManager: AutosaveManager = ServiceManager.Require(ServiceType.FormAutosave);\r\n\r\n private hasAutosave = false;\r\n\r\n private autosaveDate: string | null = null;\r\n\r\n private submitPercent = 0;\r\n\r\n private recaptchaService = ServiceManager.Require(ServiceType.ReCaptcha) as ReCaptchaService;\r\n\r\n private propertyAdressFormFieldValue: string | null = null;\r\n\r\n get formStyle() {\r\n return {\r\n '--field-bg': this.fieldBg,\r\n '--field-colour': this.fieldColour,\r\n '--border-colour': this.borderColour,\r\n '--label-colour': this.labelColour,\r\n '--label-focused-bg': this.labelFocusedBg,\r\n '--label-focused-colour': this.labelFocusedColour,\r\n '--underline-inactive': this.underlineInactive,\r\n '--underline-active': this.underlineActive,\r\n };\r\n }\r\n\r\n onProgress(progress: number, total: number) {\r\n this.submitPercent = Math.round((progress / total) * 100);\r\n\r\n console.log(this.submitPercent);\r\n }\r\n\r\n mounted() {\r\n if (this.ctx === null) {\r\n this.ctx = {\r\n Items: [],\r\n ClientWebsiteId: Config.Website.Id,\r\n };\r\n }\r\n\r\n if (this.ctx.ClientWebsiteId === undefined) {\r\n this.ctx.ClientWebsiteId = Config.Website.Id;\r\n }\r\n\r\n API.Forms.GetForm(this.type, this.context).then((def) => {\r\n this.loading = false;\r\n this.definition = def;\r\n\r\n if (this.enableAutosave) {\r\n const state = this.autosaveManager.GetState(this.type);\r\n\r\n if (state !== null) {\r\n this.hasAutosave = true;\r\n }\r\n }\r\n }).catch(() => {\r\n this.errored = true;\r\n });\r\n }\r\n\r\n loadAutosave(): void {\r\n if (!this.hasAutosave) return;\r\n\r\n const state = this.autosaveManager.GetState(this.type);\r\n\r\n if (state === null) return;\r\n\r\n this.definition!.Sections.forEach((section) => {\r\n const sectionComponent = (this.$refs[section.SectionId] as Vue[])[0] as Section;\r\n\r\n sectionComponent.setData(state);\r\n });\r\n }\r\n\r\n private handleFieldInput(fieldDef: FormField): void {\r\n this.errors = this.errors.filter((err) => err.Key !== fieldDef.Key);\r\n }\r\n\r\n submitForm(): void {\r\n if (this.loading) return;\r\n\r\n this.loading = true;\r\n\r\n this.errors = [];\r\n\r\n this.collectData(this.includeRecaptcha).then((data) => {\r\n const normalisedData = Form.normaliseData(data);\r\n\r\n console.log(normalisedData);\r\n\r\n this.loading = false;\r\n\r\n // this.context.ClientWebsiteId = Config.Website.Id;\r\n\r\n // if (this.enableAutosave) this.autosaveManager.SetState(this.type, data);\r\n\r\n API.Forms.SubmitForm(this.type, this.context, normalisedData).then((result) => {\r\n this.loading = false;\r\n\r\n if (!result.Valid) {\r\n // Reset ReCaptcha\r\n this.resetRecaptcha();\r\n\r\n // Update errors\r\n this.errors = result.ValidationState.Errors;\r\n this.errored = true;\r\n } else if (result.Submitted) {\r\n // Inform the user that the form was submitted\r\n this.submitted = true;\r\n\r\n this.$emit('submitted', result.Result);\r\n }\r\n }).catch(() => {\r\n // Reset ReCaptcha\r\n this.resetRecaptcha();\r\n\r\n // Inform the user that there was an error\r\n this.errored = true;\r\n }).finally(() => {\r\n this.loading = false;\r\n });\r\n });\r\n }\r\n\r\n private static normaliseData(data: FormValue[]): FormValue[] {\r\n const newValues: FormValue[] = [];\r\n\r\n data.forEach((entry) => {\r\n if (entry.Value instanceof Array) {\r\n if (entry.Value.length) {\r\n newValues.push({\r\n Key: `${entry.Key}_length`,\r\n Value: entry.Value.length,\r\n });\r\n\r\n for (let i = 0; i < entry.Value.length; i += 1) {\r\n newValues.push({\r\n Key: `${entry.Key}_${i}`,\r\n Value: entry.Value[i],\r\n });\r\n }\r\n }\r\n } else {\r\n newValues.push(entry);\r\n }\r\n });\r\n\r\n return newValues;\r\n }\r\n\r\n private collectData(includeRecaptcha: boolean): Promise {\r\n return new Promise((resolve, reject) => {\r\n const data: FormValue[] = [];\r\n\r\n // Loop through each form secction and collect the data from it\r\n this.definition!.Sections.forEach((section) => {\r\n const sectionComponent = (this.$refs[section.SectionId] as Vue[])[0] as Section;\r\n\r\n data.push(...sectionComponent.collectData());\r\n });\r\n\r\n // If we also need to submit the ReCaptcha response, make sure we call getResponse on the ReCaptcha component\r\n if (includeRecaptcha) {\r\n setTimeout(() => {\r\n this.loading = false;\r\n }, 1000);\r\n\r\n this.getRecaptchaResponse().then((recaptchaResponse: string) => {\r\n Logger.Log(LogLevel.Debug, '[Form]', 'Got ReCaptcha response');\r\n\r\n data.push({\r\n Key: '_recaptcha',\r\n Value: recaptchaResponse,\r\n });\r\n\r\n resolve(data);\r\n }).catch(reject);\r\n\r\n return;\r\n }\r\n\r\n // If we don't need ReCaptcha, resolve straight away\r\n resolve(data);\r\n });\r\n }\r\n\r\n private resetRecaptcha(): void {\r\n this.recaptchaService.Reset();\r\n }\r\n\r\n private getRecaptchaResponse(): Promise {\r\n return this.recaptchaService.GetResponse();\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Form.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Form.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Form.vue?vue&type=template&id=258cd33a&scoped=true&\"\nimport script from \"./Form.vue?vue&type=script&lang=ts&\"\nexport * from \"./Form.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Form.vue?vue&type=style&index=0&id=258cd33a&prod&scoped=true&lang=css&\"\nimport style1 from \"./Form.vue?vue&type=style&index=1&id=258cd33a&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"258cd33a\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorList.vue?vue&type=style&index=0&id=a5bf78fc&prod&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormDropdownField.vue?vue&type=style&index=0&id=7c760baa&prod&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Form.vue?vue&type=style&index=1&id=258cd33a&prod&lang=css&\""],"sourceRoot":""}