{"version":3,"sources":["webpack:///./src/views/bankaccounts/BankAccountChangeNotes.vue?62a0","webpack:///./src/models/bankaccounts/BankAccountChangeNotesRequestModel.ts","webpack:///./src/views/bankaccounts/BankAccountChangeNotes.vue","webpack:///./src/views/bankaccounts/BankAccountChangeNotes.vue?c5e6","webpack:///./src/views/bankaccounts/BankAccountChangeNotes.vue?2360","webpack:///../../../src/components/VTextarea/VTextarea.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","name","_v","params","bankAccountId","authorized","_e","ref","model","value","callback","$$v","notes","expression","processing","on","saveClick","_l","e","index","key","_s","staticRenderFns","$store","state","selectedBankAccount","authorizedOperations","BankAccountOperations","CHANGE_NOTES","isFormValid","resetProcessingValues","request","api","BankAccountsApi","changeNotesAsync","member","jwt","$router","push","toString","handleProcessingErrorAsync","form","$refs","changeBankAccountNotesForm","validate","ViewBase","default","required","component","VAlert","VBtn","VCard","VCardText","VCardTitle","VCol","VContainer","VForm","VIcon","VRow","VTextarea","baseMixins","props","autoGrow","noResize","rowHeight","type","Number","validator","v","isNaN","parseFloat","rows","parseInt","computed","classes","noResizeHandle","watch","lazyValue","$nextTick","mounted","setTimeout","methods","calculateInputHeight","input","height","minHeight","Math","genInput","onInput","onKeyDown","isFocused"],"mappings":"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","file":"js/chunk-0f795b24.0fce092e.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"xs\":\"12\",\"sm\":\"9\",\"md\":\"9\",\"lg\":\"6\"}},[_c('router-link',{staticClass:\"mr-2\",attrs:{\"to\":{name: 'memberbankaccounts'}}},[_vm._v(\"Bank Accounts\")]),_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-forward\")]),_c('router-link',{staticClass:\"ml-2\",attrs:{\"to\":{name: 'bankaccountdashboard', params:{bankAccountId: _vm.bankAccountId}}}},[_vm._v(\"Bank Account\")])],1)],1),_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"xs\":\"12\",\"sm\":\"9\",\"md\":\"9\",\"lg\":\"6\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline justify-center\"},[_vm._v(\"CHANGE NOTES\")]),_c('v-card-text',{staticClass:\"mt-2 black--text\"},[(!_vm.authorized)?_c('div',{staticClass:\"text-center\"},[_c('v-alert',{attrs:{\"type\":\"error\",\"outlined\":\"\"}},[_vm._v(\"Changing the bank account notes is not authorized.\")])],1):_vm._e(),(_vm.authorized)?_c('div',[_c('v-form',{ref:\"changeBankAccountNotesForm\",staticClass:\"px-3\"},[_c('v-textarea',{staticClass:\"mb-3\",attrs:{\"label\":\"Notes\",\"maxlength\":\"256\",\"autofocus\":\"\",\"prepend-icon\":\"mdi-clipboard-text\",\"hint\":\"For your security do not include any actual bank account numbers or names in the notes.\",\"persistent-hint\":\"\"},model:{value:(_vm.notes),callback:function ($$v) {_vm.notes=$$v},expression:\"notes\"}}),_c('div',{staticClass:\"text-center\"},[_c('v-btn',{staticClass:\"primary\",attrs:{\"loading\":_vm.processing},on:{\"click\":_vm.saveClick}},[_vm._v(\"SAVE\")])],1),(_vm.processingError)?_c('div',{staticClass:\"text-center mt-4\"},_vm._l((_vm.processingErrors),function(e,index){return _c('div',{key:index},[_c('v-alert',{attrs:{\"value\":true,\"type\":\"error\",\"outlined\":\"\"}},[_vm._v(_vm._s(e))])],1)}),0):_vm._e()],1)],1):_vm._e()])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nexport default class BankAccountChangeNotesRequestModel {\r\n public notes: string = '';\r\n}\r\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\r\nimport {Component, Prop, Vue} from 'vue-property-decorator';\r\nimport ViewBase from '@/views/ViewBase';\r\nimport {BankAccountOperations} from '@/enums/BankAccountOperations';\r\nimport BankAccountsApi from '@/apis/BankAccountsApi';\r\nimport BankAccountChangeNotesRequestModel from '@/models/bankaccounts/BankAccountChangeNotesRequestModel';\r\n\r\n@Component({\r\n name: 'BankAccountChangeNotes',\r\n },\r\n)\r\nexport default class BankAccountChangeNotes extends ViewBase {\r\n @Prop({default: 0, required: true})\r\n public bankAccountId!: number;\r\n\r\n public notes: string = '';\r\n public authorized: boolean = false;\r\n\r\n public created() {\r\n if ( this.$store.state.selectedBankAccount.authorizedOperations & BankAccountOperations.CHANGE_NOTES )\r\n {\r\n this.authorized = true;\r\n this.notes = this.$store.state.selectedBankAccount.notes;\r\n }\r\n }\r\n\r\n public async saveClick() {\r\n\r\n if ( this.isFormValid() ) {\r\n try {\r\n this.resetProcessingValues();\r\n\r\n const request = new BankAccountChangeNotesRequestModel();\r\n request.notes = this.notes;\r\n\r\n const api = new BankAccountsApi();\r\n const response = await api.changeNotesAsync(this.bankAccountId, this.$store.state.member.jwt, request);\r\n\r\n await this.$router.push({name: 'bankaccountdashboard', params: { bankAccountId: this.bankAccountId.toString(10)}});\r\n }\r\n catch ( err ) {\r\n await this.handleProcessingErrorAsync(err);\r\n }\r\n finally {\r\n this.processing = false;\r\n }\r\n }\r\n }\r\n\r\n private isFormValid(): boolean {\r\n const form: any = this.$refs.changeBankAccountNotesForm;\r\n\r\n return form.validate();\r\n }\r\n\r\n}\r\n\r\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!./BankAccountChangeNotes.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!./BankAccountChangeNotes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BankAccountChangeNotes.vue?vue&type=template&id=03d2ea99&\"\nimport script from \"./BankAccountChangeNotes.vue?vue&type=script&lang=ts&\"\nexport * from \"./BankAccountChangeNotes.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 { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardText,VCardTitle,VCol,VContainer,VForm,VIcon,VRow,VTextarea})\n","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n"],"sourceRoot":""}