{"version":3,"sources":["webpack:///./src/providers/tag.js","webpack:///./src/components/Dashboards/TagUsage.vue","webpack:///src/components/Dashboards/TagUsage.vue","webpack:///./src/components/Dashboards/TagUsage.vue?efd6","webpack:///./src/components/Dashboards/TagUsage.vue?3995","webpack:///./src/components/Dashboards/TagUsage.vue?fd6d"],"names":["getTagUsageToken","methods","cancelGetTagsRequest","cancel","cancelGetLocationTagUsageRequest","getTags","searchTerm","page","itemsPerPage","_this","_asyncToGenerator","_regenerator","m","_callee","response","w","_context","n","axios","CancelToken","source","get","concat","process","cancelToken","token","params","q","headers","apiToken","profileToken","store","getters","v","a","getLocationTagUsage","locationId","month","year","nrOfTags","splitMonths","_this2","_callee2","_context2","top","extractKeywords","criteria","_callee3","_context3","post","JSON","stringify","render","_vm","this","_c","_self","attrs","isLoading","key","staticClass","_l","months","_v","_s","_f","$i18n","locale","_e","mYear","tagUsageFiltered","tag","Id","Rank","on","$event","selectTag","class","selectedTag","TagId","Tag","TimesUsed","length","$t","TotalTags","staticRenderFns","props","default","type","Number","Boolean","Date","getFullYear","data","mMonth","tagUsageItems","created","push","tagProvider","then","status","finally","$emit","tags","filter","t","Month","component"],"mappings":"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","file":"js/chunk-680a838b.js?id=66ba9336aaa6d00d3a86","sourcesContent":["import axios from 'axios'\nimport store from '../store'\n\nlet getTagUsageToken = null\n\nexport default {\n  methods: {\n    cancelGetTagsRequest() {\n      if (getTagUsageToken) {\n        getTagUsageToken.cancel()\n      }\n    },\n\n    cancelGetLocationTagUsageRequest() {\n      if (getTagUsageToken) {\n        getTagUsageToken.cancel()\n      }\n    },\n\n    async getTags(searchTerm, page, itemsPerPage) {\n      this.cancelGetTagsRequest()\n      getTagUsageToken = axios.CancelToken.source()\n\n      const response = await axios.get(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/tag`,\n        {\n          cancelToken: getTagUsageToken.token,\n\n          params: {\n            q: searchTerm,\n            page: page,\n            itemsPerPage: itemsPerPage\n          },\n          headers: {\n            'Content-type': 'application/json',\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      )\n      return response\n    },\n\n    async getLocationTagUsage(locationId, month, year, nrOfTags, splitMonths) {\n      this.cancelGetLocationTagUsageRequest()\n      getTagUsageToken = axios.CancelToken.source()\n\n      const response = await axios.get(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/tag/usage/location/${locationId}`,\n        {\n          cancelToken: getTagUsageToken.token,\n\n          params: {\n            month: month,\n            year: year,\n            top: nrOfTags,\n            splitMonths: splitMonths\n          },\n          headers: {\n            'Content-type': 'application/json',\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      )\n      return response\n    },\n\n    async extractKeywords(criteria) {\n      const response = await axios.post(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/tag/extract`,\n        JSON.stringify(criteria),\n        {\n          headers: {\n            'Content-type': 'application/json',\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      )\n      return response\n    }\n  }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[(_vm.isLoading)?_c('div',{key:\"loading\"},[_c('ui-loader')],1):_c('div',{key:\"ready\"},[_c('div',{staticClass:\"columns is-multiline\"},_vm._l((_vm.months),function(month){return _c('div',{key:month,staticClass:\"column is-one-third\"},[_c('div',[(month > 0)?_c('p',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm._f(\"getMonthName\")(month,_vm.$i18n.locale))+\" \")]):_vm._e(),(month === 0)?_c('span',[_vm._v(_vm._s(_vm.mYear))]):_vm._e()]),_c('table',{staticClass:\"table is-striped\"},[_c('tbody',_vm._l((_vm.tagUsageFiltered(month)),function(tag){return _c('tr',{key:tag.Id},[_c('td',[_vm._v(_vm._s(tag.Rank)+\".\")]),_c('td',[_c('a',{on:{\"click\":function($event){return _vm.selectTag(tag)}}},[_c('span',{staticClass:\"tag\",class:{\n                      'is-warning': _vm.selectedTag.TagId === tag.TagId,\n                      'is-link': _vm.selectedTag.TagId !== tag.TagId,\n                    }},[_vm._v(_vm._s(tag.Tag))])])]),_c('td',{staticClass:\"has-text-right\"},[_vm._v(_vm._s(tag.TimesUsed)+\"x\")])])}),0),(_vm.tagUsageFiltered(month).length > 0)?_c('tfoot',[_c('tr',[_c('td',{attrs:{\"colspan\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Dashboards.TagUsage.Table_TotalTags'))+\" \"+_vm._s(_vm._f(\"getMonthName\")(month,_vm.$i18n.locale))+\" \")]),_c('td',{staticClass:\"has-text-right\"},[_vm._v(\" \"+_vm._s(_vm.tagUsageFiltered(month)[0].TotalTags)+\" \")])])]):_vm._e()])])}),0)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <transition\n    name=\"fade\"\n    mode=\"out-in\"\n  >\n    <div\n      v-if=\"isLoading\"\n      key=\"loading\"\n    >\n      <ui-loader />\n    </div>\n    <div\n      v-else\n      key=\"ready\"\n    >\n      <div class=\"columns is-multiline\">\n        <div\n          v-for=\"month in months\"\n          :key=\"month\"\n          class=\"column is-one-third\"\n        >\n          <div>\n            <p\n              v-if=\"month > 0\"\n              class=\"title\"\n            >\n              {{ month | getMonthName($i18n.locale) }}\n            </p>\n            <span v-if=\"month === 0\">{{ mYear }}</span>\n          </div>\n\n          <table class=\"table is-striped\">\n            <tbody>\n              <tr\n                v-for=\"tag in tagUsageFiltered(month)\"\n                :key=\"tag.Id\"\n              >\n                <td>{{ tag.Rank }}.</td>\n                <td>\n                  <a @click=\"selectTag(tag)\">\n                    <span\n                      class=\"tag\"\n                      :class=\"{\n                        'is-warning': selectedTag.TagId === tag.TagId,\n                        'is-link': selectedTag.TagId !== tag.TagId,\n                      }\"\n                    >{{ tag.Tag }}</span>\n                  </a>\n                </td>\n                <td class=\"has-text-right\">{{ tag.TimesUsed }}x</td>\n              </tr>\n            </tbody>\n            <tfoot v-if=\"tagUsageFiltered(month).length > 0\">\n              <tr>\n                <td colspan=\"2\">\n                  {{ $t('Components.Dashboards.TagUsage.Table_TotalTags') }}\n                  {{ month | getMonthName($i18n.locale) }}\n                </td>\n                <td class=\"has-text-right\">\n                  {{ tagUsageFiltered(month)[0].TotalTags }}\n                </td>\n              </tr>\n            </tfoot>\n          </table>\n        </div>\n      </div>\n    </div>\n  </transition>\n</template>\n\n<script>\nimport tagProvider from '@/providers/tag'\n\nexport default {\n  props: {\n    locationId: {\n      default: 0,\n      type: Number,\n    },\n\n    month: {\n      default: 0,\n      type: Number,\n    },\n\n    splitMonths: {\n      default: false,\n      type: Boolean,\n    },\n\n    year: {\n      default: new Date().getFullYear(),\n      type: Number,\n    },\n  },\n\n  data() {\n    return {\n      isLoading: true,\n      nrOfTags: 10,\n      months: [],\n      mMonth: this.month,\n      mYear: this.year,\n      selectedTag: {\n        TagId: 0,\n        Tag: '',\n      },\n      tagUsageItems: [],\n    }\n  },\n\n  created() {\n    if (this.mMonth > 0) {\n      this.months.push(this.mMonth)\n    } else {\n      if (this.splitMonths) {\n        this.months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n      } else {\n        this.months.push(0)\n      }\n    }\n\n    this.getLocationTagUsage()\n  },\n\n  methods: {\n    getLocationTagUsage() {\n      tagProvider.methods\n        .getLocationTagUsage(\n          this.locationId,\n          this.mMonth,\n          this.mYear,\n          this.nrOfTags,\n          this.splitMonths\n        )\n        .then((response) => {\n          if (response.status === 200) {\n            this.tagUsageItems = response.data\n          }\n        })\n        .finally(() => {\n          this.isLoading = false\n        })\n    },\n\n    selectTag(tag) {\n      this.selectedTag = tag\n      this.$emit('tagSelected', tag)\n    },\n\n    tagUsageFiltered(month) {\n      let tags = []\n\n      tags = this.tagUsageItems.filter((t) => t.Month === month)\n\n      return tags\n    },\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\ntable {\n  width: 100%;\n}\n.column {\n  width: 24%;\n\n  @media screen and (max-width: 1420px) {\n    width: 32%;\n  }\n\n  @media screen and (max-width: 1160px) {\n    width: 48%;\n  }\n\n  @media screen and (max-width: 900px) {\n    width: 100%;\n  }\n}\n</style>\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!./TagUsage.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!./TagUsage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TagUsage.vue?vue&type=template&id=9bdf4746&scoped=true\"\nimport script from \"./TagUsage.vue?vue&type=script&lang=js\"\nexport * from \"./TagUsage.vue?vue&type=script&lang=js\"\nimport style0 from \"./TagUsage.vue?vue&type=style&index=0&id=9bdf4746&prod&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  \"9bdf4746\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??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/index.js??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/index.js??vue-loader-options!./TagUsage.vue?vue&type=style&index=0&id=9bdf4746&prod&lang=scss&scoped=true\""],"sourceRoot":""}