{"version":3,"sources":["webpack:///./src/components/Dashboards/ReservationYearStats.vue","webpack:///src/components/Dashboards/ReservationYearStats.vue","webpack:///./src/components/Dashboards/ReservationYearStats.vue?d5af","webpack:///./src/components/Dashboards/ReservationYearStats.vue?9e12"],"names":["render","_vm","this","_c","_self","staticClass","_v","_s","$t","attrs","tag","_l","filteredStats","stat","key","Year","NrOfReservations","TotalSeats","_f","TotalRevenueExclTax","ChurnRate","showAllYears","reservationYearStats","length","on","setShowAll","_e","staticRenderFns","props","companyId","default","type","Number","locationId","yearsToShow","data","Date","getFullYear","computed","stats","slice","created","getLocationReservationYearStats","methods","_this","statsProvider","then","response","status","component"],"mappings":"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","file":"js/chunk-2d0b1e41.js?id=fe783d16aaf20e1f900b","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('table',{staticClass:\"table is-fullwidth is-striped is-narrow is-size-7 is-size-6-desktop has-margin-top has-margin-bottom\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t('Components.Dashboards.ReservationYearStats.Table_Year'))+\" \")]),_c('th',{attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Dashboards.ReservationYearStats.Table_NrOfRes'))+\" \")]),_c('th',{attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Dashboards.ReservationYearStats.Table_TotalSeats'))+\" \")]),_c('th',{attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm.$t( 'Components.Dashboards.ReservationYearStats.Table_TotalRevenue' ))+\" \")]),_c('th',{attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Dashboards.ReservationYearStats.Table_ChurnRate'))+\" \")])])]),_c(\"transition-group\",{tag:\"tbody\",attrs:{\"name\":\"slide-down\"}},_vm._l((_vm.filteredStats),function(stat){return _c('tr',{key:stat.Year},[_c('td',[_vm._v(_vm._s(stat.Year))]),_c('td',{attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(stat.NrOfReservations === -1 ? '--' : stat.NrOfReservations)+\" \")]),_c('td',{attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(stat.TotalSeats === -1 ? '--' : stat.TotalSeats)+\" \")]),_c('td',{attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(stat.TotalRevenueExclTax === -1 ? '--' : stat.TotalRevenueExclTax))+\" \")]),_c('td',{attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(stat.ChurnRate === -1 ? '--' : stat.ChurnRate + '%')+\" \")])])}),0),_c('tfoot',[_c('tr',[_c('td',{attrs:{\"colspan\":\"5\"}},[_c('div'),(!_vm.showAllYears && _vm.reservationYearStats.length > 3)?_c('div',{staticClass:\"has-text-centered\"},[_c('a',{staticClass:\"button is-small\",on:{\"click\":_vm.setShowAll}},[_c('span',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'chevron-down']}})],1),_c('span',[_vm._v(_vm._s(_vm.$t( 'Components.Dashboards.ReservationYearStats.Button_ShowMore' )))])])]):_vm._e(),(_vm.showAllYears)?_c('div',{staticClass:\"has-text-centered\"},[_c('a',{staticClass:\"button is-small\",on:{\"click\":_vm.setShowAll}},[_c('span',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'chevron-up']}})],1),_c('span',[_vm._v(_vm._s(_vm.$t( 'Components.Dashboards.ReservationYearStats.Button_ShowLess' )))])])]):_vm._e()])])])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <table class=\"table is-fullwidth is-striped is-narrow is-size-7 is-size-6-desktop has-margin-top has-margin-bottom\">\n      <thead>\n        <tr>\n          <th>\n            {{ $t('Components.Dashboards.ReservationYearStats.Table_Year') }}\n          </th>\n          <th align=\"right\">\n            {{ $t('Components.Dashboards.ReservationYearStats.Table_NrOfRes') }}\n          </th>\n          <th align=\"right\">\n            {{\n              $t('Components.Dashboards.ReservationYearStats.Table_TotalSeats')\n            }}\n          </th>\n          <th align=\"right\">\n            {{\n              $t(\n                'Components.Dashboards.ReservationYearStats.Table_TotalRevenue'\n              )\n            }}\n          </th>\n          <th align=\"right\">\n            {{\n              $t('Components.Dashboards.ReservationYearStats.Table_ChurnRate')\n            }}\n          </th>\n        </tr>\n      </thead>\n      <tbody\n        name=\"slide-down\"\n        is=\"transition-group\"\n      >\n        <tr\n          v-for=\"stat in filteredStats\"\n          :key=\"stat.Year\"\n        >\n          <td>{{ stat.Year }}</td>\n          <td align=\"right\">\n            {{ stat.NrOfReservations === -1 ? '--' : stat.NrOfReservations }}\n          </td>\n          <td align=\"right\">\n            {{ stat.TotalSeats === -1 ? '--' : stat.TotalSeats }}\n          </td>\n          <td align=\"right\">\n            {{\n              stat.TotalRevenueExclTax === -1\n                ? '--'\n                : stat.TotalRevenueExclTax | toCurrency\n            }}\n          </td>\n          <td align=\"right\">\n            {{ stat.ChurnRate === -1 ? '--' : stat.ChurnRate + '%' }}\n          </td>\n        </tr>\n      </tbody>\n      <tfoot>\n        <tr>\n          <td colspan=\"5\">\n            <div></div>\n\n            <div\n              v-if=\"!showAllYears && reservationYearStats.length > 3\"\n              class=\"has-text-centered\"\n            >\n              <a\n                class=\"button is-small\"\n                @click=\"setShowAll\"\n              >\n                <span class=\"icon\">\n                  <font-awesome-icon :icon=\"['fas', 'chevron-down']\" />\n                </span>\n                <span>{{\n                  $t(\n                    'Components.Dashboards.ReservationYearStats.Button_ShowMore'\n                  )\n                }}</span>\n              </a>\n            </div>\n\n            <div\n              v-if=\"showAllYears\"\n              class=\"has-text-centered\"\n            >\n              <a\n                class=\"button is-small\"\n                @click=\"setShowAll\"\n              >\n                <span class=\"icon\">\n                  <font-awesome-icon :icon=\"['fas', 'chevron-up']\" />\n                </span>\n                <span>{{\n                  $t(\n                    'Components.Dashboards.ReservationYearStats.Button_ShowLess'\n                  )\n                }}</span>\n              </a>\n            </div>\n          </td>\n        </tr>\n      </tfoot>\n    </table>\n  </div>\n</template>\n\n<script>\nimport statsProvider from '@/providers/stats'\n\nexport default {\n  props: {\n    companyId: {\n      default: 0,\n      type: Number,\n    },\n\n    locationId: {\n      default: 0,\n      type: Number,\n    },\n\n    yearsToShow: {\n      default: 3,\n      type: Number,\n    }\n  },\n\n  data() {\n    return {\n      reservationYearStats: [\n        {\n          Year: new Date().getFullYear() + 1,\n          NrOfReservations: -1,\n          TotalSeats: -1,\n          TotalRevenueExclTax: -1,\n          ChurnRate: -1,\n        },\n        {\n          Year: new Date().getFullYear(),\n          NrOfReservations: -1,\n          TotalSeats: -1,\n          TotalRevenueExclTax: -1,\n          ChurnRate: -1,\n        },\n        {\n          Year: new Date().getFullYear() - 1,\n          NrOfReservations: -1,\n          TotalSeats: -1,\n          TotalRevenueExclTax: -1,\n          ChurnRate: -1,\n        },\n      ],\n      showAllYears: false,\n    }\n  },\n\n  computed: {\n    filteredStats() {\n      let stats = []\n\n      if (this.showAllYears) {\n        stats = this.reservationYearStats\n      } else {\n        stats = this.reservationYearStats.slice(0, this.yearsToShow)\n      }\n\n      return stats\n    },\n  },\n\n  created() {\n    this.getLocationReservationYearStats()\n  },\n\n  methods: {\n    getLocationReservationYearStats() {\n      statsProvider.methods\n        .getLocationReservationYearStats(this.locationId, this.companyId)\n        .then((response) => {\n          if (response.status === 200) {\n            this.reservationYearStats = response.data\n          }\n        })\n    },\n\n    setShowAll() {\n      this.showAllYears = !this.showAllYears\n    },\n  },\n}\n</script>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReservationYearStats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReservationYearStats.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ReservationYearStats.vue?vue&type=template&id=5c44e2ae\"\nimport script from \"./ReservationYearStats.vue?vue&type=script&lang=js\"\nexport * from \"./ReservationYearStats.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"],"sourceRoot":""}