{"version":3,"sources":["webpack:///./src/mixins/appFormSteps.js","webpack:///./src/pages/stage-two/small/project-details-1.vue","webpack:///./src/pages/stage-two/small/project-details-1.vue?5447","webpack:///./src/mixins/formValidator.js"],"names":["formSteps","data","showStepErrors","computed","noItemsAdded","this","getItemsByType","length","otherCriteriaValid","mapGetters","mounted","formEle","document","querySelector","focusableEles","querySelectorAll","focus","getApplication","Object","assign","formData","methods","saveAndSubmit","nextStep","validateStep","finalSubmit","isValid","$refs","form","returnStep","$route","name","ua_submitapplication","submitApp","window","scrollTo","updateApplication","then","res","updateCurrentStep","$router","push","status","redeemToken","refreshtoken","CookieJar","get","businessunit","process","catch","err","error","message","mapActions","_createElementBlock","class","_normalizeClass","$props","classes","_createVNode","_component_Heading","level","text","_createElementVNode","onSubmit","_cache","_withModifiers","args","_ctx","novalidate","ref","_component_text_area","value","$data","ua_describeproposal","max-chars","onEmitFieldData","val","label-text","required-error","validation-rules","v","rules","containsLength","ua_descriptionofproject","mixins","formValidator","props","type","String","default","validationRules","__exports__","render","checkValidity","fields","field","refID","getAttribute","validate"],"mappings":"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","file":"js/chunk-a1526370.ee2e0387.js","sourcesContent":["import { mapGetters, mapActions } from 'vuex';\r\nimport CookieJar from '@/utilities/cookieJar';\r\n\r\nexport const formSteps = {\r\n data () {\r\n\t\treturn {\r\n showStepErrors: false\r\n };\r\n },\r\n computed: {\r\n noItemsAdded () {\r\n return this.getItemsByType ? this.getItemsByType.length < 1 : false;\r\n },\r\n otherCriteriaValid () {\r\n // additional conditions for validity may be set per section\r\n return true;\r\n },\r\n ...mapGetters('application', ['getApplication'])\r\n },\r\n mounted () {\r\n const formEle = document.querySelector('form');\r\n const focusableEles = formEle.querySelectorAll('.form-control, a, button');\r\n\r\n focusableEles[0].focus();\r\n\r\n if (this.getApplication) {\r\n Object.assign(this.formData || {}, this.getApplication);\r\n }\r\n\t},\r\n methods: {\r\n saveAndSubmit (nextStep, validateStep = true, finalSubmit = false) {\r\n const formEle = document.querySelector('form');\r\n const focusableEles = formEle.querySelectorAll('.form-control, a, button');\r\n\r\n this.showStepErrors = true;\r\n if (!validateStep || (this.isValid(this.$refs.form) && !this.noItemsAdded && this.otherCriteriaValid)) {\r\n /* If we're continuing (validateStep is true) we want to save the next step as the one to return to,\r\n otherwise, we should return the user to the one they saved last */\r\n const returnStep = validateStep ? nextStep : this.$route.name;\r\n\r\n // set ua_submitapplication to 1/true if this is the final submission\r\n this.formData.ua_submitapplication = !!finalSubmit;\r\n\r\n this.submitApp(finalSubmit, returnStep, nextStep);\r\n } else {\r\n window.scrollTo(0, 0);\r\n focusableEles[0].focus();\r\n }\r\n },\r\n submitApp (finalSubmit, returnStep, nextStep) {\r\n this.updateApplication(this.formData).then((res) => {\r\n if (res === true) {\r\n // if it's NOT the last step, update the current step\r\n if (!finalSubmit) {\r\n this.updateCurrentStep(returnStep);\r\n }\r\n this.$router.push({ name: nextStep });\r\n } else if (res.status === 401) {\r\n this.redeemToken({\r\n refreshtoken: CookieJar.get(`${process.env.VUE_APP_COOKIE_PREFIX}refresh_token`),\r\n businessunit: process.env.VUE_APP_BUSINESS_UNIT\r\n }).then((res) => {\r\n if (res === true) {\r\n this.submitApp(finalSubmit, returnStep, nextStep);\r\n return true;\r\n }\r\n this.$router.push({ name: 'Login' });\r\n }).catch(() => {\r\n this.$router.push({ name: 'Login' });\r\n });\r\n }\r\n }).catch((err) => {\r\n this.error = err.message;\r\n });\r\n },\r\n ...mapActions('auth', ['redeemToken']),\r\n ...mapActions('application', ['updateApplication', 'updateCurrentStep'])\r\n }\r\n };\r\n","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./project-details-1.vue?vue&type=template&id=3ed33eb4\"\nimport script from \"./project-details-1.vue?vue&type=script&lang=js\"\nexport * from \"./project-details-1.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\a\\\\1\\\\s\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export const formValidator = {\r\n methods: {\r\n isValid (form) {\r\n if (!form.checkValidity()) {\r\n const fields = form.querySelectorAll('.form-control');\r\n\r\n for (const field of fields) {\r\n const refID = field.getAttribute('id');\r\n\r\n if (this.$refs[refID]) {\r\n this.$refs[refID].validate();\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n return true;\r\n }\r\n }\r\n};\r\n"],"sourceRoot":""}