{"version":3,"sources":["webpack:///./src/eventbus/event-bus.js","webpack:///./src/providers/availability.js","webpack:///./src/components/Reservations/CreateReservation.vue","webpack:///src/components/Reservations/CreateReservation.vue","webpack:///./src/components/Reservations/CreateReservation.vue?ae60","webpack:///./src/components/Reservations/CreateReservation.vue?a809"],"names":["EventBus","Vue","getAvailabilityToken","getValidateAvailabilityToken","copyReservationCheckAvailabilityToken","methods","getAvailability","startDate","endDate","channelId","countryId","LocationId","searchTerm","meetingtypeId","seats","startTime","endTime","_arguments","arguments","_asyncToGenerator","_regenerator","m","_callee","settingId","spaceId","voucherId","tenderId","widgetId","language","isEmployee","response","w","_context","n","length","undefined","cancel","axios","CancelToken","source","get","concat","process","cancelToken","token","params","q","channel","country","location","meetingtype","setting","space","isBackend","voucher","tender","headers","apiToken","profileToken","store","getters","v","a","checkSpaceTimeAvailability","_callee2","_context2","post","JSON","stringify","copyReservationCheckAvailability","reservationId","_callee3","_context3","selectSpace","searchId","locationId","hash","_arguments2","_callee4","reservationType","criteria","_context4","render","_vm","this","_c","_self","staticClass","_l","locationState","Meetingtypes","meetingType","key","MeetingtypeId","class","on","$event","setMeetingtype","_v","_s","_f","$t","reservationTypes","ct","Id","directives","name","rawName","value","expression","attrs","domProps","_defineProperty","_q","Type","_e","enter","leave","isCreating","setSearchId","showSideDrawer","hideSideBar","showSpaceSummary","itemId","staticRenderFns","components","CheckAvailability","data","Name","company","Date","endMinutes","isSecondOption","linkReservationId","Number","$route","meetingtypeIds","settings","spaces","startMinutes","computed","_objectSpread","mapState","mapGetters","locationChannels","channels","Channels","defaultChannelId","locationSettings","ChannelId","loggedinProfile","profile","profileState","Profile","Settings","selectedreservationType","index","result","created","_this","push","$on","setShowSpaceSummary","spaceSelected","preselectedreservationType","find","DefaultNewReservationType","beforeDestroy","$off","createReservation","_this2","self","availabilityProvider","Hash","then","status","reservation","$emit","$router","reservationKey","Key","finally","SpaceId","setVisibleSideBarItem","item","component"],"mappings":"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","file":"js/chunk-7cad29a0.js?id=16949add363ddfcdee93","sourcesContent":["import Vue from 'vue'\nexport const EventBus = new Vue()\n\nexport default EventBus\n","import axios from 'axios'\nimport store from '../store'\n\nlet getAvailabilityToken = null\nlet getValidateAvailabilityToken = null\nlet copyReservationCheckAvailabilityToken = null\n\nexport default {\n  methods: {\n    async getAvailability(\n      startDate,\n      endDate,\n      channelId,\n      countryId,\n      LocationId,\n      searchTerm,\n      meetingtypeId,\n      seats,\n      startTime,\n      endTime,\n      settingId = 0,\n      spaceId = 0,\n      voucherId = 0,\n      tenderId = 0,\n      widgetId = -100,\n      language = 'en',\n      isEmployee = false\n    ) {\n      if (getAvailabilityToken) {\n        getAvailabilityToken.cancel('Canceled by new request.')\n      }\n      getAvailabilityToken = axios.CancelToken.source()\n\n      const response = await axios.get(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v2/availability`,\n        {\n          cancelToken: getAvailabilityToken.token,\n          params: {\n            q: searchTerm,\n            channel: channelId,\n            country: countryId,\n            location: LocationId,\n            meetingtype: meetingtypeId,\n            seats: seats,\n            startDate: startDate,\n            startTime: startTime,\n            endDate: endDate,\n            endTime: endTime,\n            setting: settingId,\n            space: spaceId,\n            isBackend: isEmployee,\n            voucher: voucherId,\n            tender: tenderId,\n            widgetId: widgetId,\n            language: language,\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 checkSpaceTimeAvailability(space) {\n      if (getValidateAvailabilityToken) {\n        getValidateAvailabilityToken.cancel()\n      }\n      getValidateAvailabilityToken = axios.CancelToken.source()\n\n      const response = await axios.post(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/availability/time/check`,\n        JSON.stringify(space),\n        {\n          cancelToken: getValidateAvailabilityToken.token,\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    async copyReservationCheckAvailability(reservationId, startDate, endDate) {\n      if (copyReservationCheckAvailabilityToken) {\n        copyReservationCheckAvailabilityToken.cancel('Canceled by new request.')\n      }\n      copyReservationCheckAvailabilityToken = axios.CancelToken.source()\n\n      const response = await axios.get(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/availability/copy/check`,\n        {\n          cancelToken: copyReservationCheckAvailabilityToken.token,\n          params: {\n            endDate: endDate,\n            reservationId: reservationId,\n            startDate: startDate,\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 selectSpace(searchId, locationId, hash, reservationType = 'Draft') {\n      let criteria = {\n        searchId,\n        locationId,\n        reservationType,\n        hash,\n      }\n\n      const response = await axios.post(\n        `${process.env.VUE_APP_API_RESERVATION_URL}/api/reservation/availability/select`,\n        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('div',[_c('div',{staticClass:\"tabs is-boxed\"},[_c('ul',_vm._l((_vm.locationState.Meetingtypes),function(meetingType){return _c('li',{key:meetingType.MeetingtypeId,class:{\n          'is-active': _vm.meetingtypeId === meetingType.MeetingtypeId,\n        }},[_c('a',{on:{\"click\":function($event){return _vm.setMeetingtype(meetingType.MeetingtypeId)}}},[_c('span',[_vm._v(_vm._s(_vm._f(\"getMeetingtypeName\")(meetingType.MeetingtypeId)))])])])}),0)]),(_vm.meetingtypeId === 1)?_c('div',{staticClass:\"is-hidden-print filters has-margin-bottom\"},[_c('div',{staticClass:\"has-text-weight-bold mb-1\"},[_vm._v(_vm._s(_vm.$t('Components.Reservation.CreateReservation.Label_ReservationType')))]),_c('div',{staticClass:\"control\"},_vm._l((_vm.reservationTypes),function(ct){return _c('label',{key:ct.Id,staticClass:\"radio\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.reservationType),expression:\"reservationType\"}],attrs:{\"type\":\"radio\",\"name\":\"reservationType\"},domProps:{\"value\":ct,\"checked\":_vm.reservationType.Id === ct.Id,\"checked\":_vm._q(_vm.reservationType,ct)},on:{\"change\":function($event){_vm.reservationType=ct}}}),_vm._v(\" \"+_vm._s(_vm.$t(`Components.Reservation.CreateReservation.BookingType_${ct.Type}`))+\" \")])}),0)]):_vm._e(),_c('div',[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\",\"duration\":{ enter: 400, leave: 400 }}},[(_vm.meetingtypeId > 0)?_c('CheckAvailability',{key:'checkAvailability' + _vm.meetingtypeId,attrs:{\"channelId\":_vm.channelId,\"locationId\":_vm.locationId,\"meetingtypeId\":_vm.meetingtypeId,\"showDateInput\":true,\"isEmployee\":true,\"isDisabled\":_vm.isCreating},on:{\"searchInitiated\":_vm.setSearchId}}):_vm._e()],1)],1),_c('div',{staticClass:\"sideDrawer right\",class:{ 'is-active': _vm.showSideDrawer }},[_c('div',{staticClass:\"padding header has-text-left\"},[_c('button',{staticClass:\"button\",attrs:{\"href\":\"javascript:\"},on:{\"click\":_vm.hideSideBar}},[_c('span',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'chevron-left']}})],1),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('Form.Control.Close'))}})])]),_c('div',{staticClass:\"wrapper\"},[(_vm.showSpaceSummary)?_c('space-summary',{attrs:{\"spaceId\":_vm.itemId}}):_vm._e()],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <div class=\"tabs is-boxed\">\n      <ul>\n        <li\n          v-for=\"meetingType in locationState.Meetingtypes\"\n          :key=\"meetingType.MeetingtypeId\"\n          :class=\"{\n            'is-active': meetingtypeId === meetingType.MeetingtypeId,\n          }\"\n        >\n          <a @click=\"setMeetingtype(meetingType.MeetingtypeId)\">\n            <span>{{\n              meetingType.MeetingtypeId | getMeetingtypeName\n            }}</span>\n          </a>\n        </li>\n      </ul>\n    </div>\n\n    <div v-if=\"meetingtypeId === 1\" class=\"is-hidden-print filters has-margin-bottom\">\n      <div class=\"has-text-weight-bold mb-1\">{{ $t('Components.Reservation.CreateReservation.Label_ReservationType') }}</div>\n      \n      <div class=\"control\">\n        <label class=\"radio\" v-for=\"ct in reservationTypes\" :key=\"ct.Id\">\n          <input type=\"radio\" name=\"reservationType\" v-model=\"reservationType\" :value=\"ct\" :checked=\"reservationType.Id === ct.Id\" />\n          {{ $t(`Components.Reservation.CreateReservation.BookingType_${ct.Type}`) }}\n        </label>\n      </div>\n\n    </div>\n\n    <div>\n      <transition\n        name=\"fade\"\n        mode=\"out-in\"\n        :duration=\"{ enter: 400, leave: 400 }\"\n      >\n        <CheckAvailability\n          :key=\"'checkAvailability' + meetingtypeId\"\n          v-if=\"meetingtypeId > 0\"\n          :channelId=\"channelId\"\n          :locationId=\"locationId\"\n          :meetingtypeId=\"meetingtypeId\"\n          :showDateInput=\"true\"\n          :isEmployee=\"true\"\n          :isDisabled=\"isCreating\"\n          @searchInitiated=\"setSearchId\"\n        />\n      </transition>\n    </div>\n\n    <div class=\"sideDrawer right\" :class=\"{ 'is-active': showSideDrawer }\">\n      <div class=\"padding header has-text-left\">\n        <button href=\"javascript:\" class=\"button\" @click=\"hideSideBar\">\n          <span class=\"icon\">\n            <font-awesome-icon :icon=\"['fas', 'chevron-left']\" />\n          </span>\n          <span v-text=\"$t('Form.Control.Close')\"></span>\n        </button>\n      </div>\n\n      <div class=\"wrapper\">\n        <space-summary v-if=\"showSpaceSummary\" :spaceId=\"itemId\" />\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport availabilityProvider from '@/providers/availability'\nimport { mapGetters, mapState } from 'vuex'\nimport { EventBus } from '@/eventbus/event-bus'\n\nexport default {\n  components: {\n    CheckAvailability: () => import(/* webpackChunkName: \"createReservation\" */ '@/components/Availability/CheckAvailability'),\n  },\n\n  data() {\n    return {\n      channelId: 0,\n      reservationType: { Id: 0, Type: 'Reservation', Name: 'Reservation' },\n      reservationTypes: [],\n      company: null,\n      endDate: new Date(),\n      endMinutes: 1020,\n      isSecondOption: false,\n      linkReservationId: 0,\n      locationId: Number(this.$route.params.locationId),\n      meetingtypeId: 0,\n      meetingtypeIds: [],\n      showSideDrawer: false,\n      showSpaceSummary: false,\n      searchId: 0,\n      settings: [],\n      spaces: [],\n      startDate: new Date(),\n      startMinutes: 540,\n      isCreating: false\n    }\n  },\n\n  computed: {\n    ...mapState('profileStore', ['profileState']),\n    ...mapGetters({\n      locationState: 'locationStore/getLocationState',\n    }),\n\n    locationChannels() {\n      let channels = []\n\n      if (this.locationState && this.locationState.Channels) {\n        channels = this.locationState.Channels\n      }\n\n      return channels\n    },\n\n    defaultChannelId() {\n      let channelId = 0\n\n      if (this.locationSettings) {\n        channelId = this.locationSettings.ChannelId;\n      }\n\n      return channelId\n    },\n\n    loggedinProfile() {\n      let profile = null;\n\n      if (this.profileState) {\n        profile = this.profileState.Profile\n      }\n\n      return profile;\n    },\n\n    locationSettings() {\n      let settings = null\n\n      if (this.locationState && this.locationState.Settings) {\n        settings = this.locationState.Settings\n      }\n\n      return settings\n    },\n\n    selectedreservationType(index) {\n      let result = 0\n\n      if (this.reservationTypes) {\n        result = index\n      }\n      return result\n    },\n  },\n\n  created() {\n    this.channelId = this.defaultChannelId;\n    this.meetingtypeId = this.locationState.Meetingtypes[0].MeetingtypeId;\n\n    //this.reservationTypes.push({ Id: 3, Type: 'Request', Name: 'Request' })\n    this.reservationTypes.push({ Id: 0, Type: 'Reservation', Name: 'Reservation' })\n    this.reservationTypes.push({ Id: 1, Type: 'Proposal', Name: 'Proposal' })\n    \n\n    EventBus.$on('showSpaceSummary', (value) => {\n      this.setShowSpaceSummary(value)\n    })\n\n    EventBus.$on('spaceSelected', (value) => {\n      this.spaceSelected(value)\n    })\n\n    let preselectedreservationType = this.reservationTypes.find(\n      (ct) => ct.Name === this.locationSettings.DefaultNewReservationType\n    )\n    if (preselectedreservationType) {\n      this.reservationType = preselectedreservationType;\n    }\n  },\n\n  beforeDestroy() {\n    EventBus.$off('showSpaceSummary')\n    EventBus.$off('spaceSelected')\n  },\n\n  methods: {\n    setMeetingtype(meetingtypeId) {\n      this.meetingtypeId = meetingtypeId\n\n      if (meetingtypeId === 2) {\n        this.reservationType = this.reservationTypes[0]\n      }\n    },\n\n    setSearchId(searchId) {\n      this.searchId = searchId\n    },\n\n    spaceSelected(space) {\n      this.createReservation(space)\n    },\n\n    createReservation(space) {\n      let self = this\n\n      if (this.isCreating) {\n        return;\n      }\n\n      this.isCreating = true;\n\n      availabilityProvider.methods\n        .selectSpace(self.searchId, space.LocationId, space.Hash, self.reservationType.Type)\n        .then((response) => {\n          if (response.status === 200) {\n            let reservation = response.data\n            \n            // Close the drawer\n            EventBus.$emit('navigated');\n\n\n\n            // Go to the reservation detail page\n            this.$router.push({\n              name: `reservations-list-detail`,\n              params: { reservationKey: reservation.Key },\n            })\n          }\n        })\n        .finally(() => {\n          this.isCreating = false;\n        })\n    },\n\n    setShowSpaceSummary(space) {\n      this.itemId = space.SpaceId\n      this.setVisibleSideBarItem('spaceSummary')\n    },\n\n    setVisibleSideBarItem(item) {\n      this.showSpaceSummary = item === 'spaceSummary'\n\n      this.showSideDrawer = item.length > 0\n      if (item === '') {\n        this.itemId = 0\n      }\n    },\n\n    hideSideBar() {\n      this.setVisibleSideBarItem('')\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!./CreateReservation.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!./CreateReservation.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CreateReservation.vue?vue&type=template&id=1e343444\"\nimport script from \"./CreateReservation.vue?vue&type=script&lang=js\"\nexport * from \"./CreateReservation.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":""}