(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[57],{ /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Reports/SalesClosingTree/SalesClosingTree.vue?vue&type=script&lang=js": /*!*************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Reports/SalesClosingTree/SalesClosingTree.vue?vue&type=script&lang=js ***! \*************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _TreeTable_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TreeTable.vue */ \"./src/components/Reports/SalesClosingTree/TreeTable.vue\");\n/* harmony import */ var _lib_setPageTitle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../lib/setPageTitle */ \"./src/lib/setPageTitle.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'SalesClosingTree',\n components: {\n TreeTable: _TreeTable_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n data() {\n return {\n yearsList: [],\n startYear: null,\n endYear: null,\n closingOrSalesFilter: false,\n // sales on\n closingOrSales: [{\n key: false,\n value: 'Sales'\n }, {\n key: true,\n value: 'Closings'\n }],\n headers: [],\n reportData: [],\n reportReady: false\n };\n },\n mounted() {\n Object(_lib_setPageTitle__WEBPACK_IMPORTED_MODULE_3__[\"setPageTitle\"])('Sales & Closing Tree', this.$parent.$el.className, true);\n },\n beforeMount() {\n this.generateYears();\n this.getReport();\n },\n computed: {\n yearsListWithDisabled() {\n return this.yearsList.map(year => ({\n year,\n disabled: year < this.startYear\n }));\n },\n yearsAndMonths() {\n const startYear = this.startYear;\n const endYear = this.endYear;\n const years = [];\n for (let year = endYear; year >= startYear; year--) {\n const months = [];\n for (let month = 1; month <= 12; month++) {\n months.unshift(moment__WEBPACK_IMPORTED_MODULE_1___default()({\n year,\n month: month - 1\n }).format('MMM YYYY'));\n }\n years.push({\n year,\n months\n });\n }\n return years;\n },\n closingOrSalesString() {\n return this.closingOrSalesFilter ? 'Closings' : 'Sales';\n }\n },\n methods: {\n async getReport() {\n this.reportReady = false;\n const reportData = await this.$store.dispatch('Reports/pullSalesClosingTree', {\n startYear: this.startYear,\n endYear: this.endYear,\n closings: this.closingOrSalesFilter\n });\n this.reportData = reportData.sort((a, b) => new Date(b.startDate) - new Date(a.startDate));\n this.buildHeaders();\n this.reportReady = true;\n },\n buildHeaders() {\n this.headers = [];\n this.headers.unshift({\n text: '',\n value: 'datesArray'\n });\n this.headers.push({\n text: this.closingOrSalesString,\n value: 'transactions',\n longName: `Total ${this.closingOrSalesString}`,\n style: 'width: 30px, font-size: 1rem'\n });\n this.headers.push({\n text: 'Comm',\n value: 'communities',\n longName: 'Total Communities Active',\n style: 'width: 30px, font-size: 1rem'\n });\n this.headers.push({\n text: `${this.closingOrSalesString}/Comm`,\n value: 'transactionsPerCommunity',\n longName: `${this.closingOrSalesString} Per Community Active`,\n style: 'width: 30px, font-size: 1rem'\n });\n this.reportData.map(item => {\n this.headers.push({\n text: item.shortName,\n value: item.id,\n longName: item.name,\n style: 'border-right: 1px solid #fff !important;'\n });\n });\n },\n generateYears() {\n var years = [];\n var startDate = moment__WEBPACK_IMPORTED_MODULE_1___default()(new Date(2016, 1, 1)).startOf('year');\n const endofNextYear = moment__WEBPACK_IMPORTED_MODULE_1___default()().add(1, 'year').endOf('year'); // allow for next year to be selected\n\n while (startDate.isBefore(endofNextYear)) {\n years.unshift(Number(startDate.format('YYYY')));\n startDate.add(1, 'year');\n }\n this.yearsList = years;\n this.startYear = years[2]; // default to current year - 1\n this.endYear = years[1]; // default to current year\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/Reports/SalesClosingTree/SalesClosingTree.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Reports/SalesClosingTree/TreeTable.vue?vue&type=script&lang=js": /*!******************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Reports/SalesClosingTree/TreeTable.vue?vue&type=script&lang=js ***! \******************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _TreeTableBody_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TreeTableBody.vue */ \"./src/components/Reports/SalesClosingTree/TreeTableBody.vue\");\n/* harmony import */ var _Transaction_TransactionListPopup_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Transaction/TransactionListPopup.vue */ \"./src/components/Transaction/TransactionListPopup.vue\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'TreeTable',\n components: {\n TreeTableBody: _TreeTableBody_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n TransactionListPopup: _Transaction_TransactionListPopup_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n data: {\n type: Array,\n required: true\n },\n headers: {\n type: Array,\n required: true\n },\n yearsAndMonths: {\n type: Array,\n required: true\n }\n },\n data() {\n return {\n transactionsPopup: false,\n transactionsList: []\n };\n },\n computed: {\n salesClosingData() {\n return this.data;\n },\n yearsWithMonths() {\n return this.yearsAndMonths;\n },\n yearRange() {\n return `${this.yearsWithMonths[this.yearsWithMonths.length - 1].year} - ${this.yearsWithMonths[0].year}`;\n }\n },\n methods: {\n async displayReportTransactions(ids) {\n if (ids.length === 0) return;\n const currentTransactions = await this.$store.dispatch('Transaction/pullTransactionsByIds', {\n transactionIds: ids\n });\n this.transactionsList = currentTransactions;\n this.transactionsPopup = true;\n },\n getTotalsCellClass(index, isBottom = false) {\n let classes = `${isBottom ? 'highlightedRowBorderBottom' : 'highlightedRowBorderTop'} font-weight-bold text-center `;\n if (index === 0) {\n classes += 'highlightedRowBorderRight';\n }\n return classes;\n },\n closeTransactions() {\n this.transactionsList = [];\n this.transactionsPopup = false;\n },\n calcTotalTransactionsPerTimeRange(data) {\n const calc = {\n total: 0,\n transactions: []\n };\n for (const date of Object.values(data.dates)) {\n if (date.isActive) {\n calc.total += date.transactions.length;\n calc.transactions = calc.transactions.concat(date.transactions);\n }\n }\n return calc;\n },\n calcAvgTotalTransactionsPerTimeRange(data) {\n const totalPerTimeRange = this.calcTotalTransactionsPerTimeRange(data).total;\n const activeMonths = Object.values(data.dates).filter(date => date.isActive).length;\n return (totalPerTimeRange / activeMonths).toFixed(1);\n },\n calcTotalofTotalTransactionsPerTimeRange() {\n const calc = {\n total: 0,\n transactions: []\n };\n for (const item of this.data) {\n calc.total += this.calcTotalTransactionsPerTimeRange(item).total;\n calc.transactions = calc.transactions.concat(this.calcTotalTransactionsPerTimeRange(item).transactions);\n }\n return calc;\n },\n calcAvgTotalofTotalTransactionsPerTimeRange() {\n const totalPerTimeRange = this.calcTotalofTotalTransactionsPerTimeRange().total;\n const totalMonths = this.yearsAndMonths.flatMap(year => year.months).length;\n return (totalPerTimeRange / totalMonths).toFixed(1);\n },\n calcTotalofTotalCommunitiesActive() {\n let totalActive = 0;\n for (const item of this.data) {\n const isActiveArray = Object.values(item.dates).map(date => date.isActive);\n const activeCount = isActiveArray.reduce((total, isActive) => isActive ? total + 1 : total, 0);\n totalActive += activeCount;\n }\n return totalActive;\n },\n calcAvgTotalofTotalCommunitiesActive() {\n const totalActive = this.calcTotalofTotalCommunitiesActive();\n const totalMonths = this.yearsAndMonths.flatMap(year => year.months).length;\n return (totalActive / totalMonths).toFixed(1);\n },\n calcTotalofTotalTransactionsByCommunityActivePerTimeRange() {\n const totalTransactions = this.calcTotalofTotalTransactionsPerTimeRange().total;\n const totalCommunitiesActive = this.calcTotalofTotalCommunitiesActive();\n return (totalTransactions / totalCommunitiesActive).toFixed(1);\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/Reports/SalesClosingTree/TreeTable.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Reports/SalesClosingTree/TreeTableBody.vue?vue&type=script&lang=js": /*!**********************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Reports/SalesClosingTree/TreeTableBody.vue?vue&type=script&lang=js ***! \**********************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'TreeTableBody',\n props: {\n yearWithMonths: {\n type: Object,\n required: true\n },\n dataArray: {\n type: Array,\n required: true\n },\n headersLength: {\n type: Number,\n required: true\n }\n },\n data() {\n return {};\n },\n computed: {\n monthsArray() {\n return this.yearWithMonths.months;\n },\n yearString() {\n return this.yearWithMonths.year;\n },\n currentMonth() {\n return moment__WEBPACK_IMPORTED_MODULE_2___default()().format('MMM YYYY');\n }\n },\n methods: {\n async requestTransactions(ids) {\n if (ids.length === 0) return;\n this.$emit('displayReportTransactions', ids);\n },\n getHeatmapColor(value) {\n if (value === 0) return '#FFFFFF'; // white\n if (value <= 1) return '#C8E6C9'; // green-lighten-4\n if (value <= 2) return '#A5D6A7'; // green-lighten-3\n if (value <= 3) return '#81C784'; // green-lighten-2\n if (value <= 4) return '#66BB6A'; // green-lighten-1\n if (value <= 5) return '#4CAF50'; // green\n if (value <= 6) return '#43A047'; // green-darken-1\n if (value <= 7) return '#388E3C'; // green-darken-2\n if (value <= 8) return '#2E7D32'; // green-darken-3\n return '#2E7D32'; // green-darken-4 for values > 8\n },\n getCellClass(index, isActive) {\n let classes = '';\n if (index === 0) {\n classes += 'highlightedRowBorderRight ';\n }\n if (isActive) {\n classes += 'activeColumn';\n }\n return classes;\n },\n getTotalsCellClass(index, isBottom = false) {\n let classes = `${isBottom ? 'highlightedRowBorderBottom' : 'highlightedRowBorderTop'} font-weight-bold text-center `;\n if (index === 0) {\n classes += 'highlightedRowBorderRight';\n }\n return classes;\n },\n calcTotalTransactionsPerYear(item, calcForAvg = false) {\n if (calcForAvg) {\n return this.monthsArray.flatMap(month => item.dates[month].isActive && month !== this.currentMonth ? item.dates[month].transactions : []);\n }\n return this.monthsArray.flatMap(month => item.dates[month].isActive ? item.dates[month].transactions : []);\n },\n calcTotalCommunitiesActivePerYear() {\n let totalActive = 0;\n this.monthsArray.forEach(month => {\n const isActiveArray = this.dataArray.map(item => item.dates[month].isActive);\n const activeCount = isActiveArray.reduce((total, isActive) => isActive ? total + 1 : total, 0);\n totalActive += activeCount;\n });\n return totalActive;\n },\n calcTotalTransactionsPerMonth(month) {\n return this.dataArray.flatMap(item => item.dates[month].isActive ? item.dates[month].transactions : []);\n },\n calcNumberOfMonthsActive(item) {\n return this.monthsArray.reduce((acc, month) => {\n if (item.dates[month].isActive && month !== this.currentMonth) {\n return acc + 1;\n }\n return acc;\n }, 0);\n },\n calcAvgTransactionsPerMonth(item) {\n const totalTransactionsPerYear = this.calcTotalTransactionsPerYear(item, true).length;\n const numberOfMonthsActive = this.calcNumberOfMonthsActive(item);\n if (totalTransactionsPerYear === 0 && numberOfMonthsActive === 0) {\n return 0;\n }\n const avg = totalTransactionsPerYear / numberOfMonthsActive;\n return avg !== 0 ? avg.toFixed(1) : 0;\n },\n calcTotalCommunitesActivePerMonth(month) {\n const communites = [];\n for (const item of this.dataArray) {\n if (item.dates[month].isActive) {\n communites.push(item);\n }\n }\n return communites ? communites.length : 0;\n },\n calcSalesByCommunityActive(month) {\n const column = {\n avg: 0,\n color: ''\n };\n const totalSales = this.calcTotalTransactionsPerMonth(month).length;\n const totalCommunitesActive = this.calcTotalCommunitesActivePerMonth(month);\n if (totalSales === 0 && totalCommunitesActive === 0) {\n return 0;\n }\n const avg = totalSales / totalCommunitesActive;\n column.avg = avg !== 0 ? avg.toFixed(1) : 0;\n column.color = this.getHeatmapColor(column.avg);\n return column;\n },\n calcTotalSalesThisYear() {\n return this.dataArray.flatMap(item => this.calcTotalTransactionsPerYear(item));\n },\n calcAvgTotalActiveCommunitiesPerYear() {\n const totalActiveCommunities = this.calcTotalCommunitiesActivePerYear();\n const totalMonthsActive = this.monthsArray.reduce((acc, month) => {\n if (this.calcTotalCommunitesActivePerMonth(month) > 0 && month !== this.currentMonth) {\n return acc + 1;\n }\n return acc;\n }, 0);\n const avg = totalActiveCommunities / totalMonthsActive;\n return avg !== 0 ? avg.toFixed(1) : 0;\n },\n getSalesAverage(month) {\n const salesData = this.calcSalesByCommunityActive(month);\n if (salesData === 0) {\n return;\n }\n return salesData ? salesData.avg : 0;\n },\n calcTotalSalesAverage() {\n let count = 0;\n this.monthsArray.forEach(month => {\n const salesAverage = this.getSalesAverage(month);\n if (!salesAverage) {\n return;\n }\n count += parseFloat(this.getSalesAverage(month));\n });\n return count;\n },\n getSalesAverageTotal() {\n const totalSalesAverage = this.calcTotalSalesAverage();\n const monthsActive = this.monthsArray.reduce((acc, month) => {\n if (this.getSalesAverage(month) > 0 && month !== this.currentMonth) {\n return acc + 1;\n }\n return acc;\n }, 0);\n const avg = totalSalesAverage / monthsActive;\n return avg !== 0 ? avg.toFixed(1) : 0;\n },\n getSalesColor(month) {\n const salesData = this.calcSalesByCommunityActive(month);\n return salesData ? salesData.color : 'white';\n },\n calcAvgSalesThisYear() {\n const currMonthSales = this.calcTotalTransactionsPerMonth(this.currentMonth).length;\n const totalSalesThisYear = this.calcTotalSalesThisYear().length - currMonthSales;\n const totalMonthsActive = this.monthsArray.reduce((acc, month) => {\n if (this.calcTotalTransactionsPerMonth(month).length > 0 && month !== this.currentMonth) {\n return acc + 1;\n }\n return acc;\n }, 0);\n const avg = totalSalesThisYear / totalMonthsActive;\n return avg !== 0 ? avg.toFixed(1) : 0;\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/Reports/SalesClosingTree/TreeTableBody.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Transaction/TransactionListPopup.vue?vue&type=script&lang=js": /*!****************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Transaction/TransactionListPopup.vue?vue&type=script&lang=js ***! \****************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _TransactionSearchableList_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./TransactionSearchableList.vue */ \"./src/components/Transaction/TransactionSearchableList.vue\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'TransactionListPopup',\n components: {\n TransactionSearchableList: _TransactionSearchableList_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n props: {\n prepopulatedList: {\n type: Array,\n required: true\n },\n preBuiltHeaders: {\n type: Array,\n required: false\n },\n model: {\n type: Boolean,\n required: true\n }\n },\n methods: {\n close: function () {\n // this.model = false // DONT USE! this code below to do the same\n this.$emit('update:model', false); // leverages the .sync property\n if (this.onClose) {\n this.onClose(); // if the callback is provided... call it\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/Transaction/TransactionListPopup.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"57799412-vue-loader-template\"}!./node_modules/vuetify-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Reports/SalesClosingTree/SalesClosingTree.vue?vue&type=template&id=6c4d613f": /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"57799412-vue-loader-template"}!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Reports/SalesClosingTree/SalesClosingTree.vue?vue&type=template&id=6c4d613f ***! \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\n/* harmony import */ var vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuetify/lib/components/VCard */ \"./node_modules/vuetify/lib/components/VCard/index.js\");\n/* harmony import */ var vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VGrid */ \"./node_modules/vuetify/lib/components/VGrid/index.js\");\n/* harmony import */ var vuetify_lib_components_VSelect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VSelect */ \"./node_modules/vuetify/lib/components/VSelect/index.js\");\n/* harmony import */ var vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VToolbar */ \"./node_modules/vuetify/lib/components/VToolbar/index.js\");\n\n\n\n\n\n\n\n\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_0__[\"VCard\"], [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_3__[\"VToolbar\"], {\n staticClass: \"$mdc-typography-styles-subtitle2 filterHeading rounded-0 pa-2\",\n staticStyle: {\n \"font-weight\": \"bold\",\n \"text-transform\": \"uppercase\"\n },\n attrs: {\n height: \"80\",\n dense: \"\",\n color: \"indigo lighten-5\"\n }\n }, [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_1__[\"VRow\"], {\n staticClass: \"justify-center align-center\"\n }, [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_1__[\"VCol\"], [_c(vuetify_lib_components_VSelect__WEBPACK_IMPORTED_MODULE_2__[\"VSelect\"], {\n attrs: {\n label: \"Filter\",\n items: _vm.closingOrSales,\n outlined: \"\",\n dense: \"\",\n \"item-text\": \"value\",\n \"item-value\": \"key\"\n },\n on: {\n change: _vm.getReport\n },\n model: {\n value: _vm.closingOrSalesFilter,\n callback: function ($$v) {\n _vm.closingOrSalesFilter = $$v;\n },\n expression: \"closingOrSalesFilter\"\n }\n })], 1), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_1__[\"VSpacer\"]), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_1__[\"VCol\"], [_c(vuetify_lib_components_VSelect__WEBPACK_IMPORTED_MODULE_2__[\"VSelect\"], {\n attrs: {\n items: _vm.yearsList,\n label: \"Start Year\",\n dense: \"\",\n outlined: \"\"\n },\n on: {\n change: _vm.getReport\n },\n model: {\n value: _vm.startYear,\n callback: function ($$v) {\n _vm.startYear = $$v;\n },\n expression: \"startYear\"\n }\n })], 1), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_1__[\"VCol\"], {\n attrs: {\n cols: \"1\"\n }\n }, [_c(\"p\", {\n staticClass: \"text-center\"\n }, [_vm._v(\"-\")])]), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_1__[\"VCol\"], [_c(vuetify_lib_components_VSelect__WEBPACK_IMPORTED_MODULE_2__[\"VSelect\"], {\n attrs: {\n items: _vm.yearsListWithDisabled,\n label: \"End Year\",\n \"item-text\": \"year\",\n \"item-value\": \"year\",\n \"item-disabled\": item => item.disabled,\n dense: \"\",\n outlined: \"\"\n },\n on: {\n change: _vm.getReport\n },\n model: {\n value: _vm.endYear,\n callback: function ($$v) {\n _vm.endYear = $$v;\n },\n expression: \"endYear\"\n }\n })], 1)], 1)], 1), _c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_0__[\"VCardText\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_1__[\"VRow\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_1__[\"VCol\"], [_vm.reportReady ? _c(\"TreeTable\", {\n attrs: {\n data: _vm.reportData,\n headers: _vm.headers,\n yearsAndMonths: _vm.yearsAndMonths\n }\n }) : _vm._e()], 1)], 1)], 1)], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/components/Reports/SalesClosingTree/SalesClosingTree.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2257799412-vue-loader-template%22%7D!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"57799412-vue-loader-template\"}!./node_modules/vuetify-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Reports/SalesClosingTree/TreeTable.vue?vue&type=template&id=7e1b2888&scoped=true": /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"57799412-vue-loader-template"}!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Reports/SalesClosingTree/TreeTable.vue?vue&type=template&id=7e1b2888&scoped=true ***! \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\n/* harmony import */ var vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuetify/lib/components/VBtn */ \"./node_modules/vuetify/lib/components/VBtn/index.js\");\n/* harmony import */ var vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VGrid */ \"./node_modules/vuetify/lib/components/VGrid/index.js\");\n/* harmony import */ var vuetify_lib_components_VDataTable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VDataTable */ \"./node_modules/vuetify/lib/components/VDataTable/index.js\");\n/* harmony import */ var vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VIcon */ \"./node_modules/vuetify/lib/components/VIcon/index.js\");\n/* harmony import */ var vuetify_lib_components_VTooltip__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VTooltip */ \"./node_modules/vuetify/lib/components/VTooltip/index.js\");\n\n\n\n\n\n\n\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_1__[\"VRow\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_1__[\"VCol\"], {\n attrs: {\n cols: \"12\"\n }\n }, [_c(vuetify_lib_components_VDataTable__WEBPACK_IMPORTED_MODULE_2__[\"VDataTable\"], {\n attrs: {\n dense: \"\",\n items: _vm.salesClosingData,\n headers: _vm.headers,\n \"disable-pagination\": \"\",\n \"hide-default-footer\": true,\n \"hide-default-header\": \"\",\n height: \"650\"\n },\n scopedSlots: _vm._u([{\n key: \"header\",\n fn: function ({\n props: {\n headers\n }\n }) {\n return [_c(\"thead\", [_c(\"tr\", _vm._l(headers, function (header, index) {\n return _c(\"th\", {\n key: index,\n style: header.style\n }, [_c(vuetify_lib_components_VTooltip__WEBPACK_IMPORTED_MODULE_4__[\"VTooltip\"], {\n attrs: {\n bottom: \"\"\n },\n scopedSlots: _vm._u([{\n key: \"activator\",\n fn: function ({\n on,\n attrs\n }) {\n return [_c(\"span\", _vm._g(_vm._b({}, \"span\", attrs, false), on), [_vm._v(_vm._s(header.text))])];\n }\n }], null, true)\n }, [_c(\"span\", [_vm._v(_vm._s(header.longName))])])], 1);\n }), 0)])];\n }\n }, {\n key: \"body\",\n fn: function ({\n items\n }) {\n return [_c(\"tbody\", [_c(\"tr\", [_c(\"td\", {\n attrs: {\n colspan: _vm.headers.length\n }\n }, [_c(\"h2\", {\n staticClass: \"text-center yearHeader\"\n }, [_vm._v(_vm._s(_vm.yearRange) + \" \"), _c(vuetify_lib_components_VTooltip__WEBPACK_IMPORTED_MODULE_4__[\"VTooltip\"], {\n attrs: {\n top: \"\"\n },\n scopedSlots: _vm._u([{\n key: \"activator\",\n fn: function ({\n on,\n attrs\n }) {\n return [_c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], _vm._g(_vm._b({\n attrs: {\n icon: \"\"\n }\n }, \"v-btn\", attrs, false), on), [_c(vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_3__[\"VIcon\"], {\n attrs: {\n color: \"warning\"\n }\n }, [_vm._v(\" mdi-alert \")])], 1)];\n }\n }], null, true),\n model: {\n value: _vm.show,\n callback: function ($$v) {\n _vm.show = $$v;\n },\n expression: \"show\"\n }\n }, [_c(\"span\", [_vm._v(\"This report includes future transactions and will not match the Sales and Closing Analysis report.\")])])], 1)])]), _c(\"tr\", [_c(\"td\", {\n staticClass: \"highlightedRowBorderTop font-weight-bold text-center\"\n }, [_vm._v(\"Total\")]), _c(\"td\", {\n staticClass: \"highlightedRowBorderTop font-weight-bold text-center\"\n }, [_c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], {\n staticClass: \"popoutBtn\",\n attrs: {\n text: \"\",\n color: \"secondary\"\n },\n on: {\n click: function ($event) {\n _vm.displayReportTransactions(_vm.calcTotalofTotalTransactionsPerTimeRange().transactions);\n }\n }\n }, [_vm._v(\" \" + _vm._s(_vm.calcTotalofTotalTransactionsPerTimeRange().total) + \" \")])], 1), _c(\"td\", {\n staticClass: \"highlightedRowBorderTop font-weight-bold text-center\"\n }), _c(\"td\", {\n staticClass: \"highlightedRowBorderTop font-weight-bold text-center\"\n }), _vm._l(_vm.data, function (item, index) {\n return _c(\"td\", {\n key: index,\n class: _vm.getTotalsCellClass(index)\n }, [_c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], {\n staticClass: \"popoutBtn\",\n attrs: {\n text: \"\",\n color: \"secondary\"\n },\n on: {\n click: function ($event) {\n _vm.displayReportTransactions(_vm.calcTotalTransactionsPerTimeRange(item).transactions);\n }\n }\n }, [_vm._v(\" \" + _vm._s(_vm.calcTotalTransactionsPerTimeRange(item).total) + \" \")])], 1);\n })], 2), _c(\"tr\", [_c(\"td\", {\n staticClass: \"highlightedRowBorderBottom font-weight-bold text-center\"\n }, [_vm._v(\"Avg/mo\")]), _c(\"td\", {\n staticClass: \"highlightedRowBorderBottom font-weight-bold text-center\"\n }, [_vm._v(\" \" + _vm._s(_vm.calcAvgTotalofTotalTransactionsPerTimeRange()) + \" \")]), _c(\"td\", {\n staticClass: \"highlightedRowBorderBottom font-weight-bold text-center\"\n }, [_vm._v(\" \" + _vm._s(_vm.calcAvgTotalofTotalCommunitiesActive()) + \" \")]), _c(\"td\", {\n staticClass: \"highlightedRowBorderBottom font-weight-bold text-center\"\n }, [_vm._v(\" \" + _vm._s(_vm.calcTotalofTotalTransactionsByCommunityActivePerTimeRange()) + \" \")]), _vm._l(_vm.data, function (item, index) {\n return _c(\"td\", {\n key: index,\n class: _vm.getTotalsCellClass(index, true)\n }, [_vm._v(\" \" + _vm._s(_vm.calcAvgTotalTransactionsPerTimeRange(item)) + \" \")]);\n })], 2), _c(\"div\", {\n staticStyle: {\n \"margin-top\": \"40px\"\n }\n })]), _vm._l(_vm.yearsWithMonths, function (year, index) {\n return _c(\"TreeTableBody\", {\n key: index,\n attrs: {\n yearWithMonths: year,\n dataArray: items,\n headersLength: _vm.headers.length\n },\n on: {\n displayReportTransactions: _vm.displayReportTransactions\n }\n });\n })];\n }\n }])\n })], 1), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_1__[\"VCol\"], {\n attrs: {\n cols: \"12\"\n }\n }, [_vm.transactionsPopup ? _c(\"TransactionListPopup\", {\n attrs: {\n onClose: _vm.closeTransactions,\n model: _vm.transactionsPopup,\n prepopulatedList: _vm.transactionsList\n },\n on: {\n \"update:model\": function ($event) {\n _vm.transactionsPopup = $event;\n }\n }\n }) : _vm._e()], 1)], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/components/Reports/SalesClosingTree/TreeTable.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2257799412-vue-loader-template%22%7D!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"57799412-vue-loader-template\"}!./node_modules/vuetify-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Reports/SalesClosingTree/TreeTableBody.vue?vue&type=template&id=7984a56c&scoped=true": /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"57799412-vue-loader-template"}!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Reports/SalesClosingTree/TreeTableBody.vue?vue&type=template&id=7984a56c&scoped=true ***! \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\n/* harmony import */ var vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuetify/lib/components/VBtn */ \"./node_modules/vuetify/lib/components/VBtn/index.js\");\n\n\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"tbody\", [_c(\"tr\", [_c(\"td\", {\n attrs: {\n colspan: _vm.headersLength\n }\n }, [_c(\"span\", {\n staticClass: \"yearHeader\"\n }, [_vm._v(_vm._s(_vm.yearString))])])]), _vm._l(_vm.monthsArray, function (month) {\n return _c(\"tr\", {\n key: month\n }, [_c(\"td\", {\n staticClass: \"stickyMonths\"\n }, [_vm._v(\" \" + _vm._s(month) + \" \")]), _c(\"td\", [_vm.calcTotalCommunitesActivePerMonth(month) > 0 ? _c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], {\n staticClass: \"popoutBtn\",\n attrs: {\n text: \"\",\n color: \"secondary\"\n },\n on: {\n click: function ($event) {\n _vm.requestTransactions(_vm.calcTotalTransactionsPerMonth(month));\n }\n }\n }, [_vm._v(\" \" + _vm._s(_vm.calcTotalTransactionsPerMonth(month).length) + \" \")]) : _vm._e()], 1), _c(\"td\", [_c(\"span\", {\n staticClass: \"font-weight-bold\"\n }, [_vm._v(\" \" + _vm._s(_vm.calcTotalCommunitesActivePerMonth(month) > 0 ? _vm.calcTotalCommunitesActivePerMonth(month) : \"\") + \" \")])]), _c(\"td\", {\n style: {\n backgroundColor: _vm.getSalesColor(month)\n }\n }, [_c(\"span\", {\n staticClass: \"font-weight-bold\"\n }, [_vm._v(\" \" + _vm._s(_vm.getSalesAverage(month)) + \" \")])]), _vm._l(_vm.dataArray, function (item, index) {\n return _c(\"td\", {\n key: item.id,\n class: _vm.getCellClass(index, item.dates[month].isActive)\n }, [item.dates[month].isActive ? _c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], {\n staticClass: \"popoutBtn\",\n attrs: {\n text: \"\",\n color: \"secondary\"\n },\n on: {\n click: function ($event) {\n return _vm.requestTransactions(item.dates[month].transactions);\n }\n }\n }, [_vm._v(\" \" + _vm._s(item.dates[month].transactions.length) + \" \")]) : _vm._e()], 1);\n })], 2);\n }), _c(\"tr\", [_c(\"td\", {\n staticClass: \"highlightedRowBorderTop font-weight-bold\"\n }, [_vm._v(\"Total\")]), _c(\"td\", {\n staticClass: \"highlightedRowBorderTop\"\n }, [_c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], {\n staticClass: \"popoutBtn\",\n attrs: {\n text: \"\",\n color: \"secondary\"\n },\n on: {\n click: function ($event) {\n _vm.requestTransactions(_vm.calcTotalSalesThisYear());\n }\n }\n }, [_vm._v(\" \" + _vm._s(_vm.calcTotalSalesThisYear().length) + \" \")])], 1), _c(\"td\", {\n staticClass: \"highlightedRowBorderTop\"\n }), _c(\"td\", {\n staticClass: \"highlightedRowBorderTop\"\n }), _vm._l(_vm.dataArray, function (item, index) {\n return _c(\"td\", {\n key: item.id,\n class: _vm.getTotalsCellClass(index)\n }, [_c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], {\n staticClass: \"popoutBtn\",\n attrs: {\n text: \"\",\n color: \"secondary\"\n },\n on: {\n click: function ($event) {\n _vm.requestTransactions(_vm.calcTotalTransactionsPerYear(item));\n }\n }\n }, [_vm._v(\" \" + _vm._s(_vm.calcTotalTransactionsPerYear(item).length) + \" \")])], 1);\n })], 2), _c(\"tr\", [_c(\"td\", {\n staticClass: \"highlightedRowBorderBottom font-weight-bold\"\n }, [_vm._v(\"Avg/mo\")]), _c(\"td\", {\n staticClass: \"highlightedRowBorderBottom font-weight-bold\"\n }, [_c(\"span\", [_vm._v(_vm._s(_vm.calcAvgSalesThisYear()))])]), _c(\"td\", {\n staticClass: \"highlightedRowBorderBottom font-weight-bold\"\n }, [_c(\"span\", [_vm._v(_vm._s(_vm.calcAvgTotalActiveCommunitiesPerYear()))])]), _c(\"td\", {\n staticClass: \"highlightedRowBorderBottom font-weight-bold\"\n }, [_c(\"span\", [_vm._v(_vm._s(_vm.getSalesAverageTotal()))])]), _vm._l(_vm.dataArray, function (item, index) {\n return _c(\"td\", {\n key: item.id,\n staticClass: \"highlightedRowBorderBottom\",\n class: _vm.getTotalsCellClass(index, true)\n }, [_c(\"span\", {\n staticClass: \"font-weight-bold\"\n }, [_vm._v(_vm._s(_vm.calcAvgTransactionsPerMonth(item)))])]);\n })], 2), _c(\"tr\", [_c(\"td\", {\n attrs: {\n colspan: _vm.headersLength\n }\n })])], 2);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/components/Reports/SalesClosingTree/TreeTableBody.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2257799412-vue-loader-template%22%7D!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"57799412-vue-loader-template\"}!./node_modules/vuetify-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Transaction/TransactionListPopup.vue?vue&type=template&id=6b9093d1": /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"57799412-vue-loader-template"}!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Transaction/TransactionListPopup.vue?vue&type=template&id=6b9093d1 ***! \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\n/* harmony import */ var vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuetify/lib/components/VBtn */ \"./node_modules/vuetify/lib/components/VBtn/index.js\");\n/* harmony import */ var vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VCard */ \"./node_modules/vuetify/lib/components/VCard/index.js\");\n/* harmony import */ var vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VGrid */ \"./node_modules/vuetify/lib/components/VGrid/index.js\");\n/* harmony import */ var vuetify_lib_components_VDialog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VDialog */ \"./node_modules/vuetify/lib/components/VDialog/index.js\");\n/* harmony import */ var vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VIcon */ \"./node_modules/vuetify/lib/components/VIcon/index.js\");\n/* harmony import */ var vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuetify/lib/components/VToolbar */ \"./node_modules/vuetify/lib/components/VToolbar/index.js\");\n\n\n\n\n\n\n\n\n\n\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VRow\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VCol\"], [_c(vuetify_lib_components_VDialog__WEBPACK_IMPORTED_MODULE_3__[\"VDialog\"], {\n attrs: {\n persistent: \"\",\n \"max-width\": \"80%\"\n },\n model: {\n value: _vm.model,\n callback: function ($$v) {\n _vm.model = $$v;\n },\n expression: \"model\"\n }\n }, [_c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__[\"VCard\"], [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_5__[\"VToolbar\"], {\n attrs: {\n dense: \"\",\n dark: \"\",\n flat: \"\",\n color: \"secondary\"\n }\n }, [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_5__[\"VToolbarTitle\"], {\n staticClass: \"white--text\"\n }, [_vm._v(\"Transactions List\")]), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VSpacer\"]), _c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], {\n attrs: {\n tile: \"\",\n small: \"\",\n color: \"error\"\n },\n on: {\n click: _vm.close\n }\n }, [_c(vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_4__[\"VIcon\"], [_vm._v(\"mdi-window-close\")])], 1)], 1), _c(\"TransactionSearchableList\", {\n attrs: {\n hideToolbar: true,\n prepopulatedList: _vm.prepopulatedList,\n preBuiltHeaders: _vm.preBuiltHeaders\n }\n })], 1)], 1)], 1)], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/components/Transaction/TransactionListPopup.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2257799412-vue-loader-template%22%7D!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Reports/SalesClosingTree/TreeTable.vue?vue&type=style&index=0&id=7e1b2888&lang=scss&scoped=true": /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Reports/SalesClosingTree/TreeTable.vue?vue&type=style&index=0&id=7e1b2888&lang=scss&scoped=true ***! \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \".mdc-typography-style-headline[data-v-7e1b2888] {\\n font-family: Roboto;\\n font-size: 16 .mdc-typography-style-headline --error;\\n font-size-color: red;\\n}\\n.theme--light.v-data-table > .v-data-table__wrapper > table > thead > tr > th[data-v-7e1b2888] {\\n text-align: center !important;\\n font-size: 12px;\\n font-weight: bold;\\n padding: 0px;\\n border: 1px solid #e0e0e0;\\n background-color: #f5f5f5;\\n cursor: pointer;\\n font-size: 1rem !important;\\n position: sticky;\\n top: 0;\\n z-index: 2;\\n}\\n.highlightedRowBorderTop[data-v-7e1b2888] {\\n border-top: 1px solid #000 !important;\\n}\\n.highlightedRowBorderBottom[data-v-7e1b2888] {\\n border-bottom: 1px solid #000 !important;\\n}\\n.highlightedRowBorderRight[data-v-7e1b2888] {\\n border-left: 1px solid #000 !important;\\n}\\n.yearHeader[data-v-7e1b2888] {\\n font-size: 1.5rem;\\n font-weight: bold;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/Reports/SalesClosingTree/TreeTable.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Reports/SalesClosingTree/TreeTableBody.vue?vue&type=style&index=0&id=7984a56c&lang=scss&scoped=true": /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Reports/SalesClosingTree/TreeTableBody.vue?vue&type=style&index=0&id=7984a56c&lang=scss&scoped=true ***! \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \".mdc-typography-style-headline[data-v-7984a56c] {\\n font-family: Roboto;\\n font-size: 16 .mdc-typography-style-headline --error;\\n font-size-color: red;\\n}\\n.highlightedRowBorderRight[data-v-7984a56c] {\\n border-left: 1px solid #000 !important;\\n}\\n.highlightedRowBorderTop[data-v-7984a56c] {\\n border-top: 1px solid #000 !important;\\n}\\n.highlightedRowBorderBottom[data-v-7984a56c] {\\n border-bottom: 1px solid #000 !important;\\n}\\n.activeColumn[data-v-7984a56c] {\\n background-color: #d9ead3 !important;\\n}\\ntbody tr[data-v-7984a56c]:hover {\\n background-color: transparent !important;\\n}\\ntd[data-v-7984a56c] {\\n text-align: center;\\n padding: 0px;\\n font-size: 0.9rem !important;\\n}\\n.yearHeader[data-v-7984a56c] {\\n font-size: 1.5rem;\\n font-weight: bold;\\n margin-bottom: 10px;\\n text-align: center;\\n}\\n.stickyMonths[data-v-7984a56c] {\\n position: sticky;\\n left: 0;\\n z-index: 1;\\n background-color: #f5f5f5;\\n font-weight: bold;\\n padding: 0px;\\n border: 1px solid #e0e0e0;\\n min-width: 80px !important;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/Reports/SalesClosingTree/TreeTableBody.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Reports/SalesClosingTree/TreeTable.vue?vue&type=style&index=0&id=7e1b2888&lang=scss&scoped=true": /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Reports/SalesClosingTree/TreeTable.vue?vue&type=style&index=0&id=7e1b2888&lang=scss&scoped=true ***! \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// style-loader: Adds some css to the DOM by adding a