{"version":3,"sources":["webpack:///./src/components/widgets/incomeWidget/incomeWidget.vue?f101","webpack:///./src/javascript/widgetManager.js","webpack:///./src/components/widgets/incomeWidget/incomeWidget.vue?9bb1","webpack:///src/components/widgets/incomeWidget/incomeWidget.vue","webpack:///./src/components/widgets/incomeWidget/incomeWidget.vue?ac85","webpack:///./src/components/widgets/incomeWidget/incomeWidget.vue?503c"],"names":["widgetManager","tableData","tableTotal","itemsMinusDeleted","tableRow","name","value","percentage","clearTableRow","this","buildTable","period","i","length","isItemWithinPeriod","transactionBalances","transactionDate","convertToTableRow","addToTableData","calculatePercentages","parseFloat","toFixed","item","push","globalFunctions","stringify","category","transactionAmount","clearOldData","itemDate","start","end","date","Date","returnFormattedDateFromCalendar","dateSplit","split","parseInt","buildIncomeCategoryTotals","getIncomeItemsFromStoreAndRemoveDeletedItems","items","getIncomeTransactions","store","state","Transactions","removeDeletedObjectsFromItems","incomes","transactionType","buildExpenseCategoryTotals","getExpenseItemsFromStoreAndRemoveDeletedItems","getExpenseTransactions","expenses","buildBudgetTotals","getBudgetItemsFromStoreAndRemoveDeletedItems","createTableRows","buildBudgetTable","buildSingleBudgetTotals","budgetId","buildSingleBudgetTable","budgetManager","findBudgetById","Budgets","budgetBalance","getActiveBudgetBalance","addToBudgetTableData","budget","budgetName","amountSpent","budgetAmount","returnIncomeCategoriesAndThereItems","buildJsonObject","jsonObject","k","returnExpenseCategoriesAndThereItems","render","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","attrs","_v","_s","component","tag","cType","_e","formattedTableTotal","on","$event","$router","path","query","staticRenderFns","VChip","VContainer","VDivider","VLayout","VSpacer"],"mappings":"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","file":"js/chunk-35591854.a065f987.js","sourcesContent":["export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./incomeWidget.vue?vue&type=style&index=0&lang=css&\"","import { store } from '../store/storeMain'\r\n//import { transactionManager } from './transactionManager'\r\nimport { globalFunctions } from './globalFunctions'\r\nimport { budgetManager } from './budgetManager'\r\n\r\nexport const widgetManager = {\r\n tableData: [],\r\n tableTotal: 0,\r\n itemsMinusDeleted: [],\r\n tableRow: {\r\n name: '',\r\n value: 0,\r\n percentage: 0\r\n },\r\n clearTableRow: function () {\r\n this.tableRow.name = ''\r\n this.tableRow.value = 0\r\n this.tableRow.percentage = 0\r\n },\r\n buildTable: function (period) {\r\n for (let i = 0; i < this.itemsMinusDeleted.length; i++) {\r\n\r\n if (this.isItemWithinPeriod(\r\n this.itemsMinusDeleted[i].transactionBalances[this.itemsMinusDeleted[i].transactionBalances.length - 1].transactionDate,\r\n period)) {\r\n\r\n this.convertToTableRow(this.itemsMinusDeleted[i])\r\n\r\n this.addToTableData()\r\n\r\n this.calculatePercentages()\r\n }\r\n }\r\n },\r\n calculatePercentages: function () {\r\n for (let i = 0; i < this.tableData.length; i++) {\r\n this.tableData[i].percentage = ((parseFloat(this.tableData[i].value) / parseFloat(this.tableTotal)) * 100).toFixed(2)\r\n }\r\n },\r\n addToTableData: function () {\r\n let item = this.tableRow\r\n\r\n if (this.tableData.length === 0) {\r\n this.tableData.push(globalFunctions.stringify(item))\r\n this.tableTotal = parseFloat(this.tableTotal) + parseFloat(item.value)\r\n }\r\n else {\r\n for (let i = 0; i < this.tableData.length; i++) {\r\n if (this.tableData[i].name === item.name) {\r\n this.tableData[i].value = parseFloat(this.tableData[i].value) + parseFloat(item.value)\r\n this.tableTotal = parseFloat(this.tableTotal) + parseFloat(item.value)\r\n break\r\n }\r\n else if (i === this.tableData.length - 1) {\r\n this.tableData.push(globalFunctions.stringify(item))\r\n this.tableTotal = parseFloat(this.tableTotal) + parseFloat(item.value)\r\n break\r\n }\r\n }\r\n }\r\n },\r\n convertToTableRow: function (item) {\r\n this.clearTableRow()\r\n\r\n this.tableRow.name = item.category\r\n\r\n for (let i = 0; i < item.transactionBalances.length; i++) {\r\n this.tableRow.value = parseFloat(this.tableRow.value) + parseFloat(item.transactionBalances[i].transactionAmount)\r\n }\r\n },\r\n clearOldData: function () {\r\n this.tableData = []\r\n this.tableTotal = 0,\r\n this.itemsMinusDeleted = []\r\n },\r\n isItemWithinPeriod: function (itemDate, period) {\r\n let start = ''\r\n let end = ''\r\n let date = new Date(this.returnFormattedDateFromCalendar(itemDate))\r\n\r\n let dateSplit = period.split(\" - \")\r\n\r\n start = new Date(dateSplit[0])\r\n end = new Date(dateSplit[1])\r\n\r\n if (date >= start && date <= end) {\r\n return true\r\n }\r\n\r\n return false\r\n },\r\n returnFormattedDateFromCalendar(date) {\r\n let dateSplit = date.split(\"-\")\r\n\r\n return (dateSplit[0] + \"-\" + parseInt(dateSplit[1]) + \"-\" + (parseInt(dateSplit[2])))\r\n },\r\n \r\n\r\n ///////////////////////////////////////////////////////////////////////\r\n //Income Specific\r\n ///////////////////////////////////////////////////////////////////////\r\n\r\n buildIncomeCategoryTotals: function (period) {\r\n this.clearOldData()\r\n this.getIncomeItemsFromStoreAndRemoveDeletedItems()\r\n\r\n this.buildTable(period)\r\n\r\n return {\r\n tableData: this.tableData,\r\n tableTotal: this.tableTotal\r\n }\r\n },\r\n getIncomeItemsFromStoreAndRemoveDeletedItems: function () {\r\n this.items = this.getIncomeTransactions(store.state.Transactions)\r\n\r\n\r\n ///Remove deleted items from items array\r\n this.itemsMinusDeleted = globalFunctions.removeDeletedObjectsFromItems(this.items)\r\n },\r\n getIncomeTransactions: function (items) {\r\n let incomes = []\r\n\r\n for (let i = 0; i < items.length; i++) {\r\n if (items[i].transactionType === \"income\") {\r\n incomes.push(items[i])\r\n }\r\n }\r\n\r\n return incomes\r\n },\r\n\r\n\r\n ///////////////////////////////////////////////////////////////////////\r\n //Expense Specific\r\n ///////////////////////////////////////////////////////////////////////\r\n\r\n buildExpenseCategoryTotals: function (period) {\r\n this.clearOldData()\r\n this.getExpenseItemsFromStoreAndRemoveDeletedItems()\r\n\r\n this.buildTable(period)\r\n\r\n return {\r\n tableData: this.tableData,\r\n tableTotal: this.tableTotal\r\n }\r\n },\r\n getExpenseItemsFromStoreAndRemoveDeletedItems: function () {\r\n this.items = this.getExpenseTransactions(store.state.Transactions)\r\n\r\n ///Remove deleted items from items array\r\n this.itemsMinusDeleted = globalFunctions.removeDeletedObjectsFromItems(this.items)\r\n },\r\n getExpenseTransactions: function (items) {\r\n let expenses = []\r\n\r\n for (let i = 0; i < items.length; i++) {\r\n if (items[i].transactionType === \"expense\") {\r\n expenses.push(items[i])\r\n }\r\n }\r\n\r\n return expenses\r\n },\r\n\r\n\r\n ///////////////////////////////////////////////////////////////////////\r\n //Budget Specific\r\n ///////////////////////////////////////////////////////////////////////\r\n\r\n buildBudgetTotals: function (date) {\r\n this.clearOldData()\r\n this.getBudgetItemsFromStoreAndRemoveDeletedItems()\r\n\r\n this.createTableRows()\r\n\r\n this.buildBudgetTable(date)\r\n\r\n if (this.tableData[0].value === 0 && this.tableData[1].value === 0) {\r\n this.tableData = []\r\n }\r\n\r\n return {\r\n tableData: this.tableData,\r\n tableTotal: this.tableTotal\r\n }\r\n },\r\n buildSingleBudgetTotals: function (budgetId, date) {\r\n this.clearOldData()\r\n this.getBudgetItemsFromStoreAndRemoveDeletedItems()\r\n\r\n this.createTableRows()\r\n\r\n this.buildSingleBudgetTable(budgetManager.findBudgetById(budgetId), date)\r\n\r\n if (this.tableData[0].value === 0 && this.tableData[1].value === 0) {\r\n this.tableData = []\r\n }\r\n\r\n return {\r\n tableData: this.tableData,\r\n tableTotal: this.tableTotal\r\n }\r\n },\r\n getBudgetItemsFromStoreAndRemoveDeletedItems: function () {\r\n this.items = store.state.Budgets\r\n\r\n\r\n ///Remove deleted items from items array\r\n this.itemsMinusDeleted = globalFunctions.removeDeletedObjectsFromItems(this.items)\r\n },\r\n createTableRows: function () {\r\n this.tableData.push({\r\n name: 'Spent',\r\n value: 0,\r\n percentage: 0\r\n },\r\n {\r\n name: 'Remaining',\r\n value: 0,\r\n percentage: 0\r\n })\r\n },\r\n buildBudgetTable: function (date) {\r\n for (let i = 0; i < this.itemsMinusDeleted.length; i++) {\r\n let budgetBalance = budgetManager.getActiveBudgetBalance(this.itemsMinusDeleted[i], date)\r\n\r\n this.addToBudgetTableData(budgetBalance)\r\n\r\n this.calculatePercentages()\r\n }\r\n },\r\n buildSingleBudgetTable: function (budget, date) {\r\n for (let i = 0; i < this.itemsMinusDeleted.length; i++) {\r\n if (this.itemsMinusDeleted[i].budgetName === budget.budgetName) {\r\n let budgetBalance = budgetManager.getActiveBudgetBalance(this.itemsMinusDeleted[i], date)\r\n\r\n this.addToBudgetTableData(budgetBalance)\r\n\r\n this.calculatePercentages()\r\n }\r\n }\r\n },\r\n addToBudgetTableData: function (item) {\r\n //Update Spent\r\n this.tableData[0].value = parseFloat(this.tableData[0].value) + parseFloat(item.amountSpent)\r\n\r\n //Update Remaining\r\n this.tableData[1].value = parseFloat(this.tableData[1].value) + (parseFloat(item.budgetAmount) - parseFloat(item.amountSpent))\r\n\r\n this.tableTotal = parseFloat(this.tableTotal) + parseFloat(item.budgetAmount)\r\n },\r\n\r\n}\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////\r\n//Income Items By Category Functions\r\n///////////////////////////////////////////////////////////////////////\r\n\r\nexport const returnIncomeCategoriesAndThereItems = (period) => {\r\n let items = getIncomeItemsFromStoreAndRemoveDeletedItems()\r\n\r\n return buildJsonObject(period, items)\r\n}\r\n\r\nexport const getIncomeItemsFromStoreAndRemoveDeletedItems = () => {\r\n let items = widgetManager.getIncomeTransactions(store.state.Transactions)\r\n\r\n ///Remove deleted items from items array\r\n return globalFunctions.removeDeletedObjectsFromItems(items)\r\n}\r\n\r\nexport const buildJsonObject = (period, items) => {\r\n let jsonObject = []\r\n\r\n for (let i = 0; i < items.length; i++) {\r\n\r\n if (widgetManager.isItemWithinPeriod(\r\n items[i].transactionBalances[items[0].transactionBalances.length - 1].transactionDate,\r\n period)) {\r\n\r\n if (jsonObject.length === 0) {\r\n jsonObject[0] = [items[i].category, [items[i]]]\r\n\r\n continue\r\n }\r\n\r\n for (let k = 0; k < jsonObject.length; k++) {\r\n if (jsonObject[k][0] === items[i].category) {\r\n jsonObject[k][1].push(items[i])\r\n\r\n continue\r\n } else if (k === jsonObject.length - 1) {\r\n jsonObject.push([items[i].category, [items[i]]])\r\n break\r\n }\r\n }\r\n }\r\n }\r\n\r\n return jsonObject\r\n}\r\n\r\n///////////////////////////////////////////////////////////////////////\r\n//End Of Income Items By Category Functions\r\n///////////////////////////////////////////////////////////////////////\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////\r\n//Expense Items By Category Functions\r\n///////////////////////////////////////////////////////////////////////\r\n\r\nexport const returnExpenseCategoriesAndThereItems = (period) => {\r\n let items = getExpenseItemsFromStoreAndRemoveDeletedItems()\r\n\r\n return buildJsonObject(period, items)\r\n}\r\n\r\nexport const getExpenseItemsFromStoreAndRemoveDeletedItems = () => {\r\n let items = widgetManager.getExpenseTransactions(store.state.Transactions)\r\n\r\n ///Remove deleted items from items array\r\n return globalFunctions.removeDeletedObjectsFromItems(items)\r\n}\r\n\r\n///////////////////////////////////////////////////////////////////////\r\n//End Of Expense Items By Category Functions\r\n///////////////////////////////////////////////////////////////////////\r\n\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"d-flex justify-center\",staticStyle:{\"margin-top\":\"5px\"}},[_c('v-chip',{attrs:{\"outlined\":\"\"}},[_vm._v(_vm._s(_vm.period))])],1),_c(_vm.component,{tag:\"component\",staticStyle:{\"height\":\"250px\"},attrs:{\"value\":_vm.tableData}}),(_vm.cType === 'component')?_c('v-divider'):_vm._e(),(_vm.cType === 'component')?_c('v-container',{staticClass:\"padding-20\",attrs:{\"grid-list-md\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-chip',{attrs:{\"outlined\":\"\"}},[_c('span',{staticStyle:{\"color\":\"#43A047\"}},[_vm._v(\"TOTAL: + \"+_vm._s(_vm.formattedTableTotal))])]),_c('v-spacer'),_c('v-chip',{attrs:{\"outlined\":\"\"},on:{\"click\":function($event){return _vm.$router.push({ path: '/dashboard/widgetSeeMoreContainer',query: { \n name: 'income', \n } })}}},[_vm._v(\"SHOW MORE\")])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n
\r\n {{period}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n TOTAL: + {{formattedTableTotal}}\r\n \r\n SHOW MORE\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!./incomeWidget.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!./incomeWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./incomeWidget.vue?vue&type=template&id=05e5fc68&\"\nimport script from \"./incomeWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./incomeWidget.vue?vue&type=script&lang=js&\"\nimport style0 from \"./incomeWidget.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VContainer,VDivider,VLayout,VSpacer})\n"],"sourceRoot":""}