{"version":3,"sources":["webpack:///./src/components/Availability/AvailableLocation.vue","webpack:///src/components/Availability/AvailableLocation.vue","webpack:///./src/components/Availability/AvailableLocation.vue?5732","webpack:///./src/components/Availability/AvailableLocation.vue?50e3"],"names":["render","_vm","this","_c","_self","availableLocation","showLocationOpenWarning","showLocationOpeningHoursWarning","staticClass","_v","_s","$t","_e","sortedSpaces","attrs","on","beforeEnter","enter","leave","meetingtypeId","key","_l","meetingspace","index","class","locationState","Settings","LanguageCulture","isEmployee","viewType","workspace","Id","deskspace","staticRenderFns","name","components","AvailableDeskspace","AvailableMeetingspace","AvailableWorkspace","props","default","type","Object","Number","selectedSpaceId","showUnavailable","Boolean","String","voucherId","mixins","staggeredAnimation","data","mShowUnavailable","computed","_objectSpread","mapState","employee","LocationAccountRights","spaces","_this","Spaces","locationId","LocationId","_loop","space","j","findIndex","s","SpaceId","push","SpaceName","IsEmployee","SpaceInternalName","SpaceImage","Seats","StartDate","StartMinutes","EndDate","EndMinutes","Warnings","getSpaceSettings","SpaceAvailable","M2","IncludedOptions","length","_this2","filter","sort","a","b","showWarning","w","created","beforeDestroy","methods","spaceId","self","settings","meetingspaceSettings","_loop2","_setting$SpacePrice$Y","_setting$SpacePrice","setting","i","SpacePrice","IsAvailable","SettingId","CalculationType","CurrencyId","CurrencySymbol","CurrencyIso","Price","Crc","Hash","TaxId","TaxPercentage","Deductible","MinSeats","MaxSeats","YieldSettingId","component"],"mappings":"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","file":"js/chunk-2d238248.js?id=7dc47b8d62b8652c4df2","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.availableLocation)?_c('div',[(_vm.showLocationOpenWarning || _vm.showLocationOpeningHoursWarning)?_c('div',[_c('article',{staticClass:\"message is-warning mb-6\"},[_c('div',{staticClass:\"message-body\"},[_c('ul',[(_vm.showLocationOpenWarning)?_c('li',[_vm._v(_vm._s(_vm.$t('Components.Reservation.ModalEditSpace.Warning_LocationIsClosedOnDate')))]):_vm._e(),(_vm.showLocationOpeningHoursWarning)?_c('li',[_vm._v(_vm._s(_vm.$t('Components.Reservation.ModalEditSpace.Warning_LocationIsClosed')))]):_vm._e()])])])]):_vm._e(),(_vm.sortedSpaces)?_c('transition-group',{attrs:{\"name\":\"staggered-fade\",\"css\":false,\"appear\":\"\",\"tag\":\"div\"},on:{\"before-enter\":_vm.beforeEnter,\"enter\":_vm.enter,\"leave\":_vm.leave}},[(_vm.meetingtypeId === 1)?_c('div',{key:'ms'},_vm._l((_vm.sortedSpaces),function(meetingspace,index){return _c('AvailableMeetingspace',{key:'ms' + index,class:{ 'mt-6': index > 0 },attrs:{\"languageCulture\":_vm.locationState.Settings.LanguageCulture,\"meetingspace\":meetingspace,\"meetingtypeId\":_vm.meetingtypeId,\"isEmployee\":_vm.isEmployee,\"viewType\":_vm.viewType,\"data-index\":index}})}),1):_vm._e(),(_vm.meetingtypeId === 2)?_c('div',{key:'ws'},_vm._l((_vm.sortedSpaces),function(workspace,index){return _c('AvailableWorkspace',{key:'ws' + workspace.Id,class:{ 'mt-6': index > 0 },attrs:{\"languageCulture\":_vm.locationState.Settings.LanguageCulture,\"space\":workspace,\"meetingtypeId\":_vm.meetingtypeId}})}),1):_vm._e(),(_vm.meetingtypeId === 3)?_c('div',{key:'ds'},_vm._l((_vm.sortedSpaces),function(deskspace,index){return _c('AvailableDeskspace',{key:'ds' + deskspace.Id,class:{ 'mt-6': index > 0 },attrs:{\"deskspace\":deskspace,\"meetingtypeId\":_vm.meetingtypeId}})}),1):_vm._e()]):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div v-if=\"availableLocation\">\n    <div v-if=\"showLocationOpenWarning || showLocationOpeningHoursWarning\">\n      <article class=\"message is-warning mb-6\">\n        <div class=\"message-body\">\n          <ul>\n            <li v-if=\"showLocationOpenWarning\">{{ $t('Components.Reservation.ModalEditSpace.Warning_LocationIsClosedOnDate')}}</li>\n            <li v-if=\"showLocationOpeningHoursWarning\">{{ $t('Components.Reservation.ModalEditSpace.Warning_LocationIsClosed')}}</li>\n          </ul>\n        </div>\n      </article>\n    </div>\n\n    <transition-group\n      v-if=\"sortedSpaces\"\n      name=\"staggered-fade\"\n      v-bind:css=\"false\"\n      v-on:before-enter=\"beforeEnter\"\n      v-on:enter=\"enter\"\n      v-on:leave=\"leave\"\n      appear\n      tag=\"div\"\n    >\n      <div\n        v-if=\"meetingtypeId === 1\"\n        :key=\"'ms'\"\n      >\n        <AvailableMeetingspace\n          v-for=\"(meetingspace, index) in sortedSpaces\"\n          :key=\"'ms' + index\"\n          :languageCulture=\"locationState.Settings.LanguageCulture\"\n          :meetingspace=\"meetingspace\"\n          :meetingtypeId=\"meetingtypeId\"\n          :isEmployee=\"isEmployee\"\n          :viewType=\"viewType\"\n          :data-index=\"index\"\n          :class=\"{ 'mt-6': index > 0 }\"\n        />\n      </div>\n\n      <div\n        v-if=\"meetingtypeId === 2\"\n        :key=\"'ws'\"\n      >\n        <AvailableWorkspace\n          v-for=\"(workspace, index) in sortedSpaces\"\n          :key=\"'ws' + workspace.Id\"\n          :languageCulture=\"locationState.Settings.LanguageCulture\"\n          :space=\"workspace\"\n          :meetingtypeId=\"meetingtypeId\"\n          :class=\"{ 'mt-6': index > 0 }\"\n        />\n      </div>\n\n      <div\n        v-if=\"meetingtypeId === 3\"\n        :key=\"'ds'\"\n      >\n        <AvailableDeskspace\n          v-for=\"(deskspace, index) in sortedSpaces\"\n          :key=\"'ds' + deskspace.Id\"\n          :deskspace=\"deskspace\"\n          :meetingtypeId=\"meetingtypeId\"\n          :class=\"{ 'mt-6': index > 0 }\"\n        />\n      </div>\n    </transition-group>\n  </div>\n</template>\n\n<script>\nimport { mapState } from 'vuex'\nimport staggeredAnimation from '@/mixins/staggeredAnimation'\n\nexport default {\n  name: 'AvailableLocation',\n\n  components: {\n    AvailableDeskspace: () => import(/* webpackChunkName: \"available-location\" */ '@/components/Availability/AvailableDeskspace'),\n    AvailableMeetingspace: () => import(/* webpackChunkName: \"available-location\" */ '@/components/Availability/AvailableMeetingspace'),\n    AvailableWorkspace: () => import(/* webpackChunkName: \"available-location\" */ '@/components/Availability/AvailableWorkspace'),\n  },\n\n  props: {\n    availableLocation: {\n      default: null,\n      type: Object,\n    },\n    meetingtypeId: {\n      default: 0,\n      type: Number,\n    },\n    selectedSpaceId: {\n      default: null,\n      type: Number,\n    },\n\n    showUnavailable: {\n      default: true,\n      type: Boolean,\n    },\n\n    viewType: {\n      type: String,\n      default: 'list-row',\n    },\n\n    voucherId: {\n      default: 0,\n      type: Number,\n    },\n  },\n\n  mixins: [staggeredAnimation],\n\n  data() {\n    return {\n      mShowUnavailable: this.showUnavailable,\n\n\n    }\n  },\n\n  computed: {\n    ...mapState('locationStore', ['locationState']),\n\n    isEmployee() {\n      let employee = false\n\n      if (this.locationState && this.locationState.LocationAccountRights) {\n        employee = true\n      }\n\n      return employee\n    },\n\n    spaces() {\n      let spaces = []\n\n      if (this.availableLocation && this.availableLocation.Spaces) {\n        let locationId = this.availableLocation.LocationId\n\n        for (let j = 0; j < this.availableLocation.Spaces.length; j++) {\n          let space = this.availableLocation.Spaces[j]\n\n          if (spaces.findIndex((s) => s.SpaceId === space.SpaceId) === -1) {\n            spaces.push({\n              Id: space.Id,\n              SpaceId: space.SpaceId,\n              LocationId: locationId,\n              SpaceName:\n                this.IsEmployee\n                  ? space.SpaceInternalName\n                  : space.SpaceName,\n              SpaceImage: space.SpaceImage,\n              Seats: space.Seats,\n              StartDate: space.StartDate,\n              StartMinutes: space.StartMinutes,\n              EndDate: space.EndDate,\n              EndMinutes: space.EndMinutes,\n              Warnings: space.Warnings,\n              Settings: this.getSpaceSettings(space.SpaceId),\n              SpaceAvailable: space.SpaceAvailable,\n              M2: space.M2,\n              IncludedOptions: space?.IncludedOptions || []\n            })\n          }\n        }\n      }\n\n      return spaces\n    },\n\n    sortedSpaces() {\n      let spaces = this.spaces\n\n      if (!this.isEmployee) {\n        spaces = spaces.filter((s) => s.SpaceAvailable)\n      }\n\n      spaces.sort((a, b) => {\n        if (a.SpaceId === this.selectedSpaceId) return -1\n        return a.Warnings.length - b.Warnings.length\n      })\n\n      return spaces\n    },\n\n    showLocationOpenWarning() {\n      let showWarning = false;\n\n      if (this.availableLocation.Warnings && this.availableLocation.Warnings.length > 0) {\n        showWarning = this.availableLocation.Warnings.findIndex(w => w === 'LocationClosed') > -1\n      }\n\n      return showWarning;\n    },\n\n    showLocationOpeningHoursWarning() {\n      let showWarning = false;\n\n      if (this.availableLocation.Warnings && this.availableLocation.Warnings.length > 0) {\n        showWarning = this.availableLocation.Warnings.findIndex(w => w === 'OpeningHours') > -1\n      }\n\n      return showWarning;\n    }\n  },\n\n  created() { },\n\n  beforeDestroy() { },\n\n  methods: {\n    getSpaceSettings(spaceId) {\n      let self = this\n      let settings = []\n\n      let meetingspaceSettings = self.availableLocation.Spaces.filter(\n        (s) => s.SpaceId === spaceId\n      )\n      for (let i = 0; i < meetingspaceSettings.length; i++) {\n        let setting = meetingspaceSettings[i]\n        if (!setting.SpacePrice) {\n          setting.IsAvailable = false\n        }\n\n        if (settings.findIndex((s) => s.Id === setting.SettingId) === -1) {\n          settings.push({\n            Id: setting.SettingId,\n            CalculationType: setting.SpacePrice\n              ? setting.SpacePrice.CalculationType\n              : 'NoPrice',\n            CurrencyId: setting.CurrencyId,\n            CurrencySymbol: setting.CurrencySymbol,\n            CurrencyIso: setting.CurrencyIso,\n            Price: setting.Price,\n            Crc: setting.Crc,\n            Hash: setting.Hash,\n            TaxId: setting.TaxId,\n            TaxPercentage: setting.TaxPercentage,\n            Deductible: setting.Deductible,\n            MinSeats: setting.MinSeats,\n            MaxSeats: setting.MaxSeats,\n            SpaceAvailable: setting.SpaceAvailable,\n            YieldSettingId: setting.SpacePrice?.YieldSettingId ?? 0,\n            SpacePrice: setting.SpacePrice,\n          })\n        }\n      }\n\n      if (!this.mShowUnavailable) {\n        settings = settings.filter((s) => s.SpaceAvailable)\n      }\n\n      return settings\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!./AvailableLocation.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!./AvailableLocation.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AvailableLocation.vue?vue&type=template&id=6c4795ec\"\nimport script from \"./AvailableLocation.vue?vue&type=script&lang=js\"\nexport * from \"./AvailableLocation.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":""}