{"version":3,"sources":["webpack:///./src/views/ResetPassword.vue?6017","webpack:///./src/views/ResetPassword.vue","webpack:///./src/views/ResetPassword.vue?067a","webpack:///./src/views/ResetPassword.vue?0ead","webpack:///./src/views/ResetPassword.vue?6c59","webpack:///./src/views/ResetPassword.vue?59ae","webpack:///./src/views/ResetPassword.vue?e1e5"],"names":["___CSS_LOADER_API_IMPORT___","exports","push","module","i","StateType","render","_vm","this","_c","_self","_setupProxy","staticStyle","staticClass","isNew","_e","_v","shouldShowForm","attrs","_f","$v","resetPassword","password","model","value","callback","$$v","$set","expression","$error","required","passwordRepeat","passwordsMatch","on","$event","submit","isMessage","messageVariant","_s","message","staticRenderFns","ResetPassword","Vue","constructor","key","state","None","email","mounted","onKeyChanged","$router","currentRoute","params","console","log","onRouteChanged","route","Expired","Failed","ValidationFailed","Ready","response","ApiClient","post","$reset","$touch","$invalid","toastr","validations","__decorate","Watch","immediate","deep","Route","Validations","Component","components","SlideUpDown","ApiButton","component","content","__esModule","default","locals","add"],"mappings":"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","file":"js/chunk-78db2a38.155ed476.js","sourcesContent":["// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".centre-card[data-v-20cf12c8]{width:30rem;margin:0 auto}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticStyle:{\"display\":\"flex\"}},[_c('b-card',{staticClass:\"mt-5 centre-card\"},[(!_vm.isNew)?_c('h1',[_vm._v(\"Reset Password\")]):_vm._e(),(_vm.isNew)?_c('h1',[_vm._v(\"Create Password\")]):_vm._e(),(_vm.shouldShowForm)?[(_vm.isNew)?_c('div',{staticClass:\"callout callout-primary\"},[_c('h4',[_vm._v(\"Your password\")]),_vm._v(\" You need to decide on a password before you can sign in to the site. The best passwords are long ones, perhaps made up from several short words. You need at least 8 characters but the more the better. \")]):_vm._e(),_c('div',{staticClass:\"mb-2\"},[_c('small',[_vm._v(\"New password\")]),_c('b-form-input',{attrs:{\"type\":\"password\",\"id\":\"resetPassword.password\",\"autocomplete\":\"new-password\",\"state\":_vm._f(\"validationState\")(_vm.$v.resetPassword.password),\"trim\":\"\"},model:{value:(_vm.resetPassword.password),callback:function ($$v) {_vm.$set(_vm.resetPassword, \"password\", $$v)},expression:\"resetPassword.password\"}}),(_vm.$v.resetPassword.password.$error && !_vm.$v.resetPassword.password.required)?_c('b-tooltip',{attrs:{\"target\":\"resetPassword.password\",\"triggers\":\"hover\",\"placement\":\"right\"}},[_vm._v(\"Enter a new password\")]):_vm._e()],1),_c('div',{staticClass:\"mb-3\"},[_c('small',[_vm._v(\"Repeat password\")]),_c('b-form-input',{attrs:{\"type\":\"password\",\"id\":\"resetPassword.passwordRepeat\",\"autocomplete\":\"new-password\",\"state\":_vm._f(\"validationState\")(_vm.$v.resetPassword.passwordRepeat),\"trim\":\"\"},model:{value:(_vm.resetPassword.passwordRepeat),callback:function ($$v) {_vm.$set(_vm.resetPassword, \"passwordRepeat\", $$v)},expression:\"resetPassword.passwordRepeat\"}}),(_vm.$v.resetPassword.passwordRepeat.$error && !_vm.$v.resetPassword.passwordRepeat.required)?_c('b-tooltip',{attrs:{\"target\":\"resetPassword.passwordRepeat\",\"triggers\":\"hover\",\"placement\":\"right\"}},[_vm._v(\"Re-enter your password\")]):_vm._e(),(_vm.$v.resetPassword.passwordRepeat.$error && !_vm.$v.resetPassword.passwordRepeat.passwordsMatch)?_c('b-tooltip',{attrs:{\"target\":\"resetPassword.passwordRepeat\",\"triggers\":\"hover\",\"placement\":\"right\"}},[_vm._v(\"Passwords must match\")]):_vm._e()],1),_c('api-button',{staticClass:\"mb-3\",staticStyle:{\"background-color\":\"#1731c2\"},on:{\"click\":function($event){return _vm.submit($event)}}},[_vm._v(\"Reset password\")])]:_vm._e(),_c('slide-up-down',{staticClass:\"mb-3\",attrs:{\"active\":_vm.isMessage,\"duration\":500}},[_c('b-alert',{attrs:{\"variant\":_vm.messageVariant,\"fade\":\"\",\"show\":_vm.isMessage}},[_vm._v(_vm._s(_vm.resetPassword.message))])],1),_c('p',{staticClass:\"mt-3\"},[_c('router-link',{attrs:{\"to\":\"/\"}},[_vm._v(\"Go back to home\")])],1)],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import Vue from \"vue\";\r\n import Component from \"vue-class-component\";\r\n import ApiButton from \"@/components/ApiButton.vue\";\r\n import { ApiClient } from \"@/utilities/ApiClient\";\r\n import { Route } from \"vue-router\";\r\n import { Watch } from \"vue-property-decorator\";\r\n import { required } from \"vuelidate/lib/validators\";\r\n import { Validations } from \"vuelidate-property-decorators\";\r\n import SlideUpDown from \"vue-slide-up-down\";\r\n import * as toastr from \"toastr\";\r\n\r\n interface IResetPassword {\r\n key: string;\r\n state: StateType;\r\n email: string;\r\n password: string;\r\n passwordRepeat: string;\r\n message: string;\r\n }\r\n\r\n enum StateType {\r\n None = 0,\r\n Ready = 1,\r\n Expired = 2,\r\n Success = 3,\r\n ValidationFailed = 4,\r\n Failed = 5\r\n }\r\n\r\n @Component({\r\n components: { SlideUpDown, ApiButton }\r\n })\r\n export default class ResetPassword extends Vue {\r\n\r\n //\r\n // -- lifecycle hooks, etc.\r\n //\r\n\r\n mounted() {\r\n this.onKeyChanged(this.$router.currentRoute.params.key);\r\n console.log(\"@@@ mounted - key = \" + this.resetPassword.key);\r\n }\r\n\r\n // if the group ID changes in the URL, the component *will not* reload - so we need to handle it here\r\n @Watch(\"$route\", { immediate: true, deep: true })\r\n onRouteChanged(route: Route) {\r\n this.onKeyChanged(route.params.key);\r\n console.log(\"@@@ Route changed - key = \" + this.resetPassword.key);\r\n }\r\n\r\n //\r\n // -- properties\r\n //\r\n\r\n resetPassword: IResetPassword = {\r\n key: \"\",\r\n state: StateType.None,\r\n email: \"\",\r\n password: \"\",\r\n passwordRepeat: \"\",\r\n message: \"\"\r\n };\r\n\r\n get isMessage(): boolean {\r\n return !!this.resetPassword.message;\r\n }\r\n\r\n get messageVariant(): string {\r\n if (this.resetPassword.state === StateType.Expired) return \"warning\";\r\n if (this.resetPassword.state === StateType.Failed) return \"danger\";\r\n if (this.resetPassword.state === StateType.ValidationFailed) return \"danger\";\r\n return \"primary\";\r\n }\r\n\r\n get shouldShowForm(): boolean {\r\n return this.resetPassword.state === StateType.None ||\r\n this.resetPassword.state === StateType.Ready ||\r\n this.resetPassword.state === StateType.Failed ||\r\n this.resetPassword.state === StateType.ValidationFailed;\r\n }\r\n\r\n //get isNew(): boolean {\r\n // return this.resetPassword.userStatus !== UserStatus.Active;\r\n //}\r\n\r\n //\r\n // -- methods\r\n //\r\n\r\n private async onKeyChanged(key: string) {\r\n if (this.resetPassword.key === key) return;\r\n this.resetPassword.key = key; \r\n const response: IResetPassword = await ApiClient.post(\"/api/authentication/resetPasswordInit\", this.resetPassword);\r\n this.resetPassword = response;\r\n this.$v.$reset();\r\n this.resetPassword.passwordRepeat = \"\";\r\n }\r\n\r\n async submit() {\r\n this.$v.$touch();\r\n if (this.$v.resetPassword.$invalid) {\r\n toastr.info(\"Please fix the highlighted errors.\");\r\n return;\r\n }\r\n const response: IResetPassword = await ApiClient.post(\"/api/authentication/resetPassword\", this.resetPassword);\r\n this.resetPassword = response;\r\n }\r\n\r\n @Validations()\r\n validations() {\r\n return {\r\n resetPassword: {\r\n password: { required },\r\n passwordRepeat: {\r\n passwordsMatch: (passwordRepeat: string, model: IResetPassword) => passwordRepeat === model.password\r\n }\r\n }\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!./ResetPassword.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!./ResetPassword.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResetPassword.vue?vue&type=template&id=20cf12c8&scoped=true&\"\nimport script from \"./ResetPassword.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResetPassword.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ResetPassword.vue?vue&type=style&index=0&id=20cf12c8&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 \"20cf12c8\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/vue-style-loader/index.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/postcss-loader/src/index.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=style&index=0&id=20cf12c8&prod&scoped=true&lang=css&\"","// style-loader: Adds some css to the DOM by adding a