{"version":3,"sources":["webpack:///./src/views/ResetPasswordPage.vue","webpack:///./src/models/PasswordResetRequest.ts","webpack:///./src/views/ResetPasswordPage.vue?d9e2","webpack:///./src/views/ResetPasswordPage.vue?84fe","webpack:///./src/views/ResetPasswordPage.vue?87cc"],"names":["staticClass","attrs","_c","$t","_vm","signinRoute","on","$event","onSaveNewPasswordClick","passwordVisible","passwordMinLength","apply","arguments","model","callback","password","$$v","expression","confirmPasswordVisible","confirmPassword","_s","_v","staticRenderFns","PasswordResetRequest","constructor","passwordResetToken","this","ResetPasswordPage","Vue","loading","email","newPasswordSaved","resetTokenIsValid","validatingToken","v","length","number","passwordContainsUppercase","test","passwordContainsLowercase","passwordContainsNumber","validateResetToken","resetToken","AuthStore","validatePasswordResetToken","$refs","newPasswordForm","validate","passwordResetRequest","success","resetPassword","$route","query","t","toString","Routes","signin","__decorate","Component","components","component"],"mappings":"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","file":"js/chunk-2d216211.476e998e.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',{staticClass:\"reset-password-page\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\",\"justify\":\"center\"}},[_c('v-col',{staticClass:\"mt-5\",attrs:{\"cols\":\"12\"}},[(!_vm.validatingToken && !_vm.resetTokenIsValid)?_c('v-card',{staticClass:\"forgot-pass-page__card pa-3 mx-auto\",attrs:{\"max-width\":\"571\"}},[_c('v-card-title',{staticClass:\"reset-password-page__card-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('views.resetPassword.status.invalidToken.title'))+\" \")]),_c('v-card-text',[_c('div',{staticClass:\"reset-password-page__card-text mb-1\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('views.resetPassword.status.invalidToken.body'))}})])]),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\",\"block\":\"\",\"text\":\"\",\"to\":_vm.signinRoute}},[_vm._v(\" \"+_vm._s(_vm.$t('generic.action.backToSignIn.label'))+\" \")])],1)],1):_vm._e(),(_vm.resetTokenIsValid && !_vm.newPasswordSaved)?_c('v-card',{staticClass:\"reset-password-page__card pa-3 mx-auto\",attrs:{\"max-width\":\"571\"}},[_c('v-card-title',{staticClass:\"reset-password-page__card-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('views.resetPassword.form.prompt.title'))+\" \")]),_c('v-card-text',[_c('div',{staticClass:\"reset-password-page__card-text mb-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('views.resetPassword.form.prompt.body'))+\" \")]),_c('v-form',{ref:\"newPasswordForm\",on:{\"submit\":function($event){$event.preventDefault();return _vm.onSaveNewPasswordClick.apply(null, arguments)}}},[_c('v-text-field',{attrs:{\"append-icon\":_vm.passwordVisible ? 'mdi-eye' : 'mdi-eye-off',\"type\":_vm.passwordVisible ? 'text' : 'password',\"label\":_vm.$t('views.resetPassword.form.password.label'),\"placeholder\":_vm.$t('views.resetPassword.form.password.placeholder'),\"autocomplete\":\"new-password\",\"persistent-hint\":\"\",\"rules\":[_vm.rules.passwordMinLength]},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.onSaveNewPasswordClick.apply(null, arguments)},\"click:append\":function($event){_vm.passwordVisible = !_vm.passwordVisible}},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_c('v-text-field',{attrs:{\"append-icon\":_vm.confirmPasswordVisible ? 'mdi-eye' : 'mdi-eye-off',\"type\":_vm.confirmPasswordVisible ? 'text' : 'password',\"label\":_vm.$t('views.resetPassword.form.confirmPassword.label'),\"placeholder\":_vm.$t('views.resetPassword.form.confirmPassword.placeholder'),\"autocomplete\":\"new-password\",\"persistent-hint\":\"\",\"rules\":[_vm.rules.confirmPassword]},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.onSaveNewPasswordClick.apply(null, arguments)},\"click:append\":function($event){_vm.confirmPasswordVisible = !_vm.confirmPasswordVisible}},model:{value:(_vm.confirmPassword),callback:function ($$v) {_vm.confirmPassword=$$v},expression:\"confirmPassword\"}})],1)],1),_c('v-card-actions',{staticClass:\"reset-password-page__button-container mb-2\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"loading\":_vm.loading},on:{\"click\":_vm.onSaveNewPasswordClick}},[_vm._v(\" \"+_vm._s(_vm.$t('views.resetPassword.form.submit.button.label'))+\" \")])],1)],1):_vm._e(),(_vm.resetTokenIsValid && _vm.newPasswordSaved)?_c('v-card',{staticClass:\"reset-password-page__card pa-3 mx-auto\",attrs:{\"max-width\":\"571\"}},[_c('v-card-title',{staticClass:\"reset-password-page__card-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('views.resetPassword.form.submit.success.title'))+\" \")]),_c('v-card-text',[_c('div',{staticClass:\"reset-password-page__card-text mb-1\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('views.resetPassword.form.submit.success.body'))}}),_vm._v(\"> \")])]),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\",\"block\":\"\",\"text\":\"\",\"to\":_vm.signinRoute}},[_vm._v(\" \"+_vm._s(_vm.$t('generic.action.backToSignIn.label'))+\" \")])],1)],1):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default class PasswordResetRequest {\r\n passwordResetToken: string;\r\n password: string;\r\n confirmPassword: string;\r\n\r\n constructor(passwordResetToken: string, password: string, confirmPassword: string) {\r\n this.passwordResetToken = passwordResetToken;\r\n this.password = password;\r\n this.confirmPassword = confirmPassword;\r\n }\r\n}\r\n","\r\nimport Routes from \"@/Routes\";\r\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport AppEvents from \"@/AppEvents\";\r\nimport AuthStore from \"@/store/AuthStore\";\r\nimport LoadingIndicator from \"@/components/LoadingIndicator.vue\";\r\nimport PasswordResetRequest from \"@/models/PasswordResetRequest\";\r\nimport { RouteConfig } from \"vue-router\";\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class ResetPasswordPage extends Vue {\r\n loading = false;\r\n passwordVisible = false;\r\n confirmPasswordVisible = false;\r\n email = \"\";\r\n password = \"\";\r\n confirmPassword = \"\";\r\n newPasswordSaved = false;\r\n resetTokenIsValid = false;\r\n validatingToken = true;\r\n\r\n get rules(): { [key: string]: any; } {\r\n return {\r\n \r\n passwordMinLength: (v: any) =>\r\n v.length >= 10 || \r\n this.$t('generic.validation.passwordMinLength', { number: 10 }),\r\n passwordContainsUppercase: (v: any) => \r\n /[A-Z]/.test(v) ||\r\n this.$t('generic.validation.passwordContainsUppercase'),\r\n passwordContainsLowercase: (v: any) => \r\n /[a-z]/.test(v) ||\r\n this.$t('generic.validation.passwordContainsLowercase'),\r\n passwordContainsNumber: (v: any) => \r\n /[0-9]/.test(v) || \r\n this.$t('generic.validation.passwordContainsNumber'),\r\n confirmPassword: (v: any) => \r\n this.password === this.confirmPassword ||\r\n this.$t('generic.validation.confirmPassword')\r\n }\r\n }\r\n\r\n async created() {\r\n await this.validateResetToken();\r\n }\r\n\r\n async validateResetToken() {\r\n this.validatingToken = true;\r\n\r\n if (this.resetToken) {\r\n this.resetTokenIsValid = await AuthStore.validatePasswordResetToken(this.resetToken);\r\n }\r\n this.validatingToken = false;\r\n }\r\n\r\n async onSaveNewPasswordClick() {\r\n if (!this.resetToken || !(this.$refs.newPasswordForm as any).validate()) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n\r\n const passwordResetRequest = new PasswordResetRequest(this.resetToken, this.password, this.confirmPassword);\r\n const success = await AuthStore.resetPassword(passwordResetRequest);\r\n if (success) {\r\n this.newPasswordSaved = true;\r\n }\r\n \r\n this.loading = false;\r\n }\r\n\r\n get resetToken(): string | null {\r\n return this.$route.query.t \r\n ? this.$route.query.t.toString()\r\n : null;\r\n }\r\n\r\n get signinRoute(): RouteConfig {\r\n return Routes.signin;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPasswordPage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPasswordPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResetPasswordPage.vue?vue&type=template&id=05578324&\"\nimport script from \"./ResetPasswordPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResetPasswordPage.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"],"sourceRoot":""}