{"version":3,"sources":["webpack:///./src/components/FixedFooter.vue","webpack:///./src/components/FixedFooter.vue?bb3e","webpack:///./src/components/FixedFooter.vue?c41f","webpack:///./src/views/Auth/ChangePassword.vue","webpack:///./src/views/Auth/ChangePassword.vue?b457","webpack:///./src/views/Auth/ChangePassword.vue?e192","webpack:///./src/components/FixedFooter.vue?54b2","webpack:///./src/mixins/LoadingMixin.ts"],"names":["class","buttons","button","index","key","handler","icon","iconPos","is-ltr-forward","text","name","props","type","Array","components","DirectionIndicator","render","__scopeId","color","mode","languagePreloaded","language","passwordReset","contentLoaded","fullscreen","isTokenValid","lines","position","newPassword","autocomplete","password","id","retypeNewPassword","confirmPassword","passwordRequirements","passwordLinkInvalid","footerButtons","IonContent","IonPage","IonItem","IonInput","IonHeader","IonToolbar","FixedFooter","token","String","default","setup","store","getters","Object","keys","value","length","router","changingCurrentPassword","currentRoute","resettingPassword","validate","message","validation","passwordsMustMatch","passwordCharacters","test","passwordSpecial","passwordLowercase","passwordUppercase","passwordNumbers","updatePassword","errorMsg","errors","settingNewPassword","valid","back","passwordWasReset","beenActivated","replace","dispatch","passwordUpdate","gettingPasswordResetStatus","gettingActivationStatus","push","cancel","update","reset","execute","run","defaultMessage","create","spinner","present","cssClass","header","error","ok","toUpperCase","dismiss","executeWithoutSpinner","saveProgress","savingProgress","loading"],"mappings":"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","file":"js/chunk-13e1e7aa.3924892f.js","sourcesContent":["\n\n\n\n","\n\nimport { FooterButton } from \"@/models/FooterButtonsModel\";\nimport {PropType} from 'vue'\nimport DirectionIndicator from \"@/components/DirectionIndicator.vue\";\n\nexport default {\n name: 'FixedFooter',\n props: {\n buttons: { \n type: Array as PropType>\n }\n },\n components: {\n DirectionIndicator\n }\n}\n","import { render } from \"./FixedFooter.vue?vue&type=template&id=aa50f4d0&scoped=true\"\nimport script from \"./FixedFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./FixedFooter.vue?vue&type=script&lang=ts\"\n\nimport \"./FixedFooter.vue?vue&type=style&index=0&id=aa50f4d0&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-aa50f4d0\"\n\nexport default script","\n\n\n\n","\n\nimport {IonContent, IonHeader, IonInput, IonItem, IonPage, IonToolbar} from \"@ionic/vue\";\nimport {computed, onBeforeMount, ref} from \"vue\";\nimport FixedFooter from '@/components/FixedFooter.vue'\nimport {presentValidationAlert} from \"@/services/Notify\";\nimport { execute } from \"@/mixins/LoadingMixin\";\nimport {useRouter} from \"vue-router\";\nimport {\n resetPassword,\n isTokenValid as checkIfTokenValid,\n activateUser,\n isActivationValid,\n updatePassword as setPassword\n} from \"@/services/UserService\";\nimport {useStore} from \"vuex\";\n\nexport default {\n name: 'ChangePassword',\n components: {\n IonContent,\n IonPage,\n IonItem,\n IonInput,\n IonHeader,\n IonToolbar,\n FixedFooter,\n },\n props: {\n token: {\n type: String,\n default: ''\n }\n },\n setup(props: any) {\n const store = useStore();\n const language = computed(() => store.getters['app/language']);\n const languagePreloaded = computed(() => Object.keys(language.value).length > 0);\n const router = useRouter();\n const contentLoaded = ref(false);\n const password = ref('');\n const confirmPassword = ref('');\n const isTokenValid = ref(false);\n const footerButtons = ref([] as any);\n const changingCurrentPassword = computed(() => router.currentRoute.value.name === 'changeCurrentPassword');\n const resettingPassword = computed(() => router.currentRoute.value.name === 'resetPassword');\n \n const validate = async (): Promise => {\n let message = '';\n if (password.value !== confirmPassword.value) {\n message = languagePreloaded.value ? language.value.validation.passwordsMustMatch : 'Passwords must match.';\n } else if (password.value.length < 8) {\n message = languagePreloaded .value? language.value.validation.passwordCharacters : 'Password must be at least 8 characters.';\n } else if (!/\\d/.test(password.value)) {\n message = languagePreloaded.value ? language.value.validation.passwordNumbers : 'Password must contain at least one number.';\n } else if (!/(?=.*[A-Z])/.test(password.value)) {\n message = languagePreloaded.value ? language.value.validation.passwordUppercase : 'Password must contain at least one uppercase character.';\n } else if (!/(?=.*[a-z])/.test(password.value)) {\n message = languagePreloaded.value ? language.value.validation.passwordLowercase : 'Password must contain at least one lowercase character.';\n } else if (!/(?=.*[@#$%^!&+=_.-])/.test(password.value)) {\n message = languagePreloaded.value ? language.value.validation.passwordSpecial : 'Password must contain at least one of the specified special characters.';\n }\n \n if (message) {\n await presentValidationAlert(message);\n return false;\n }\n return true;\n }\n\n const updatePassword = async () => {\n const errorMsg = languagePreloaded.value ? language.value.errors.settingNewPassword : 'Error setting new password.';\n await execute(async () => {\n const valid = await validate();\n let message = '';\n if (valid) {\n if (changingCurrentPassword.value) {\n await setPassword(password.value);\n router.back();\n }\n else {\n if (resettingPassword.value) {\n await resetPassword(props.token, password.value);\n message = languagePreloaded.value ? language.value.passwordWasReset : 'Password reset.';\n } else {\n await activateUser(props.token, password.value);\n message = languagePreloaded.value ? language.value.beenActivated : 'You have been activated. You may now log in.';\n }\n\n if (message) {\n await presentValidationAlert(message);\n await router.replace({name: 'login'});\n } else {\n await presentValidationAlert(errorMsg);\n }\n }\n }\n }, errorMsg);\n }\n\n onBeforeMount(async () => {\n if (changingCurrentPassword.value) {\n isTokenValid.value = true;\n await store.dispatch('app/setPageTitle', languagePreloaded.value ? language.value.passwordUpdate : 'Password Update');\n } else if (resettingPassword.value) {\n await execute(async () => {\n isTokenValid.value = await checkIfTokenValid(props.token);\n }, languagePreloaded.value ? language.value.errors.gettingPasswordResetStatus : 'Error getting password reset status.');\n } else {\n await execute(async () => {\n isTokenValid.value = await isActivationValid(props.token);\n }, languagePreloaded.value ? language.value.errors.gettingActivationStatus : 'Error getting activation status.');\n }\n \n footerButtons.value.push({\n class: 'custom-button button-clear',\n icon: false,\n iconPos: '',\n handler: () => changingCurrentPassword.value ? router.back() : router.replace({ name: 'login'}),\n text: languagePreloaded.value ? language.value.cancel : 'Cancel'\n });\n if (isTokenValid.value) {\n footerButtons.value.push({\n class: 'custom-button button-primary',\n icon: false,\n iconPos: '',\n handler: () => updatePassword(),\n text: changingCurrentPassword.value ? (languagePreloaded.value ? language.value.update : 'Update' ) : (languagePreloaded.value ? language.value.reset : 'Reset')\n });\n }\n contentLoaded.value = true;\n });\n \n return {\n footerButtons,\n password,\n confirmPassword,\n isTokenValid,\n language,\n languagePreloaded,\n contentLoaded\n }\n }\n}\n","import { render } from \"./ChangePassword.vue?vue&type=template&id=c6531a2a&scoped=true\"\nimport script from \"./ChangePassword.vue?vue&type=script&lang=ts\"\nexport * from \"./ChangePassword.vue?vue&type=script&lang=ts\"\nscript.render = render\nscript.__scopeId = \"data-v-c6531a2a\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FixedFooter.vue?vue&type=style&index=0&id=aa50f4d0&scoped=true&lang=css\"","import { presentNativeAlert } from '@/services/Notify';\nimport { loadingController } from \"@ionic/vue\";\nimport {store} from \"@/store/Store\";\n\nconst language = store.getters['app/language'];\n\nexport async function execute(run: () => Promise, defaultMessage = '') {\n const spinner = await loadingController.create({});\n try {\n await spinner.present();\n await run();\n } catch (e) {\n if (e && defaultMessage) {\n presentNativeAlert({\n cssClass: 'custom-alert',\n header: language.error,\n message: defaultMessage,\n buttons: [language.ok.toUpperCase()],\n });\n }\n } finally {\n await spinner.dismiss();\n }\n}\n\nexport async function executeWithoutSpinner(run: () => Promise, defaultMessage = '') {\n try {\n await run();\n } catch (e) {\n if (e && defaultMessage) {\n presentNativeAlert({\n cssClass: 'custom-alert',\n header: language.error,\n message: defaultMessage,\n buttons: [language.ok.toUpperCase()],\n });\n }\n }\n}\n\nexport async function saveProgress(run: Function) {\n const loading = await loadingController.create({\n message: language.savingProgress,\n });\n \n try {\n await loading.present();\n await run();\n }\n finally {\n await loading.dismiss();\n }\n}"],"sourceRoot":""}