{"version":3,"sources":["webpack:///./src/components/buttons/Button/index.vue?c8d3","webpack:///src/components/buttons/Button/index.vue","webpack:///./src/components/buttons/Button/index.vue?18df","webpack:///./src/components/buttons/Button/index.vue","webpack:///./src/pages/Management/accounts/budgetbuilder/List.vue?60ce","webpack:///./src/components/BudgetModal.vue?ff9c","webpack:///src/components/BudgetModal.vue","webpack:///./src/components/BudgetModal.vue?8801","webpack:///./src/components/BudgetModal.vue","webpack:///./src/pages/Management/accounts/budgetbuilder/keys/methods.js","webpack:///./src/pages/Management/accounts/budgetbuilder/keys/data.js","webpack:///src/pages/Management/accounts/budgetbuilder/List.vue","webpack:///./src/pages/Management/accounts/budgetbuilder/List.vue?6a3e","webpack:///./src/pages/Management/accounts/budgetbuilder/List.vue","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./src/components/BudgetAmountModal/index.vue?c795","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./src/pages/Management/accounts/budgetbuilder/List.vue?a2d3","webpack:///./src/pages/Management/accounts/budgetbuilder/budgetamounts/List.vue?bc86","webpack:///./src/components/BudgetModal.vue?174f","webpack:///./src/components/Accounting/BudgetAccount/index.vue?b40e","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./node_modules/core-js/modules/es.number.is-nan.js","webpack:///./src/pages/Management/accounts/budgetbuilder/budgetaccounts/List.vue?a64b","webpack:///./src/services/blobutility.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./src/services/Budgets/store.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./src/pages/Management/accounts/budgetbuilder/budgetamounts/List.vue?2384","webpack:///./src/components/BudgetAmountModal/index.vue?37ad","webpack:///src/components/BudgetAmountModal/index.vue","webpack:///./src/components/BudgetAmountModal/index.vue?86b0","webpack:///./src/components/BudgetAmountModal/index.vue","webpack:///./src/pages/Management/accounts/budgetbuilder/budgetamounts/keys/methods.js","webpack:///./src/pages/Management/accounts/budgetbuilder/budgetamounts/keys/data.js","webpack:///src/pages/Management/accounts/budgetbuilder/budgetamounts/List.vue","webpack:///./src/pages/Management/accounts/budgetbuilder/budgetamounts/List.vue?dc5d","webpack:///./src/pages/Management/accounts/budgetbuilder/budgetamounts/List.vue","webpack:///./src/pages/Management/accounts/budgetbuilder/budgetaccounts/List.vue?cf0e","webpack:///./src/components/Accounting/BudgetAccount/index.vue?fd75","webpack:///./src/components/Accounting/BudgetAccount/keys/data.js","webpack:///./src/components/Accounting/BudgetAccount/keys/methods.js","webpack:///src/components/Accounting/BudgetAccount/index.vue","webpack:///./src/components/Accounting/BudgetAccount/index.vue?d376","webpack:///./src/components/Accounting/BudgetAccount/index.vue","webpack:///./src/pages/Management/accounts/budgetbuilder/budgetaccounts/keys/methods.js","webpack:///./src/pages/Management/accounts/budgetbuilder/budgetaccounts/keys/data.js","webpack:///src/pages/Management/accounts/budgetbuilder/budgetaccounts/List.vue","webpack:///./src/pages/Management/accounts/budgetbuilder/budgetaccounts/List.vue?494c","webpack:///./src/pages/Management/accounts/budgetbuilder/budgetaccounts/List.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","visible","undefined","class","isprimary","attrs","tooltip","disabled","on","$event","preventDefault","onClick","apply","arguments","_v","_s","text","_e","staticRenderFns","props","component","filters","budgetTableList","columns","pagination","scopedSlots","_u","key","fn","staticStyle","$t","staticClass","show","style","styles","toggleFilters","paddingBottom","createBudgetModal","proxy","toggle","selectedBudget","buttonText","ref","handleSubmit","onFormSubmit","model","value","formData","callback","$$v","$set","expression","loading","errors","notifyError","e","duration","message","position","type","fiscalYear","budgetName","isAuthoritative","name","budget","Object","components","ValidInput","ValidationObserver","ValidationProvider","data","formComplete","isDebug","selectedRow","formRow","padding","whiteSpace","created","computed","mounted","budgetID","console","debug","JSON","stringify","BudgetName","IsAuthoritative","$refs","form","reset","year","parseInt","methods","getPayload","hoaId","numberOfPeriods","payload","Toast","open","confirmDeleteBudget","id","isAuthoratative","$buefy","dialog","confirm","title","confirmText","hasIcon","onConfirm","deleteBudget","confirmCopyBudget","copyFromBudget","prompt","inputAttrs","placeHolder","maxlength","trapFocus","copyBudget","determineBudgetRows","budgetList","map","i","budgetId","_get","tempIsAuthoratative","copy","Button","testsid","account","processAccountDetail","edit","processBudgetUpdate","erase","log","reload","$store","dispatch","then","$router","push","params","done","Number","isNaN","length","hoaID","field","width","display","paddingRight","textAlign","budgetFiscalYear","perPage","label","aria","numeric","sortable","searchable","filterButton","float","marginTop","amountField","assign","PageContentLayoutOnly","ModernTable","Modal","BudgetModal","watch","$emit","i18n","messages","en","root","now","Date","module","exports","$","$trim","trim","forcedStringTrimMethod","target","proto","forced","reWhitespace","trimmedEndIndex","string","index","test","charAt","reTrimStart","baseTrim","slice","replace","stat","number","base64toBlob","b64Data","contentType","sliceSize","byteCharacters","atob","byteArrays","offset","byteNumbers","Array","charCodeAt","byteArray","Uint8Array","blob","Blob","showPdf","newBlob","window","navigator","msSaveOrOpenBlob","URL","createObjectURL","link","document","createElement","download","setAttribute","href","downloadPdf","click","setTimeout","revokeObjectURL","showAnyType","mimeType","isObject","toNumber","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","debounce","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","clearTimeout","flush","debounced","isInvoking","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","other","valueOf","isBinary","actions","getPeriodsByFiscalYear","kms","get","results","list","notifyProblem","error","getCurrentEffectiveBudget","runBudgetSummaryBase64Report","format","returned","runBudgetDetailBase64Report","getBudgetAmountsList","budgetAccountID","totals","totalAmountBudgeted","totalLastActuals","totalLastBudgeted","budgetAmountTotals","budgetAmountsList","list2","Vue","use","Vuex","budgetStore","Store","state","mutations","getters","fails","whitespaces","non","METHOD_NAME","budgetAmountsTableList","alignItems","marginBottom","returnToParent","budgetAccountName","editBudgetAmountModal","_f","budgetAccountId","fiscalYearPeriodList","periods","breakpoint","applied","confirmApplyToAll","_l","c","periodNumber","monthName","monthYear","amount","directives","rawName","amountId","domProps","composing","amountPeriod","justifyContent","budgetAmountList","maxPeriods","accountType","fiscalPeriodLength","getGlExpenseDropDown","container","loadingComponent","close","budgetAmountID","preventNonNumericKeyPress","event","charCode","checkValidNumberFormat","numberInput","determineBudgetAmountRows","filterPeriod","filter","f","periodName","startDate","moment","endDate","amountBudgeted","lastActual","lastBudgeted","lastActualsPer","formatter","Intl","NumberFormat","currency","minimumFractionDigits","$route","budgetid","selectedBudgetAmount","formatDateFn","toString","BudgetAmountModal","budgetAccountsTableList","createBudgetAccountModal","viewBudgetSummaryReport","viewBudgetDetailReport","currentYearTotalExpense","currentYearTotalExpensePerMonth","currentYearTotalExpensePerUnitPerMonth","currentYearTotalIncome","currentYearTotalIncomePerMonth","currentYearTotalIncomePerUnitPerMonth","currentYearTotalAssessedIncome","currentYearTotalAssessedIncomePerMonth","currentYearTotalAssessedIncomePerUnitPerMonth","selectedBudgetAccount","option","isFetching","openOnFocus","getAsyncData","selected","glExpenseFilterQuery","PRESET_FORM_VALUES","freeze","note","glAccountId","glExpenseDropDownList","includes","budgetAccount","glAccountID","Note","hasExpenseOnly","isValidWithNoDuplicateGls","updateGlAccountID","accountInfo","budgetAccountTotals","budgetAccountsList","matchedDuplicate","glAccount","accountId","matchedGlAccountID","accountNumber","subAccountNumber","padStart","description","duplicateGlAccountInfo","updatePayload","ValidationError","setErrors","fields","toLowerCase","getMoreAsyncData","ValidSelect","glExpenseFilterSuggestions","confirmDeleteBudgetAccount","deleteBudgetAccount","determineBudgetAccountRows","category","accountName","twelveMonthActual","previousYearBudget","budgeted","budgetedPerMonth","budgetedUnitPerMonth","unitPerMonth","processAmountDetail","processBudgetAccountUpdate","fundType","BudgetAccount"],"mappings":"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","file":"js/budgetbuilder.52673957.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return ((_vm.visible && _vm.visible === true) || _vm.visible === undefined)?_c('b-button',{class:_vm.isprimary !== undefined && _vm.isprimary === true\n ? 'button is-primary is-small is-outline is-rounded'\n : 'button is-info is-light is-small is-outline is-rounded',attrs:{\"title\":_vm.tooltip,\"disabled\":_vm.disabled && _vm.disabled !== undefined && _vm.disabled === true},on:{\"click\":function($event){$event.preventDefault();return _vm.onClick.apply(null, arguments)}}},[_vm._v(_vm._s(_vm.text))]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=036d99d6&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('PageContentLayoutOnly',[_c('ModernTable',{attrs:{\"filters\":_vm.filters,\"rows\":_vm.budgetTableList,\"columns\":_vm.columns,\"pagination\":_vm.pagination},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('h3',{staticStyle:{\"display\":\"inline-block\"}},[_vm._v(_vm._s(_vm.$t('budgetBuilder.title')))]),_c('div',{staticClass:\"p-2\"},[_c('b-button',{class:'filter-button ' + (_vm.filters.show ? 'active' : ''),style:(_vm.styles.filterButton),attrs:{\"type\":\"is-ghost\"},on:{\"click\":_vm.toggleFilters}},[_c('b-icon',{staticStyle:{\"display\":\"inline-block\"},attrs:{\"pack\":\"mdi\",\"icon\":\"filter-outline\",\"size\":\"is-small\"}}),_c('div',{staticStyle:{\"display\":\"inline-block\"}},[_vm._v(\"Filter\")])],1)],1),_c('nav',{staticClass:\"level\",style:({ paddingBottom: '20px' })},[_c('div',{staticClass:\"level-left\"},[_c('b-button',{attrs:{\"tests-id\":\"create-budgetbuilder-button\",\"size\":\"is-small\",\"type\":\"is-primary\",\"rounded\":\"\"},on:{\"click\":function($event){return _vm.createBudgetModal()}}},[_vm._v(\" Create Budget \")])],1)])]},proxy:true}])}),_c('Modal',{attrs:{\"toggle\":_vm.toggle},on:{\"update:toggle\":function($event){_vm.toggle=$event}}},[_c('BudgetModal',{attrs:{\"toggle\":_vm.toggle,\"budget\":_vm.selectedBudget}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.buttonText == 'Update')?_c('div',{staticClass:\"is-size-4\"},[_vm._v(\"Update Budget\")]):_c('div',{staticClass:\"is-size-4\"},[_vm._v(\"Create Budget\")]),_c('div',[_c('ValidationObserver',{ref:\"form\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\",\"appear\":\"\"}},[_c('form',{staticClass:\"form\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.onFormSubmit)}}},[_c('fieldset',[_c('div',{staticClass:\"column is-12\",style:(_vm.styles.formRow)},[_c('b-field',{attrs:{\"label\":\"Fiscal Year\"}},[_c('b-numberinput',{attrs:{\"name\":\"FiscalYear\",\"vid\":\"fiscalYear\",\"required\":\"\"},model:{value:(_vm.formData.fiscalYear),callback:function ($$v) {_vm.$set(_vm.formData, \"fiscalYear\", $$v)},expression:\"formData.fiscalYear\"}})],1)],1),_c('div',{staticClass:\"column is-12\"},[_c('valid-input',{staticClass:\"is-small\",staticStyle:{\"width\":\"50px !important\"},attrs:{\"id\":\"cypressBudgetName\",\"name\":\"BudgetName\",\"label\":\"Budget Name\",\"maxlength\":\"100\",\"type\":\"text\",\"vid\":\"budgetName\",\"placeholder\":\"Budget Name\",\"spellcheck\":\"true\",\"aria-label\":\"BudgetName\",\"rules\":\"max:100|required\"},model:{value:(_vm.formData.BudgetName),callback:function ($$v) {_vm.$set(_vm.formData, \"BudgetName\", $$v)},expression:\"formData.BudgetName\"}})],1),_c('div',{staticClass:\"column is-12\"},[_c('b-checkbox',{staticClass:\"has-left-text\",model:{value:(_vm.formData.IsAuthoritative),callback:function ($$v) {_vm.$set(_vm.formData, \"IsAuthoritative\", $$v)},expression:\"formData.IsAuthoritative\"}},[_vm._v(\"Authoritative\")])],1),_c('div',{staticClass:\"pb-5 pt-5\"},[_c('button',{staticClass:\"button is-primary is-rounded\",attrs:{\"type\":\"submit\",\"tests-id\":\"budgetbuilder-modal-button\",\"disabled\":_vm.loading}},[_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")])])]),_c('fieldset',[_c('ValidationProvider',{attrs:{\"vid\":\"providerErrors\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('div',{staticClass:\"field\"},[_c('span',[_vm._v(_vm._s(errors[0]))])])]}}],null,true)})],1)])])]}}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BudgetModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BudgetModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BudgetModal.vue?vue&type=template&id=1bd0ce23&\"\nimport script from \"./BudgetModal.vue?vue&type=script&lang=js&\"\nexport * from \"./BudgetModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BudgetModal.vue?vue&type=style&index=0&lang=scss&\"\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","import Button from '@/components/buttons/Button'\r\nimport _get from 'lodash/get'\r\nimport { ToastProgrammatic as Toast } from 'buefy'\r\n\r\nfunction notifyError(e) {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-danger'\r\n })\r\n}\r\n\r\nexport const methods = {\r\n toggleFilters: function() {\r\n this.filters.show = !this.filters.show\r\n },\r\n\r\n confirmDeleteBudget(id, name, isAuthoratative) {\r\n this.$buefy.dialog.confirm({\r\n title: 'Deleting Budget',\r\n message: `Are you sure you want to delete the Budget for, \"${name}\"?`,\r\n confirmText: 'Delete Budget',\r\n type: 'is-danger',\r\n hasIcon: true,\r\n onConfirm: () => this.deleteBudget(id, isAuthoratative)\r\n })\r\n },\r\n\r\n confirmCopyBudget(copyFromBudget) {\r\n this.$buefy.dialog.prompt({\r\n message: `Are you sure you want to copy the Budget for, \"${copyFromBudget.name}\"?`,\r\n inputAttrs: {\r\n placeHolder: 'New Fiscal Year',\r\n maxlength: 4\r\n },\r\n confirmText: 'Copy',\r\n trapFocus: true,\r\n onConfirm: value => this.copyBudget(copyFromBudget, value)\r\n })\r\n },\r\n\r\n determineBudgetRows() {\r\n if (this.isDebug == true) console.debug('determineBudgetRows()...')\r\n\r\n if (this.budgetList) {\r\n this.budgetTableList = this.budgetList.map(i => {\r\n var budgetId = _get(i, 'budgetID', '')\r\n var tempIsAuthoratative = _get(i, 'isAuthoritative', false)\r\n var isAuthoritative = tempIsAuthoratative && tempIsAuthoratative == true ? 'Yes' : 'No'\r\n var budgetName = _get(i, 'name', '')\r\n\r\n return {\r\n fiscalYear: _get(i, 'fiscalYear', 0),\r\n name: budgetName,\r\n isAuthoritative: isAuthoritative,\r\n copy: {\r\n component: Button,\r\n props: {\r\n onClick: () => {\r\n this.confirmCopyBudget(i)\r\n },\r\n text: 'Copy',\r\n testsid: 'copy-budgetbuilder-button'\r\n }\r\n },\r\n account: {\r\n component: Button,\r\n props: {\r\n onClick: () => {\r\n this.processAccountDetail(i)\r\n },\r\n text: 'Accounts'\r\n }\r\n },\r\n edit: {\r\n component: Button,\r\n props: {\r\n onClick: () => {\r\n this.processBudgetUpdate(i)\r\n },\r\n text: 'Edit'\r\n }\r\n },\r\n erase: {\r\n component: Button,\r\n props: {\r\n onClick: () => {\r\n this.confirmDeleteBudget(budgetId, budgetName, tempIsAuthoratative)\r\n },\r\n text: 'Delete',\r\n visible: !tempIsAuthoratative\r\n }\r\n }\r\n }\r\n })\r\n } else {\r\n console.log('else determineBudgetRows...')\r\n }\r\n },\r\n\r\n async reload() {\r\n this.loading = true\r\n\r\n try {\r\n this.$store.dispatch('budgets/getBudgetList').then(() => {\r\n this.determineBudgetRows()\r\n })\r\n } catch (e) {\r\n console.debug('error in method for retrieving budgets:' + e)\r\n }\r\n\r\n this.loading = false\r\n },\r\n\r\n processBudgetUpdate(budget) {\r\n this.toggle = true\r\n this.selectedBudget = budget\r\n },\r\n\r\n processAccountDetail(budget) {\r\n this.$router.push({\r\n name: 'budgetaccounts',\r\n params: {\r\n id: budget.budgetID,\r\n name: budget.name,\r\n fiscalYear: budget.fiscalYear\r\n }\r\n })\r\n },\r\n\r\n createBudgetModal() {\r\n if (this.isDebug == true) console.debug('in createBudgetModal...')\r\n this.selectedBudget = null\r\n this.toggle = true\r\n },\r\n\r\n async deleteBudget(budgetId, isAuthoratative) {\r\n if (this.isDebug == true) console.debug('...in deleteBudget id=' + budgetId)\r\n\r\n if (isAuthoratative == true) {\r\n notifyError('You cannot delete an authoratative budget.')\r\n return\r\n }\r\n\r\n if (budgetId <= 0) {\r\n notifyError('There was a problem deleting this budget.')\r\n return\r\n }\r\n\r\n try {\r\n this.$store.dispatch('budgets/deleteBudget', {\r\n budgetID: budgetId,\r\n done: () => {\r\n this.loading = false\r\n this.reload()\r\n }\r\n })\r\n } catch (e) {\r\n console.debug('There was an issue deleting your budget.')\r\n }\r\n\r\n this.loading = false\r\n },\r\n\r\n async copyBudget(copyFromBudget, fiscalYear) {\r\n if (!copyFromBudget || copyFromBudget == undefined) {\r\n notifyError('There was a problem duplicating this budget.')\r\n return\r\n }\r\n\r\n if (Number.isNaN(fiscalYear) || fiscalYear.length != 4) {\r\n notifyError('Your new fiscal year must be a number and a year.')\r\n return\r\n }\r\n\r\n if (this.isDebug == true)\r\n console.debug(\r\n '...in copyBudget' + JSON.stringify(copyFromBudget) + ', fiscalYear=' + fiscalYear\r\n )\r\n\r\n const payload = {\r\n budgetID: copyFromBudget.budgetID,\r\n hoaID: copyFromBudget.hoaID,\r\n fiscalYear: fiscalYear,\r\n name: copyFromBudget.name + ' COPY'\r\n }\r\n\r\n try {\r\n this.$store.dispatch('budgets/copyBudget', {\r\n payload: payload,\r\n done: () => {\r\n this.loading = false\r\n this.reload()\r\n }\r\n })\r\n } catch (e) {\r\n console.debug('There was an issue copying this budget.')\r\n }\r\n\r\n this.loading = false\r\n }\r\n}\r\n","var field = {\r\n width: '100px',\r\n display: 'inline-block',\r\n paddingRight: '6px',\r\n textAlign: 'left'\r\n}\r\n\r\nexport const data = () => ({\r\n isDebug: true,\r\n toggle: false,\r\n loading: false,\r\n selectedBudget: null,\r\n budgetFiscalYear: 0,\r\n budgetTableList: [],\r\n\r\n filters: {\r\n show: true\r\n },\r\n\r\n pagination: {\r\n perPage: 10\r\n },\r\n\r\n columns: [\r\n {\r\n field: 'fiscalYear',\r\n label: 'Year',\r\n aria: 'Year',\r\n width: '10%',\r\n numeric: true,\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'name',\r\n label: 'Budget Name',\r\n width: '70%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'isAuthoritative',\r\n label: 'Authoritative',\r\n width: '5%',\r\n sortable: true,\r\n searchable: true\r\n }\r\n ],\r\n\r\n styles: {\r\n formRow: {\r\n padding: '10px',\r\n whiteSpace: 'nowrap'\r\n },\r\n filterButton: {\r\n float: 'right',\r\n marginTop: '4px'\r\n },\r\n amountField: Object.assign({}, field, {\r\n width: '125px'\r\n })\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=45ee972e&scoped=true&\"\nimport script from \"./List.vue?vue&type=script&lang=js&\"\nexport * from \"./List.vue?vue&type=script&lang=js&\"\nimport style0 from \"./List.vue?vue&type=style&index=0&id=45ee972e&lang=scss&scoped=true&\"\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 \"45ee972e\",\n null\n \n)\n\nexport default component.exports","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=style&index=0&id=45ee972e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=style&index=0&id=45ee972e&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=style&index=0&id=578ee0f8&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=style&index=0&id=578ee0f8&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BudgetModal.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BudgetModal.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.github.io/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=style&index=0&id=68e2f5f5&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=style&index=0&id=68e2f5f5&lang=scss&scoped=true&\"","/*\r\n import { base64toBlob, showPdf } from '@/services/blobutility'\r\n*/\r\n\r\nexport const base64toBlob = (b64Data, contentType) => {\r\n const sliceSize = 512\r\n const byteCharacters = atob(b64Data)\r\n const byteArrays = []\r\n\r\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n const slice = byteCharacters.slice(offset, offset + sliceSize)\r\n\r\n const byteNumbers = new Array(slice.length)\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i)\r\n }\r\n\r\n const byteArray = new Uint8Array(byteNumbers)\r\n byteArrays.push(byteArray)\r\n }\r\n\r\n const blob = new Blob(byteArrays, { type: contentType })\r\n return blob\r\n}\r\n\r\nexport const showPdf = blob => {\r\n var newBlob = new Blob([blob], { type: 'application/pdf' })\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(newBlob)\r\n } else {\r\n const data = window.URL.createObjectURL(newBlob)\r\n\r\n var link = document.createElement('a')\r\n link.download = 'download.pdf'\r\n link.setAttribute('download', 'download.pdf')\r\n link.href = data\r\n\r\n window.open(link, '_blank')\r\n }\r\n\r\n return\r\n}\r\n\r\nexport const downloadPdf = blob => {\r\n var newBlob = new Blob([blob], { type: 'application/pdf' })\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(newBlob)\r\n } else {\r\n const data = window.URL.createObjectURL(newBlob)\r\n var link = document.createElement('a')\r\n link.download = 'download.pdf'\r\n link.setAttribute('download', 'download.pdf')\r\n link.href = data\r\n link.click()\r\n\r\n setTimeout(function() {\r\n window.URL.revokeObjectURL(data)\r\n 100\r\n })\r\n }\r\n\r\n return\r\n}\r\n\r\nexport const showAnyType = (blob, mimeType) => {\r\n console.debug('showAnyType...')\r\n var newBlob = new Blob([blob], { type: mimeType })\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(newBlob)\r\n } else {\r\n const data = window.URL.createObjectURL(newBlob)\r\n var link = document.createElement('a')\r\n link.href = data\r\n\r\n window.open(data, '_blank')\r\n\r\n setTimeout(function() {\r\n window.URL.revokeObjectURL(data)\r\n 100\r\n })\r\n }\r\n\r\n return\r\n}\r\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","/*\r\n import { budgetStore } from '@/services/Budgets/store'\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nimport { notifyProblem } from '@/services/notify'\r\nimport kms from '@/services/kms'\r\n\r\nconst isDebug = true\r\n\r\n/* eslint-disable no-empty-pattern */\r\nconst actions = {\r\n /*\r\n const { list } = await budgetStore.dispatch ('getBudgetList', {\r\n hoaId\r\n });\r\n */\r\n\r\n //Fical year periods List\r\n async getPeriodsByFiscalYear({}, { hoaID, fiscalYear }) {\r\n try {\r\n const params = {\r\n hoaID: hoaID,\r\n year: fiscalYear\r\n }\r\n\r\n const results = await kms.get(\r\n '/GeneralAccounting/FiscalYear/AccountingPeriodsForFiscalYear',\r\n { params }\r\n )\r\n\r\n if (isDebug == true) console.debug('getPeriodsByFiscalYear=' + JSON.stringify(results))\r\n\r\n return {\r\n list: results\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The Periods By Fiscal Year list could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n\r\n //Fical year periods List\r\n async getCurrentEffectiveBudget({}, { hoaID }) {\r\n try {\r\n const params = {\r\n hoaID: hoaID\r\n }\r\n\r\n const results = await kms.get('/Budgets/Budget/GetEffectiveBudgetByDate', { params })\r\n\r\n if (isDebug == true) console.debug('getCurrentEffectiveBudget=' + JSON.stringify(results))\r\n\r\n return {\r\n list: results\r\n }\r\n } catch (exception) {\r\n console.debug(`The CurrentEffectiveBudget could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n\r\n async runBudgetSummaryBase64Report({}, { params }) {\r\n console.log('in runBudgetSummaryBase64Report...')\r\n try {\r\n const result = await kms.get(\r\n `/Budgets/Reports/BudgetSummaryReport/GetAsBaseSixtyFour?hoaID=${params.hoaID}&budgetID=${params.budgetID}&format=${params.format}`\r\n )\r\n\r\n if (isDebug == true)\r\n console.debug('runBudgetSummaryBase64Report log=' + JSON.stringify(result))\r\n\r\n return {\r\n returned: result\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The budget summary report could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n returned: ''\r\n }\r\n },\r\n\r\n async runBudgetDetailBase64Report({}, { params }) {\r\n console.log('in runBudgetDetailBase64Report...')\r\n try {\r\n const result = await kms.get(\r\n `/Budgets/Reports/BudgetDetailReport/GetAsBaseSixtyFour?hoaID=${params.hoaID}&budgetID=${params.budgetID}&format=${params.format}`\r\n )\r\n\r\n if (isDebug == true)\r\n console.debug('runBudgetDetailBase64Report log=' + JSON.stringify(result))\r\n\r\n return {\r\n returned: result\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The budget detail report could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n returned: ''\r\n }\r\n },\r\n\r\n //Budget Amount List\r\n async getBudgetAmountsList({}, { hoaID, budgetAccountID }) {\r\n try {\r\n const params = {\r\n hoaID: hoaID,\r\n budgetAccountID: budgetAccountID\r\n }\r\n\r\n const returned = await kms.get('/Budgets/BudgetAmount/ListWithTotals', { params })\r\n\r\n const totals = {\r\n totalAmountBudgeted: returned.totalAmountBudgeted,\r\n totalLastActuals: returned.totalLastActuals,\r\n totalLastBudgeted: returned.totalLastBudgeted\r\n }\r\n\r\n let results = { budgetAmountTotals: totals, budgetAmountsList: returned }\r\n\r\n if (isDebug == true) console.debug('getBudgetAmountsList=' + JSON.stringify(results))\r\n\r\n return {\r\n list2: results\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The Budget Amount list could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n list2: []\r\n }\r\n }\r\n}\r\n/* eslint-enable no-empty-pattern */\r\n\r\nVue.use(Vuex)\r\nexport const budgetStore = new Vuex.Store({\r\n state: {},\r\n mutations: {},\r\n getters: {},\r\n actions\r\n})\r\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('PageContentLayoutOnly',[_c('ModernTable',{attrs:{\"filters\":_vm.filters,\"rows\":_vm.budgetAmountsTableList,\"columns\":_vm.columns,\"pagination\":_vm.pagination},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"level\"},[_c('div',{staticClass:\"level-left level-item title\"},[_vm._v(_vm._s(_vm.$t('budgetAmounts.title')))]),_c('div',{staticClass:\"level-right\",style:({ display: 'flex', alignItems: 'center' })},[_c('div',{staticClass:\"level-item\",style:({ marginBottom: 0 })},[_c('svg',{attrs:{\"width\":\"30\",\"height\":\"30\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M15 19l-7-7 7-7\"}})])]),_c('div',{staticClass:\"level-item\"},[_c('b-button',{attrs:{\"label\":\"Back to Budget Accounts\"},on:{\"click\":function($event){$event.preventDefault();return _vm.returnToParent()}}})],1)])]),_c('div',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.budgetAccountName || ''))]),_c('div',{staticClass:\"p-2\"},[_c('b-button',{class:'filter-button ' + (_vm.filters.show ? 'active' : ''),style:(_vm.styles.filterButton),attrs:{\"type\":\"is-ghost\"},on:{\"click\":_vm.toggleFilters}},[_c('b-icon',{staticStyle:{\"display\":\"inline-block\"},attrs:{\"pack\":\"mdi\",\"icon\":\"filter-outline\",\"size\":\"is-small\"}}),_c('div',{staticStyle:{\"display\":\"inline-block\"}},[_vm._v(\"Filter\")])],1)],1),_c('nav',{staticClass:\"level\",style:({ marginBottom: '12px' })},[_c('div',{staticClass:\"level-left\"},[_c('b-button',{attrs:{\"tests-id\":\"edit-budgetamount-button\",\"size\":\"is-small\",\"type\":\"is-primary\",\"rounded\":\"\"},on:{\"click\":function($event){return _vm.editBudgetAmountModal()}}},[_vm._v(\" Edit Budget Amounts \")])],1)])]},proxy:true}])}),(_vm.totals && _vm.totals != undefined)?_c('div',{staticClass:\"pt-5 box\",staticStyle:{\"background-color\":\"#f8f9fa\"}},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"font-bold column\"}),_c('div',{staticClass:\"font-bold column\"}),_c('div',{staticClass:\"font-bold column pl-6\"}),_c('div',{staticClass:\"font-bold column has-text-right\"},[_vm._v(\" Budgeted \")]),_c('div',{staticClass:\"font-bold column has-text-right\"},[_vm._v(\" Last Actual \")]),_c('div',{staticClass:\"font-bold column has-text-right\"},[_vm._v(\" Last Budgeted \")]),_c('div',{staticClass:\"font-bold column\"}),_c('div',{staticClass:\"font-bold column\"})]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"font-bold column\"}),_c('div',{staticClass:\"font-bold column\"}),_c('div',{staticClass:\"font-bold column pl-6 has-text-right\"},[_vm._v(\"Totals:\")]),_c('div',{staticClass:\"column has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")((\"\" + (_vm.totals.totalAmountBudgeted || 0))))+\" \")]),_c('div',{staticClass:\"column has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")((\"\" + (_vm.totals.totalLastActuals || 0))))+\" \")]),_c('div',{staticClass:\"column has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")((\"\" + (_vm.totals.totalLastBudgeted || 0))))+\" \")]),_c('div',{staticClass:\"font-bold column\"}),_c('div',{staticClass:\"font-bold column\"})])]):_vm._e(),_c('Modal',{attrs:{\"toggle\":_vm.toggle},on:{\"update:toggle\":function($event){_vm.toggle=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\"Budget Amount Editor\")]},proxy:true}])},[_c('BudgetAmountModal',{attrs:{\"toggle\":_vm.toggle,\"budgetAccountID\":parseInt(_vm.budgetAccountId),\"budgetAmountList\":_vm.budgetAmountsList && _vm.budgetAmountsList != undefined ? _vm.budgetAmountsList : null,\"budgetFiscalYear\":parseInt(_vm.budgetFiscalYear)}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',[(_vm.buttonText == 'Update')?_c('div',{staticClass:\"is-size-4\"},[_vm._v(\"Update Budget Amounts\")]):_vm._e(),(\n _vm.fiscalYearPeriodList &&\n _vm.fiscalYearPeriodList != undefined &&\n _vm.fiscalYearPeriodList.periods &&\n _vm.fiscalYearPeriodList.periods != undefined\n )?_c('div',{staticClass:\"is-12\"},[_c('ValidationObserver',{ref:\"form\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var handleSubmit = ref.handleSubmit;\nreturn [_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\",\"appear\":\"\"}},[_c('form',{staticClass:\"form\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.onFormSubmit)}}},[(_vm.breakpoint === 'desktop')?_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-2\",attrs:{\"aria-label\":\"Period #\"}},[_c('label',{staticClass:\"label\"},[_vm._v(\"Period #\")])]),_c('div',{staticClass:\"column is-3\",attrs:{\"aria-label\":\"Period\"}},[_c('label',{staticClass:\"label\"},[_vm._v(\"Period\")])]),_c('div',{staticClass:\"column is-3\",attrs:{\"aria-label\":\"Period\"}},[_c('label',{staticClass:\"label\"},[_vm._v(\"Year\")])]),_c('div',{staticClass:\"column is-3\",attrs:{\"aria-label\":\"Amount\"}},[_c('label',{staticClass:\"label\"},[_vm._v(\"Amount\")])])]):_vm._e(),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-8 is-right\"},[_c('valid-input',{staticClass:\"is-small\",attrs:{\"name\":\"ApplyToAllAmount\",\"type\":\"text\",\"vid\":\"ApplyToAllAmount\",\"placeholder\":\"Apply to All Periods\",\"aria-label\":\"Apply to All Periods\",\"onkeypress\":\"return (event.charCode >= 48 || event.charCode == 46) && event.charCode <= 57\"},model:{value:(_vm.applied),callback:function ($$v) {_vm.applied=$$v},expression:\"applied\"}})],1),_c('div',{staticClass:\"column is-3\"},[_c('b-button',{attrs:{\"type\":\"btn btn-outline-secondary btn-sm is-small is-right\"},on:{\"click\":function($event){return _vm.confirmApplyToAll()}}},[_vm._v(\"Apply to All Periods\")])],1)]),_vm._l((_vm.fiscalYearPeriodList.periods),function(c,index){return _c('div',{key:index,class:_vm.breakpoint !== 'desktop' ? 'card' : '',style:({ marginBottom: '12px', padding: '8px' }),attrs:{\"fiscal-year-period\":\"\"}},[_c('fieldset',[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-2\",attrs:{\"aria-label\":\"Period #\"}},[(_vm.breakpoint !== 'desktop')?_c('label',{staticClass:\"label\"},[_vm._v(\"Period #\")]):_vm._e(),_c('valid-input',{staticClass:\"is-small\",attrs:{\"tests-id\":\"input-period-number\",\"aria-readonly\":true,\"aria-disabled\":true,\"disabled\":\"true\",\"name\":\"PeriodNumber\",\"type\":\"text\",\"vid\":\"PeriodNumber\",\"placeholder\":\"Period #\",\"aria-label\":\"Period #\",\"value\":c.periodNumber}})],1),_c('div',{staticClass:\"column is-3\"},[(_vm.breakpoint !== 'desktop')?_c('label',{staticClass:\"label\"},[_vm._v(\"Period\")]):_vm._e(),_c('valid-input',{staticClass:\"is-small\",attrs:{\"aria-readonly\":true,\"aria-disabled\":true,\"disabled\":\"true\",\"name\":\"Period\",\"type\":\"text\",\"vid\":\"Period\",\"placeholder\":\"Period\",\"aria-label\":\"Period\",\"value\":c.monthName}})],1),_c('div',{staticClass:\"column is-3\"},[(_vm.breakpoint !== 'desktop')?_c('label',{staticClass:\"label\"},[_vm._v(\"Year\")]):_vm._e(),_c('valid-input',{staticClass:\"is-small\",attrs:{\"aria-readonly\":true,\"aria-disabled\":true,\"disabled\":\"true\",\"name\":\"Year\",\"type\":\"text\",\"vid\":\"Year\",\"placeholder\":\"Year\",\"aria-label\":\"Year\",\"value\":c.monthYear}})],1),_c('div',{staticClass:\"column is-3\"},[(_vm.breakpoint !== 'desktop')?_c('label',{staticClass:\"label\"},[_vm._v(\"Amount\")]):_vm._e(),_c('valid-input',{staticClass:\"is-small\",attrs:{\"name\":(\"Amount\" + (c.budgetAmountID)),\"type\":\"text\",\"vid\":(\"Amount\" + (c.budgetAmountID)),\"placeholder\":\"Amount\",\"aria-label\":\"TestAmount\",\"rules\":\"required\",\"value\":c.amount,\"onkeypress\":\"return (event.charCode >= 48 || event.charCode == 46) && event.charCode <= 57\"},model:{value:(_vm.form.amount[index]),callback:function ($$v) {_vm.$set(_vm.form.amount, index, $$v)},expression:\"form.amount[index]\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form.amountId[index]),expression:\"form.amountId[index]\"}],attrs:{\"type\":\"hidden\"},domProps:{\"value\":(_vm.form.amountId[index])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.form.amountId, index, $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form.amountPeriod[index]),expression:\"form.amountPeriod[index]\"}],attrs:{\"type\":\"hidden\"},domProps:{\"value\":(_vm.form.amountPeriod[index])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.form.amountPeriod, index, $event.target.value)}}})],1)])])])}),_c('div',{staticClass:\"pb-5 pr-6\",style:({ display: 'flex', justifyContent: 'end' })},[_c('button',{staticClass:\"button is-primary is-rounded\",attrs:{\"type\":\"submit\",\"disabled\":_vm.loading}},[_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")])]),_c('fieldset',[_c('ValidationProvider',{attrs:{\"vid\":\"providerErrors\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var errors = ref.errors;\nreturn [_c('div',{staticClass:\"field\"},[_c('span',[_vm._v(_vm._s(errors[0]))])])]}}],null,true)})],1)],2)])]}}],null,false,668936961)})],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=3ae84f49&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\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","import _get from 'lodash/get'\r\nimport moment from 'moment'\r\nimport { budgetStore } from '@/services/Budgets/store'\r\nimport { notifyError } from '@/services/notify'\r\n\r\nexport const methods = {\r\n toggleFilters: function() {\r\n this.filters.show = !this.filters.show\r\n },\r\n\r\n determineBudgetAmountRows() {\r\n if (this.isDebug == true) console.debug('determineBudgetAmountRows()...')\r\n\r\n if (\r\n this.budgetAmountsList != undefined &&\r\n this.budgetAmountsList &&\r\n this.budgetAmountsList != null\r\n ) {\r\n try {\r\n this.budgetAmountsTableList = this.budgetAmountsList.map(i => {\r\n if (i) {\r\n console.debug('in determineBudgetAmountRows..' + JSON.stringify(i))\r\n\r\n var periodNumber = _get(i, 'periodNumber', 0)\r\n\r\n console.debug(\r\n 'in this.fiscalYearPeriodList...' + JSON.stringify(this.fiscalYearPeriodList)\r\n )\r\n\r\n const filterPeriod =\r\n this.fiscalYearPeriodList &&\r\n this.fiscalYearPeriodList != undefined &&\r\n this.fiscalYearPeriodList.periods &&\r\n this.fiscalYearPeriodList.periods != undefined\r\n ? this.fiscalYearPeriodList.periods.filter(f => f.periodNumber == periodNumber)\r\n : null\r\n\r\n if (this.isDebug == true) console.debug('filterPeriod=' + JSON.stringify(filterPeriod))\r\n\r\n var periodName =\r\n filterPeriod && filterPeriod != undefined && filterPeriod[0]\r\n ? filterPeriod[0].name\r\n : ''\r\n var startDate =\r\n filterPeriod && filterPeriod != undefined && filterPeriod[0]\r\n ? moment(filterPeriod[0].startDate).format('MM/DD/YYYY')\r\n : ''\r\n var endDate =\r\n filterPeriod && filterPeriod != undefined && filterPeriod[0]\r\n ? moment(filterPeriod[0].endDate).format('MM/DD/YYYY')\r\n : ''\r\n var amountBudgeted = _get(i, 'amount', 0)\r\n var lastActual = _get(i, 'lastActualsAmount', 0)\r\n var lastBudgeted = _get(i, 'lastBudgetAmount', 0)\r\n var lastActualsPer = _get(i, 'lastActualsPeriod', 0)\r\n\r\n var formatter = new Intl.NumberFormat('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n minimumFractionDigits: 2\r\n })\r\n\r\n return {\r\n periodNumber: periodNumber,\r\n periodName: periodName,\r\n startDate: startDate,\r\n endDate: endDate,\r\n amountBudgeted: formatter.format(amountBudgeted),\r\n lastActual: formatter.format(lastActual),\r\n lastBudgeted: formatter.format(lastBudgeted),\r\n lastActualsPer: lastActualsPer\r\n }\r\n }\r\n })\r\n } catch (e) {\r\n console.debug(e)\r\n }\r\n } else {\r\n console.log('else determineBudgetAmountRows...')\r\n }\r\n\r\n console.debug('this.budgetAmountsTableList=' + JSON.stringify(this.budgetAmountsTableList))\r\n },\r\n\r\n async reload() {\r\n if (!this.budgetAccountId || this.budgetAccountId == 0) {\r\n this.budgetAccountId =\r\n this.$route.params.id && this.$route.params != undefined\r\n ? parseInt(this.$route.params.id)\r\n : 0\r\n }\r\n\r\n console.debug('budgetAccountId=' + this.budgetAccountId)\r\n\r\n if (this.budgetFiscalYear == 0) {\r\n this.budgetFiscalYear =\r\n this.$route.params != undefined && this.$route.params.budgetFiscalYear\r\n ? this.$route.params.budgetFiscalYear\r\n : 0\r\n }\r\n\r\n console.debug('budgetFiscalYear=' + this.budgetFiscalYear)\r\n\r\n if (this.budgetId == 0) {\r\n this.budgetId =\r\n this.$route.params && this.$route.params != undefined\r\n ? parseInt(this.$route.params.budgetid)\r\n : 0\r\n }\r\n\r\n if (this.budgetAccountName == '') {\r\n this.budgetAccountName =\r\n this.$route.params && this.$route.params != undefined\r\n ? `Budget Account: ${this.$route.params.name}`\r\n : ''\r\n }\r\n\r\n if (this.budgetName == '') {\r\n this.budgetName =\r\n this.$route.params && this.$route.params != undefined\r\n ? `${this.$route.params.budgetName}`\r\n : ''\r\n }\r\n\r\n console.log('params=' + JSON.stringify(this.$route.params))\r\n\r\n this.budgetAmountsTableList = []\r\n this.totals = {}\r\n\r\n this.loading = true\r\n\r\n const loadingComponent = this.$buefy.loading.open({\r\n container: null\r\n })\r\n\r\n if (this.budgetAccountId && this.budgetAccountId > 0 && this.budgetFiscalYear) {\r\n try {\r\n await budgetStore\r\n .dispatch('getPeriodsByFiscalYear', {\r\n hoaID: this.hoaId,\r\n fiscalYear: parseInt(this.budgetFiscalYear)\r\n })\r\n .then(async ({ list }) => {\r\n console.debug('list=' + JSON.stringify(list))\r\n\r\n if (list) {\r\n this.fiscalYearPeriodList = list\r\n\r\n console.debug(\r\n 'this.fiscalYearPeriodList=' + JSON.stringify(this.fiscalYearPeriodList)\r\n )\r\n\r\n await budgetStore\r\n .dispatch('getBudgetAmountsList', {\r\n hoaID: this.hoaId,\r\n budgetAccountID: this.budgetAccountId\r\n })\r\n .then(({ list2 }) => {\r\n if (list2) {\r\n this.budgetAmountTotals = list2.budgetAmountTotals\r\n this.budgetAmountsList = list2.budgetAmountsList.results\r\n\r\n console.debug('budgetAmountsList=' + JSON.stringify(this.budgetAmountsList))\r\n\r\n this.determineBudgetAmountRows()\r\n\r\n if (this.isDebug == true)\r\n console.debug(\r\n 'this.budgetAmountTotals=' + JSON.stringify(this.budgetAmountTotals)\r\n )\r\n if (this.budgetAmountTotals && this.budgetAmountTotals != undefined) {\r\n this.totals = this.budgetAmountTotals\r\n }\r\n }\r\n })\r\n }\r\n })\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n } else {\r\n if (this.isDebug == true) console.debug('reload this.budgetAccountID <= 0')\r\n }\r\n\r\n loadingComponent.close()\r\n\r\n this.loading = false\r\n },\r\n\r\n returnToParent() {\r\n console.debug('return to budgetaccounts=' + this.budgetFiscalYear)\r\n this.$router.push({\r\n name: 'budgetaccounts',\r\n params: {\r\n id: this.budgetId,\r\n name: this.budgetName,\r\n fiscalYear: this.budgetFiscalYear\r\n }\r\n })\r\n },\r\n\r\n editBudgetAmountModal() {\r\n this.toggle = true\r\n }\r\n}\r\n","import moment from 'moment'\r\n\r\nvar field = {\r\n width: '100px',\r\n display: 'inline-block',\r\n paddingRight: '6px',\r\n textAlign: 'left'\r\n}\r\n\r\nexport const data = () => ({\r\n isDebug: true,\r\n toggle: false,\r\n loading: false,\r\n selectedBudgetAmount: null,\r\n budgetAmountsTableList: [],\r\n budgetAccountId: 0,\r\n budgetId: 0,\r\n budgetAccountName: '',\r\n budgetName: '',\r\n budgetFiscalYear: 0,\r\n budgetAmountsList: [],\r\n budgetAmountTotals: null,\r\n fiscalYearPeriodList: [],\r\n totals: {},\r\n formatDateFn: function(value) {\r\n return value && value != undefined\r\n ? moment(value.toString(), 'YYYY/MM/DD HH:mm:ss')\r\n .format('MM-DD-YYYY')\r\n .toString()\r\n : ''\r\n },\r\n\r\n filters: {\r\n show: false\r\n },\r\n\r\n pagination: {\r\n perPage: 12\r\n },\r\n\r\n columns: [\r\n {\r\n field: 'periodNumber',\r\n label: 'Period #',\r\n aria: 'Period #',\r\n width: '10%',\r\n numeric: true,\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'periodName',\r\n label: 'Period Name',\r\n aria: 'Period Name',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'startDate',\r\n label: 'Start Date',\r\n aria: 'Start Date',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'endDate',\r\n label: 'End Date',\r\n aria: 'End Date',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'amountBudgeted',\r\n label: 'Amount Budgeted',\r\n aria: 'Amount Budgeted',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'lastActual',\r\n label: 'Last Actual',\r\n aria: 'Last Actual',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'lastBudget',\r\n label: 'Last Budgeted',\r\n aria: 'Last Budgeted',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'lastActualsPer',\r\n label: 'Last Actuals Per.',\r\n aria: 'Last Actuals Per.',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n }\r\n ],\r\n\r\n styles: {\r\n formRow: {\r\n padding: '10px',\r\n whiteSpace: 'nowrap'\r\n },\r\n filterButton: {\r\n float: 'right',\r\n marginTop: '4px'\r\n },\r\n amountField: Object.assign({}, field, {\r\n width: '125px'\r\n })\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=578ee0f8&scoped=true&\"\nimport script from \"./List.vue?vue&type=script&lang=js&\"\nexport * from \"./List.vue?vue&type=script&lang=js&\"\nimport style0 from \"./List.vue?vue&type=style&index=0&id=578ee0f8&lang=scss&scoped=true&\"\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 \"578ee0f8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('PageContentLayoutOnly',[_c('ModernTable',{attrs:{\"filters\":_vm.filters,\"rows\":_vm.budgetAccountsTableList,\"columns\":_vm.columns,\"pagination\":_vm.pagination},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"level\"},[_c('div',{staticClass:\"level-left level-item title\"},[_vm._v(_vm._s(_vm.$t('budgetAccounts.title')))]),_c('div',{staticClass:\"level-right\",style:({ display: 'flex', alignItems: 'center' })},[_c('div',{staticClass:\"level-item\",style:({ marginBottom: 0 })},[_c('svg',{attrs:{\"width\":\"30\",\"height\":\"30\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M15 19l-7-7 7-7\"}})])]),_c('div',{staticClass:\"level-item\"},[_c('b-button',{attrs:{\"label\":\"Back to Budget Builder\"},on:{\"click\":function($event){$event.preventDefault();return _vm.returnToParent()}}})],1)])]),_c('div',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.budgetName || ''))]),_c('nav',{staticClass:\"level\",style:({ marginBottom: '12px' })},[_c('span',[_c('b-button',{attrs:{\"tests-id\":\"modal-budgetaccount-button\",\"size\":\"is-small\",\"type\":\"is-primary\",\"rounded\":\"\"},on:{\"click\":function($event){return _vm.createBudgetAccountModal()}}},[_vm._v(\" Create Budget Account \")]),_c('span',{staticClass:\"pl-3\"}),_c('b-button',{attrs:{\"size\":\"is-small\",\"type\":\"is-primary\",\"rounded\":\"\"},on:{\"click\":function($event){return _vm.viewBudgetSummaryReport()}}},[_vm._v(\" Budget Summary Report \")]),_c('span',{staticClass:\"pl-3\"}),_c('b-button',{attrs:{\"size\":\"is-small\",\"type\":\"is-primary\",\"rounded\":\"\"},on:{\"click\":function($event){return _vm.viewBudgetDetailReport()}}},[_vm._v(\" Budget Detail Report \")])],1),_vm._v(\" > \"),_c('b-button',{class:'filter-button ' + (_vm.filters.show ? 'active' : ''),style:(_vm.styles.filterButton),attrs:{\"type\":\"is-ghost\"},on:{\"click\":_vm.toggleFilters}},[_c('b-icon',{staticStyle:{\"display\":\"inline-block\"},attrs:{\"pack\":\"mdi\",\"icon\":\"filter-outline\",\"size\":\"is-small\"}}),_c('div',{staticStyle:{\"display\":\"inline-block\"}},[_vm._v(\"Filter\")])],1)],1)]},proxy:true}])}),(_vm.totals && _vm.totals != undefined)?_c('div',{staticClass:\"pt-5 box\",staticStyle:{\"background-color\":\"#f8f9fa\"}},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"font-bold column is-one-fifth\"}),_c('div',{staticClass:\"font-bold column is-one-fifth\"}),_c('div',{staticClass:\"font-bold column is-one-fifth has-text-right\"},[_vm._v(\" Budgeted \")]),_c('div',{staticClass:\"font-bold column is-one-fifth has-text-right\"},[_vm._v(\" Avg Per Month \")]),_c('div',{staticClass:\"font-bold column is-one-fifth has-text-right\"},[_vm._v(\" Avg Unit / Month \")])]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"font-bold column is-one-fifth\"}),_c('div',{staticClass:\"font-bold column is-one-fifth has-text-right\"},[_vm._v(\"Total Expense:\")]),_c('div',{staticClass:\"column is-one-fifth has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")((\"\" + (_vm.totals.currentYearTotalExpense || 0))))+\" \")]),_c('div',{staticClass:\"column is-one-fifth has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")((\"\" + (_vm.totals.currentYearTotalExpensePerMonth || 0))))+\" \")]),_c('div',{staticClass:\"column is-one-fifth has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")((\"\" + (_vm.totals.currentYearTotalExpensePerUnitPerMonth || 0))))+\" \")])]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"font-bold column is-one-fifth\"}),_c('div',{staticClass:\"font-bold column is-one-fifth has-text-right\"},[_vm._v(\"Total Income:\")]),_c('div',{staticClass:\"column is-one-fifth has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")((\"\" + (_vm.totals.currentYearTotalIncome || 0))))+\" \")]),_c('div',{staticClass:\"column is-one-fifth has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")((\"\" + (_vm.totals.currentYearTotalIncomePerMonth || 0))))+\" \")]),_c('div',{staticClass:\"column is-one-fifth has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")((\"\" + (_vm.totals.currentYearTotalIncomePerUnitPerMonth || 0))))+\" \")])]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"font-bold column is-one-fifth\"}),_c('div',{staticClass:\"font-bold column is-one-fifth has-text-right\"},[_vm._v(\"Total Assessed Income:\")]),_c('div',{staticClass:\"column is-one-fifth has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")((\"\" + (_vm.totals.currentYearTotalAssessedIncome || 0))))+\" \")]),_c('div',{staticClass:\"column is-one-fifth has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")((\"\" + (_vm.totals.currentYearTotalAssessedIncomePerMonth || 0))))+\" \")]),_c('div',{staticClass:\"column is-one-fifth has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")((\"\" + (_vm.totals.currentYearTotalAssessedIncomePerUnitPerMonth || 0))))+\" \")])])]):_vm._e(),_c('Modal',{attrs:{\"toggle\":_vm.toggle},on:{\"update:toggle\":function($event){_vm.toggle=$event}}},[_c('BudgetAccount',{attrs:{\"toggle\":_vm.toggle,\"budgetID\":parseInt(_vm.budgetId),\"budgetAccount\":_vm.selectedBudgetAccount}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.buttonText == 'Update')?_c('div',{staticClass:\"is-size-4\"},[_vm._v(\"Update Budget Account\")]):_c('div',{staticClass:\"is-size-4\"},[_vm._v(\"Create Budget Account\")]),_c('div',[_c('ValidationObserver',{ref:\"form\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\",\"appear\":\"\"}},[_c('form',{staticClass:\"form\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.onFormSubmit)}}},[_c('fieldset',[(_vm.accountTypeIncomeExpenseList)?_c('div',{staticClass:\"column is-8\"},[_c('valid-select',{attrs:{\"label\":\"Account Type\",\"placeholder\":\"Account Type\",\"vid\":\"accountType\",\"aria-required\":\"The account type is required\",\"rules\":\"required\"},model:{value:(_vm.accountType),callback:function ($$v) {_vm.accountType=$$v},expression:\"accountType\"}},_vm._l((_vm.accountTypeIncomeExpenseList),function(option){return _c('option',{key:option.value,domProps:{\"value\":option.value}},[_vm._v(_vm._s(option.label))])}),0)],1):_vm._e(),_c('div',{staticClass:\"column is-12\",attrs:{\"aria-label\":(\"Select G/L \" + _vm.accountType)}},[_c('label',{staticClass:\"label\"},[_vm._v(_vm._s((\"Select G/L \" + _vm.accountType)))]),_c('b-autocomplete',{attrs:{\"size\":\"is-small\",\"field\":\"label\",\"icon\":\"magnify\",\"loading\":_vm.isFetching,\"placeholder\":(\"e.g. G/L \" + _vm.accountType),\"data\":_vm.data,\"open-on-focus\":_vm.openOnFocus,\"required\":\"true\",\"rules\":\"required\"},on:{\"typing\":_vm.getAsyncData,\"select\":function (option) { return (_vm.selected = option); }},model:{value:(_vm.glExpenseFilterQuery),callback:function ($$v) {_vm.glExpenseFilterQuery=$$v},expression:\"glExpenseFilterQuery\"}})],1),_c('div',{staticClass:\"column is-12\"},[_c('valid-input',{staticClass:\"is-small\",staticStyle:{\"width\":\"50px !important\"},attrs:{\"name\":\"Note\",\"label\":\"Note\",\"maxlength\":\"8000\",\"type\":\"textarea\",\"vid\":\"Note\",\"placeholder\":\"Note\",\"spellcheck\":\"true\",\"aria-label\":\"Note\",\"rules\":\"max:8000|required\"},model:{value:(_vm.formData.Note),callback:function ($$v) {_vm.$set(_vm.formData, \"Note\", $$v)},expression:\"formData.Note\"}})],1),_c('div',{staticClass:\"pb-5\"},[_c('button',{staticClass:\"button is-primary is-rounded\",attrs:{\"tests-id\":\"save-budget-account-button\",\"type\":\"submit\",\"disabled\":_vm.loading}},[_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")])])]),_c('fieldset',[_c('ValidationProvider',{attrs:{\"vid\":\"providerErrors\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('div',{staticClass:\"field\"},[_c('span',[_vm._v(_vm._s(errors[0]))])])]}}],null,true)})],1)])])]}}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const PRESET_FORM_VALUES = Object.freeze({\r\n note: ''\r\n})\r\n//\r\nexport const data = function() {\r\n return {\r\n formComplete: false,\r\n formData: {\r\n ...PRESET_FORM_VALUES\r\n },\r\n loading: false,\r\n isDebug: true,\r\n selectedRow: null,\r\n buttonText: 'Add',\r\n accountType: '',\r\n openOnFocus: true,\r\n glExpenseFilterQuery: null,\r\n isFetching: false,\r\n data: [],\r\n styles: {\r\n formRow: {\r\n padding: '10px',\r\n whiteSpace: 'nowrap'\r\n }\r\n }\r\n }\r\n}\r\n","import $ from 'jquery'\r\nimport debounce from 'lodash/debounce'\r\n\r\nimport { ValidationError } from '@/services/errors'\r\nimport { notifyError } from '@/services/notify'\r\n\r\nexport const methods = {\r\n getPayload() {\r\n const glAccountId = this.glExpenseDropDownList.filter(i =>\r\n i.label.includes(this.glExpenseFilterQuery)\r\n )\r\n\r\n const payload = {\r\n budgetAccountID:\r\n this.budgetAccount &&\r\n this.budgetAccount != undefined &&\r\n this.budgetAccount.budgetAccountID &&\r\n this.budgetAccount.budgetAccountID != undefined\r\n ? this.budgetAccount.budgetAccountID\r\n : null,\r\n budgetID: this.budgetID && this.budgetID != undefined ? this.budgetID : 0,\r\n glAccountID: glAccountId[0] ? glAccountId[0].value : 0,\r\n note: this.formData.Note && this.formData.Note != undefined ? this.formData.Note : ''\r\n }\r\n\r\n return payload\r\n },\r\n getGlExpenseDropDown() {\r\n if (this.accountType && this.accountType != undefined) {\r\n this.$store\r\n .dispatch('accounting/getGlExpenseList', {\r\n accountType: this.accountType,\r\n hasExpenseOnly: false\r\n })\r\n .then(() => {\r\n if (this.glExpenseDropDownList && this.glExpenseDropDownList != undefined) {\r\n if (this.isDebug == true)\r\n console.debug('glExpenseDropDownList=' + JSON.stringify(this.glExpenseDropDownList))\r\n\r\n this.data = this.glExpenseDropDownList\r\n }\r\n })\r\n }\r\n },\r\n\r\n async isValidWithNoDuplicateGls(id, budgetID, updateGlAccountID) {\r\n let accountInfo = ''\r\n console.debug('updated gl id=' + updateGlAccountID)\r\n try {\r\n await this.$store\r\n .dispatch('budgets/getBudgetAccountsList', {\r\n budgetID: budgetID\r\n })\r\n .then(() => {\r\n if (this.budgetAccountTotals && this.budgetAccountTotals != undefined) {\r\n const results = this.budgetAccountsList.results\r\n const matchedDuplicate = results.filter(\r\n i => i.glAccount.accountId === id && i.glAccount.accountId !== updateGlAccountID\r\n )\r\n\r\n const matchedGlAccountID = matchedDuplicate[0] ? matchedDuplicate[0].glAccountID : 0\r\n console.debug(\r\n matchedGlAccountID + ', matchedDuplicate[0]=' + JSON.stringify(matchedDuplicate[0])\r\n )\r\n\r\n if (matchedGlAccountID > 0) {\r\n console.debug('matched greater than zero...')\r\n accountInfo = `${\r\n matchedDuplicate[0].glAccount.accountNumber\r\n }-${matchedDuplicate[0].glAccount.subAccountNumber.toString().padStart(3, '0')}-${\r\n matchedDuplicate[0].glAccount.description\r\n }`\r\n }\r\n }\r\n })\r\n } catch (e) {\r\n console.debug('error in method for retrieving budget accounts:' + e)\r\n }\r\n\r\n return accountInfo\r\n },\r\n\r\n async onFormSubmit() {\r\n if (\r\n !this.accountType ||\r\n this.accountType == undefined ||\r\n this.accountType == '' ||\r\n !this.budgetID ||\r\n this.budgetID == undefined ||\r\n !this.formData ||\r\n this.formData == undefined\r\n ) {\r\n notifyError('There was a problem submitting your budget account.')\r\n return\r\n }\r\n\r\n const glAccountId = this.glExpenseDropDownList.filter(i =>\r\n i.label.includes(this.glExpenseFilterQuery)\r\n )\r\n\r\n if (!glAccountId || glAccountId == undefined) {\r\n notifyError('Please select a G/L Account.')\r\n return\r\n }\r\n\r\n const payload = this.getPayload()\r\n\r\n const duplicateGlAccountInfo = await this.isValidWithNoDuplicateGls(\r\n payload.glAccountID,\r\n payload.budgetID,\r\n this.buttonText == 'Update' &&\r\n this.budgetAccount !== undefined &&\r\n this.budgetAccount.glAccount\r\n ? this.budgetAccount.glAccount.accountId\r\n : 0\r\n )\r\n console.debug(\r\n 'dup=' +\r\n duplicateGlAccountInfo +\r\n ' gl account id=' +\r\n payload.glAccountID +\r\n ' budgetID=' +\r\n payload.budgetID\r\n )\r\n\r\n if (duplicateGlAccountInfo.length > 0) {\r\n notifyError(\r\n `The GL account for ${duplicateGlAccountInfo} is already being used for a budget. Please choose another GL account.`\r\n )\r\n return\r\n }\r\n\r\n try {\r\n if (this.buttonText == 'Update') {\r\n const updatePayload = this.getPayload()\r\n await this.$store.dispatch('budgets/updateBudgetAccount', {\r\n payload: updatePayload,\r\n done: () => {\r\n // auto-close modal\r\n setTimeout(() => {\r\n this.$emit('update:toggle', (this.toggle = false))\r\n $('#clickclose').click()\r\n this.loading = false\r\n }, 1000)\r\n }\r\n })\r\n } else {\r\n //Add\r\n\r\n if (this.isDebug == true)\r\n console.debug(\r\n 'payload=' + JSON.stringify(payload) + ', formData=' + JSON.stringify(this.formData)\r\n )\r\n\r\n this.loading = true\r\n this.$store.dispatch('budgets/addBudgetAccount', {\r\n budgetID: payload.budgetID,\r\n glAccountID: payload.glAccountID,\r\n note: payload.note,\r\n done: () => {\r\n // auto-close modal\r\n setTimeout(() => {\r\n this.$emit('update:toggle', (this.toggle = false))\r\n $('#clickclose').click()\r\n this.loading = false\r\n }, 1000)\r\n }\r\n })\r\n }\r\n } catch (e) {\r\n // If this is a validation error, get the details for each field\r\n if (e instanceof ValidationError) {\r\n this.$refs.form.setErrors(e.fields)\r\n }\r\n\r\n notifyError('There was a problem submitting this budget account.')\r\n }\r\n this.loading = false\r\n },\r\n getAsyncData: debounce(function(name) {\r\n // String update\r\n if (this.name !== name) {\r\n this.name = name\r\n this.data = []\r\n }\r\n\r\n // String cleared\r\n if (!name.length) {\r\n this.data = this.glExpenseDropDownList\r\n return\r\n }\r\n\r\n this.isFetching = true\r\n if (this.isDebug == true) console.debug('this.name=' + this.name)\r\n\r\n if (this.glExpenseDropDownList && this.name) {\r\n this.data = this.glExpenseDropDownList.filter(i =>\r\n i.label.toLowerCase().includes(this.name.toLowerCase())\r\n )\r\n }\r\n this.isFetching = false\r\n }, 500),\r\n getMoreAsyncData: debounce(function() {\r\n this.getAsyncData(this.name)\r\n }, 250)\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=20dca0f2&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\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","import Button from '@/components/buttons/Button'\r\nimport _get from 'lodash/get'\r\nimport { ToastProgrammatic as Toast } from 'buefy'\r\nimport { base64toBlob, showPdf } from '@/services/blobutility'\r\nimport { budgetStore } from '@/services/Budgets/store'\r\n\r\nfunction notifyError(e) {\r\n Toast.open({\r\n duration: 7000,\r\n message: e.message || e,\r\n position: 'is-bottom',\r\n type: 'is-danger'\r\n })\r\n}\r\n\r\nexport const methods = {\r\n toggleFilters: function() {\r\n this.filters.show = !this.filters.show\r\n },\r\n\r\n confirmDeleteBudgetAccount(id, name) {\r\n this.$buefy.dialog.confirm({\r\n title: 'Deleting Budget Account',\r\n message: `Are you sure you want to delete the Budget Account for ${name}?`,\r\n confirmText: 'Delete Budget Account',\r\n type: 'is-danger',\r\n hasIcon: true,\r\n onConfirm: () => this.deleteBudgetAccount(id)\r\n })\r\n },\r\n\r\n determineBudgetAccountRows() {\r\n if (this.isDebug == true) console.debug('determineBudgetAccountRows()...')\r\n\r\n if (\r\n this.budgetAccountsList &&\r\n this.budgetAccountsList != undefined &&\r\n this.budgetAccountsList.results &&\r\n this.budgetAccountsList.results != undefined\r\n ) {\r\n this.budgetAccountsTableList = this.budgetAccountsList.results.map(i => {\r\n var budgetAccountId = _get(i, 'budgetAccountID', 0)\r\n var category = _get(i, 'glAccount.fundType', 0)\r\n var accountNumber = _get(i, 'glAccount.accountNumber', 0)\r\n var accountType = _get(i, 'glAccount.accountType', '')\r\n var accountName = _get(i, 'glAccount.description', '')\r\n var twelveMonthActual = _get(i, 'twelveMonthActualTotal', 0)\r\n var previousYearBudget = _get(i, 'previousYearAnnualBudgetTotal', 0)\r\n var budgeted = _get(i, 'currentYearAnnualBudgetTotal', 0)\r\n var budgetedPerMonth = _get(i, 'budgetedPerMonth', 0)\r\n var budgetedUnitPerMonth = _get(i, 'budgetedUnitPerMonth', 0)\r\n\r\n var formatter = new Intl.NumberFormat('en-US', {\r\n style: 'decimal',\r\n minimumFractionDigits: 2\r\n })\r\n\r\n return {\r\n accountNumber: accountNumber,\r\n category: category,\r\n accountType: accountType,\r\n accountName: accountName,\r\n twelveMonthActual: formatter.format(twelveMonthActual),\r\n previousYearBudget: formatter.format(previousYearBudget),\r\n budgeted: formatter.format(budgeted),\r\n budgetedPerMonth: formatter.format(budgetedPerMonth),\r\n unitPerMonth: formatter.format(budgetedUnitPerMonth),\r\n account: {\r\n component: Button,\r\n props: {\r\n onClick: () => {\r\n this.processAmountDetail(i)\r\n },\r\n text: 'Amounts'\r\n }\r\n },\r\n edit: {\r\n component: Button,\r\n props: {\r\n onClick: () => {\r\n this.processBudgetAccountUpdate(i)\r\n },\r\n text: 'Edit'\r\n }\r\n },\r\n erase: {\r\n component: Button,\r\n props: {\r\n onClick: () => {\r\n this.confirmDeleteBudgetAccount(budgetAccountId, accountName)\r\n },\r\n text: 'Delete'\r\n }\r\n }\r\n }\r\n })\r\n } else {\r\n console.log('else determineBudgetAccountRows...')\r\n }\r\n },\r\n\r\n async viewBudgetSummaryReport() {\r\n console.debug('viewBudgetSummaryReport...')\r\n const loadingComponent = this.$buefy.loading.open({\r\n container: null\r\n })\r\n\r\n const params = {\r\n hoaID: this.hoaId,\r\n budgetID: this.budgetId,\r\n format: 'PDF'\r\n }\r\n\r\n try {\r\n await budgetStore\r\n .dispatch('runBudgetSummaryBase64Report', {\r\n params\r\n })\r\n .then(({ returned }) => {\r\n loadingComponent.close()\r\n\r\n if (returned && returned != undefined) {\r\n if (this.isDebug == true) console.debug('base64pdf........................' + returned)\r\n\r\n const contentType = 'application/pdf'\r\n const blob = base64toBlob(returned, contentType)\r\n\r\n showPdf(blob)\r\n }\r\n return\r\n })\r\n } catch (e) {\r\n console.debug('error in method for retrieving the budget summary report: ' + e)\r\n }\r\n loadingComponent.close()\r\n },\r\n\r\n async viewBudgetDetailReport() {\r\n console.debug('viewBudgetDetailReport...')\r\n const loadingComponent = this.$buefy.loading.open({\r\n container: null\r\n })\r\n\r\n const params = {\r\n hoaID: this.hoaId,\r\n budgetID: this.budgetId,\r\n format: 'PDF'\r\n }\r\n\r\n try {\r\n await budgetStore\r\n .dispatch('runBudgetDetailBase64Report', {\r\n params\r\n })\r\n .then(({ returned }) => {\r\n loadingComponent.close()\r\n\r\n if (returned && returned != undefined) {\r\n if (this.isDebug == true) console.debug('base64pdf........................' + returned)\r\n\r\n const contentType = 'application/pdf'\r\n const blob = base64toBlob(returned, contentType)\r\n\r\n showPdf(blob)\r\n }\r\n return\r\n })\r\n } catch (e) {\r\n console.debug('error in method for retrieving the budget detail report: ' + e)\r\n }\r\n loadingComponent.close()\r\n },\r\n\r\n async reload() {\r\n if (this.isDebug == true) console.debug('route params=' + JSON.stringify(this.$route.params))\r\n\r\n if (this.budgetId == 0) {\r\n this.budgetId =\r\n this.$route.params && this.$route.params != undefined ? parseInt(this.$route.params.id) : 0\r\n }\r\n\r\n if (this.budgetName == '') {\r\n this.budgetName =\r\n this.$route.params && this.$route.params != undefined ? this.$route.params.name : ''\r\n }\r\n\r\n if (this.budgetFiscalYear == 0) {\r\n this.budgetFiscalYear =\r\n this.$route.params && this.$route.params != undefined ? this.$route.params.fiscalYear : 0\r\n }\r\n\r\n this.budgetAccountsTableList = []\r\n this.totals = {}\r\n\r\n this.loading = true\r\n\r\n if (this.budgetId && this.budgetId > 0) {\r\n try {\r\n this.$store\r\n .dispatch('budgets/getBudgetAccountsList', {\r\n budgetID: this.budgetId\r\n })\r\n .then(() => {\r\n this.determineBudgetAccountRows()\r\n\r\n if (this.isDebug == true)\r\n console.debug('this.budgetAccountTotals=' + JSON.stringify(this.budgetAccountTotals))\r\n if (this.budgetAccountTotals && this.budgetAccountTotals != undefined) {\r\n this.totals = this.budgetAccountTotals\r\n }\r\n })\r\n } catch (e) {\r\n console.debug('error in method for retrieving budget accounts:' + e)\r\n }\r\n } else {\r\n if (this.isDebug == true) console.debug('reload this.budgetID <= 0')\r\n }\r\n\r\n this.loading = false\r\n },\r\n\r\n returnToParent() {\r\n this.$router.push({\r\n name: 'budgetbuilder'\r\n })\r\n },\r\n\r\n processBudgetAccountUpdate(budgetAccount) {\r\n this.toggle = true\r\n this.selectedBudgetAccount = budgetAccount\r\n },\r\n\r\n processAmountDetail(budgetAccount) {\r\n const name = `${budgetAccount.glAccount.fundType} - ${budgetAccount.glAccount.accountNumber} - ${budgetAccount.glAccount.accountType} - ${budgetAccount.glAccount.description}`\r\n\r\n this.$router.push({\r\n name: 'budgetamounts',\r\n params: {\r\n id: budgetAccount.budgetAccountID,\r\n name: name,\r\n budgetid: budgetAccount.budgetID,\r\n budgetFiscalYear: this.budgetFiscalYear,\r\n budgetName: this.budgetName\r\n }\r\n })\r\n },\r\n\r\n createBudgetAccountModal() {\r\n if (this.isDebug == true) console.debug('in createBudgetAccountModal...')\r\n this.selectedBudgetAccount = null\r\n this.toggle = true\r\n },\r\n\r\n async deleteBudgetAccount(budgetAccountId) {\r\n if (this.isDebug == true) console.debug('...in deleteBudgetAccount id=' + budgetAccountId)\r\n\r\n this.loading = true\r\n\r\n if (budgetAccountId <= 0) {\r\n notifyError('There was a problem deleting your budget account.')\r\n return\r\n }\r\n\r\n try {\r\n this.$store.dispatch('budgets/deleteBudgetAccount', {\r\n budgetAccountID: budgetAccountId,\r\n done: () => {\r\n this.loading = false\r\n this.reload()\r\n }\r\n })\r\n } catch (e) {\r\n console.debug('There was an issue deleting your budget account.')\r\n }\r\n\r\n this.loading = false\r\n }\r\n}\r\n","var field = {\r\n width: '100px',\r\n display: 'inline-block',\r\n paddingRight: '6px',\r\n textAlign: 'left'\r\n}\r\n\r\nexport const data = () => ({\r\n isDebug: true,\r\n toggle: false,\r\n loading: false,\r\n selectedBudgetAccount: null,\r\n budgetAccountsTableList: [],\r\n budgetId: 0,\r\n budgetFiscalYear: 0,\r\n budgetName: '',\r\n totals: {},\r\n\r\n filters: {\r\n show: false\r\n },\r\n\r\n pagination: {\r\n perPage: 10\r\n },\r\n\r\n columns: [\r\n {\r\n field: 'accountNumber',\r\n label: 'Acct #',\r\n aria: 'Acct #',\r\n width: '10%',\r\n numeric: true,\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'category',\r\n label: 'Category',\r\n aria: 'Category',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'accountType',\r\n label: 'Account Type',\r\n aria: 'Account Type',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'accountName',\r\n label: 'Account Name',\r\n aria: 'Account Name',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'twelveMonthActual',\r\n label: '12 Month Actual',\r\n aria: '12 Month Actual',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'previousYearBudget',\r\n label: 'Prev. Year Bdgt',\r\n aria: 'Prev. Year Bdgt',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'budgeted',\r\n label: 'Budgeted',\r\n aria: 'Budgeted',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'budgetedPerMonth',\r\n label: 'Avg Per Month',\r\n aria: 'Avg Per Month',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n },\r\n {\r\n field: 'unitPerMonth',\r\n label: 'Avg Unit / Month',\r\n aria: 'Avg Unit / Month',\r\n width: '10%',\r\n sortable: true,\r\n searchable: true\r\n }\r\n ],\r\n\r\n styles: {\r\n formRow: {\r\n padding: '10px',\r\n whiteSpace: 'nowrap'\r\n },\r\n filterButton: {\r\n marginTop: '4px'\r\n },\r\n amountField: Object.assign({}, field, {\r\n width: '125px'\r\n })\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=68e2f5f5&scoped=true&\"\nimport script from \"./List.vue?vue&type=script&lang=js&\"\nexport * from \"./List.vue?vue&type=script&lang=js&\"\nimport style0 from \"./List.vue?vue&type=style&index=0&id=68e2f5f5&lang=scss&scoped=true&\"\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 \"68e2f5f5\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}