{"version":3,"sources":["webpack:///./src/providers/pin.js","webpack:///./src/components/Pins/IsPinned.vue","webpack:///src/components/Pins/IsPinned.vue","webpack:///./src/components/Pins/IsPinned.vue?776b","webpack:///./src/components/Pins/IsPinned.vue?a503"],"names":["methods","getLocationPins","_arguments","arguments","_asyncToGenerator","_regenerator","m","_callee","locationId","response","w","_context","n","length","undefined","axios","get","concat","process","params","headers","apiToken","profileToken","store","getters","v","a","checkIsPinned","_arguments2","_callee2","typeId","itemId","_context2","pinItem","pin","_callee3","_context3","post","JSON","stringify","deletePin","pinId","_callee4","_context4","delete","render","_vm","this","_c","_self","attrs","key","isPinned","staticClass","class","isLoading","on","setPinState","showLabel","label","_v","_s","_e","staticRenderFns","props","default","type","Number","String","Boolean","data","getPinType","computed","Id","$t","created","getIsPinnedData","toLowerCase","_this","self","pinProvider","then","status","finally","unpinItem","_this2","LocationId","TypeId","ItemId","_this3","component"],"mappings":"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","file":"js/chunk-46360cd9.js?id=c9135ef42400bc1c0bcc","sourcesContent":["import axios from \"axios\";\nimport store from \"../store\";\n\nexport default {\n  methods: {\n    async getLocationPins(locationId = 0) {\n      const response = await axios.get(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/pin/location/${locationId}`,\n        {\n          params: {\n            locationId: locationId\n          },\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 checkIsPinned(locationId = 0, typeId = 0, itemId = 0) {\n      const response = await axios.get(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/pin/pinned`,\n        {\n          params: {\n            locationId: locationId,\n            typeId: typeId,\n            itemId: itemId\n          },\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 pinItem(locationId, pin) {\n      const response = await axios.post(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/pin`,\n        JSON.stringify(pin),\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 deletePin(pinId) {\n      const response = await axios.delete(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/pin/${pinId}`,\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\"}},[_c('a',{key:'pin' + _vm.isPinned,staticClass:\"has-icon has-text-link\",class:{ 'has-text-grey-light' : _vm.isLoading },on:{\"click\":_vm.setPinState}},[_c('span',{staticClass:\"icon\"},[(_vm.isPinned)?_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'bookmark']}}):_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'thumbtack']}})],1),(_vm.showLabel && _vm.label)?_c('span',[_vm._v(_vm._s(_vm.label))]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <transition\n    name=\"fade\"\n    mode=\"out-in\"\n  >\n    <a\n      :key=\"'pin' + isPinned\"\n      class=\"has-icon has-text-link\"\n      :class=\"{ 'has-text-grey-light' : isLoading }\"\n      @click=\"setPinState\"\n    >\n      <span class=\"icon\">\n        <font-awesome-icon\n          v-if=\"isPinned\"\n          :icon=\"['fas', 'bookmark']\"\n        />\n        <font-awesome-icon\n          v-else\n          :icon=\"['fas', 'thumbtack']\"\n        />\n      </span>\n      <span v-if=\"showLabel && label\">{{label}}</span>\n    </a>\n  </transition>\n</template>\n\n<script>\nimport pinProvider from '@/providers/pin'\n\nexport default {\n  props: {\n    itemId: {\n      default: 0,\n      type: Number\n    },\n\n    locationId: {\n      default: 0,\n      type: Number\n    },\n\n    type: {\n      default: '',\n      type: String\n    },\n\n    showLabel: {\n      default: true,\n      type: Boolean\n    }\n  },\n\n  data() {\n    return {\n      pin: null,\n      typeId: this.getPinType(),\n      isLoading: false\n    }\n  },\n\n  computed: {\n    isPinned() {\n      let isPinned = false\n\n      if (this.pin && this.pin.Id > 0) {\n        isPinned = true\n      }\n\n      return isPinned\n    },\n\n    label() {\n      return this.isPinned ? this.$t('General.Unpin') : this.$t('General.Pin')\n    }\n  },\n\n  created() {\n    this.getIsPinnedData()\n  },\n\n  methods: {\n    getPinType() {\n      let self = this\n      let typeId = 0\n\n      switch (this.type.toLowerCase()) {\n        case 'reservation':\n          typeId = 1\n          break\n        case 'option':\n          typeId = 2\n          break\n        case 'space':\n          typeId = 3\n          break\n        case 'invoice':\n          typeId = 5\n          break\n        case 'company':\n          typeId = 6\n          break\n        case 'customer':\n          typeId = 7\n          break\n        case 'voucher':\n          typeId = 8\n          break\n        case 'chat':\n          typeId = 9\n          break\n        case 'quote':\n          typeId = 10\n          break\n        case 'question':\n          typeId = 11\n          break\n        case 'article':\n          typeId = 12\n          break\n        case 'event':\n          typeId = 13\n          break\n        case 'job':\n          typeId = 14\n          break\n        case 'group':\n          typeId = 15\n          break\n      }\n\n      return typeId\n    },\n\n    getIsPinnedData() {\n      let self = this\n      if (!this.isLoading) {\n        this.isLoading = true\n        pinProvider.methods.checkIsPinned(this.locationId, this.typeId, this.itemId)\n          .then(response => {\n            if (response.status === 200) {\n              this.pin = response.data\n            }\n          })\n          .finally(() => {\n            self.isLoading = false\n          })\n      }\n    },\n\n    setPinState() {\n      if (!this.isLoading) {\n        this.isLoading = true\n        if (this.isPinned) {\n          this.unpinItem()\n        } else {\n          this.pinItem()\n        }\n      }\n    },\n\n    pinItem() {\n      let self = this\n      let pin = {\n        LocationId: this.locationId,\n        TypeId: this.typeId,\n        ItemId: this.itemId\n      }\n      pinProvider.methods.pinItem(this.locationId, pin)\n        .then(response => {\n          if (response.status === 200) {\n            this.pin = response.data\n          }\n        })\n        .finally(() => {\n          self.isLoading = false\n        })\n    },\n\n    unpinItem() {\n      let self = this\n      pinProvider.methods.deletePin(this.pin.Id)\n        .then(response => {\n          if (response.status === 200) {\n            this.pin = null\n          }\n        })\n        .finally(() => {\n          self.isLoading = false\n        })\n    }\n  }\n}\n</script>","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!./IsPinned.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!./IsPinned.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IsPinned.vue?vue&type=template&id=89036e1a\"\nimport script from \"./IsPinned.vue?vue&type=script&lang=js\"\nexport * from \"./IsPinned.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":""}