{"version":3,"sources":["webpack:///./src/views/ResetPassword.vue?ed36","webpack:///./src/views/ResetPassword.vue","webpack:///./src/views/ResetPassword.vue?5762","webpack:///./src/views/ResetPassword.vue?b6df","webpack:///./node_modules/vuetify/lib/components/VForm/VForm.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","model","value","callback","$$v","show","expression","_v","staticClass","on","hideDialog","formValid","_e","passwordChanged","showPwd","passwordRules","errors","$event","newPassword","passwordCompareRules","passwordCompare","resetPassword","staticRenderFns","loading","linkCode","window","location","href","newValue","oldValue","LinkCode","NewPassword","btoa","rules","v","immediate","components","component","VBtn","VCard","VContainer","VDialog","VForm","VIcon","VSpacer","VTextField","VToolbar","VToolbarTitle","extend","name","form","inheritAttrs","props","disabled","Boolean","lazyValidation","readonly","data","inputs","watchers","errorBag","watch","val","Object","values","includes","$emit","deep","methods","input","watcher","$watch","$set","_uid","valid","shouldValidate","hasOwnProperty","filter","validate","length","forEach","reset","resetErrorBag","setTimeout","resetValidation","push","watchInput","found","find","i","unwatch","$delete","h","novalidate","attrs$","submit","e","$slots","default"],"mappings":"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","file":"js/resetpassword.635d5cc2.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"500px\",\"min-width\":\"350\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-toolbar',{attrs:{\"dense\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(\"Nulstilling af kodeord\")]),_c('v-spacer'),_c('v-btn',{staticClass:\"mr-1\",attrs:{\"icon\":\"\"},on:{\"click\":_vm.hideDialog}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card',{staticClass:\"ma-0 pa-2\"},[_c('v-form',{model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[(_vm.passwordChanged)?_c('v-container',{staticClass:\"ma-0 pa-0 text-center\"},[_c('p',[_vm._v(\"Kodeordet er skiftet. Du skal logge ind med det nye kodeord.\")])]):_vm._e(),(!_vm.passwordChanged)?_c('v-container',{staticClass:\"ma-0 pa-0\"},[_c('v-text-field',{attrs:{\"append-icon\":_vm.showPwd ? 'mdi-eye-off' : 'mdi-eye',\"rules\":_vm.passwordRules,\"type\":_vm.showPwd ? 'text' : 'password',\"error-messages\":_vm.errors,\"label\":\"Nyt kodeord\",\"required\":\"\"},on:{\"click:append\":function($event){_vm.showPwd = !_vm.showPwd}},model:{value:(_vm.newPassword),callback:function ($$v) {_vm.newPassword=$$v},expression:\"newPassword\"}})],1):_vm._e(),(!_vm.passwordChanged)?_c('v-container',{staticClass:\"ma-0 pa-0\"},[_c('v-text-field',{attrs:{\"append-icon\":_vm.showPwd ? 'mdi-eye-off' : 'mdi-eye',\"rules\":_vm.passwordCompareRules,\"error-messages\":_vm.errors,\"type\":_vm.showPwd ? 'text' : 'password',\"label\":\"Kodeord (gentaget)\",\"required\":\"\"},on:{\"click:append\":function($event){_vm.showPwd = !_vm.showPwd}},model:{value:(_vm.passwordCompare),callback:function ($$v) {_vm.passwordCompare=$$v},expression:\"passwordCompare\"}})],1):_vm._e(),_c('v-container',{staticClass:\"ma-0 pa-0 text-right\"},[(!_vm.passwordChanged)?_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":!_vm.formValid},on:{\"click\":_vm.resetPassword}},[_vm._v(\" Nulstil kodeord \")]):_vm._e()],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { ApiProfile } from '../scripts/apiProfile';\nimport * as lib from '@/scripts/apiHelper.ts';\nimport * as rules from '@/scripts/rules.ts';\n\n@Component({\n components: {}\n})\nexport default class ResetPassword extends Vue {\n private show = true;\n private loading = false;\n private errors = '';\n\n private linkCode = '';\n\n private formValid = false;\n private passwordCompare = '';\n private newPassword = '';\n private showPwd = false;\n private passwordChanged = false;\n\n public created(): void {\n this.formValid = false;\n }\n\n private hideDialog(): void {\n this.show = false;\n // Redirect to front page\n if (this.passwordChanged) {\n window.location.href = '#/Logout';\n } else {\n window.location.href = '/';\n }\n }\n\n @Watch('$route.query.linkcode', { immediate: true })\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n private async getLink(newValue: string, oldValue: string): Promise {\n // Get link code from url\n if (newValue) {\n this.linkCode = newValue;\n }\n }\n\n private async resetPassword(): Promise {\n this.loading = true;\n try {\n await ApiProfile.resetPassword({\n LinkCode: this.linkCode,\n NewPassword: btoa(this.newPassword)\n });\n this.passwordChanged = true;\n } catch (error) {\n this.errors = lib.getErrorMessage(error);\n this.passwordChanged = false;\n } finally {\n this.loading = false;\n }\n }\n\n get passwordRules(): ((v: string) => boolean | string)[] {\n return rules.passwordRules();\n }\n\n get passwordCompareRules(): ((v: string) => boolean | string)[] {\n return [\n (v: string): boolean | string => !!v || 'Kodeord skal angives',\n (): boolean | string => this.passwordCompare === this.newPassword || 'Kodeord er ikke ens'\n ];\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-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--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-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=cd2ce28e&\"\nimport script from \"./ResetPassword.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResetPassword.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VContainer,VDialog,VForm,VIcon,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","// Mixins\nimport mixins from '../../util/mixins';\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport { provide as RegistrableProvide } from '../../mixins/registrable';\n/* @vue/component */\n\nexport default mixins(BindsAttrs, RegistrableProvide('form')\n/* @vue/component */\n).extend({\n name: 'v-form',\n\n provide() {\n return {\n form: this\n };\n },\n\n inheritAttrs: false,\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean\n },\n data: () => ({\n inputs: [],\n watchers: [],\n errorBag: {}\n }),\n watch: {\n errorBag: {\n handler(val) {\n const errors = Object.values(val).includes(true);\n this.$emit('input', !errors);\n },\n\n deep: true,\n immediate: true\n }\n },\n methods: {\n watchInput(input) {\n const watcher = input => {\n return input.$watch('hasError', val => {\n this.$set(this.errorBag, input._uid, val);\n }, {\n immediate: true\n });\n };\n\n const watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {}\n };\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', val => {\n if (!val) return; // Only watch if we're not already doing it\n\n if (this.errorBag.hasOwnProperty(input._uid)) return;\n watchers.valid = watcher(input);\n });\n } else {\n watchers.valid = watcher(input);\n }\n\n return watchers;\n },\n\n /** @public */\n validate() {\n return this.inputs.filter(input => !input.validate(true)).length === 0;\n },\n\n /** @public */\n reset() {\n this.inputs.forEach(input => input.reset());\n this.resetErrorBag();\n },\n\n resetErrorBag() {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {};\n }, 0);\n }\n },\n\n /** @public */\n resetValidation() {\n this.inputs.forEach(input => input.resetValidation());\n this.resetErrorBag();\n },\n\n register(input) {\n this.inputs.push(input);\n this.watchers.push(this.watchInput(input));\n },\n\n unregister(input) {\n const found = this.inputs.find(i => i._uid === input._uid);\n if (!found) return;\n const unwatch = this.watchers.find(i => i._uid === found._uid);\n\n if (unwatch) {\n unwatch.valid();\n unwatch.shouldValidate();\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid);\n this.inputs = this.inputs.filter(i => i._uid !== found._uid);\n this.$delete(this.errorBag, found._uid);\n }\n\n },\n\n render(h) {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$\n },\n on: {\n submit: e => this.$emit('submit', e)\n }\n }, this.$slots.default);\n }\n\n});\n//# sourceMappingURL=VForm.js.map"],"sourceRoot":""}