{"version":3,"sources":["webpack:///./src/mixins/staggeredAnimation.js","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":["methods","beforeEnter","el","style","opacity","enter","done","delay","dataset","index","setTimeout","transition","leave","afterLeave","parentNode","removeChild","render","_vm","this","_c","_self","availableLocation","showLocationOpenWarning","showLocationOpeningHoursWarning","staticClass","_v","_s","$t","_e","sortedSpaces","attrs","on","meetingtypeId","key","_l","meetingspace","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","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-32213c7a.js?id=20cc3e5fb5a4dc61b2a2","sourcesContent":["export default {\n  methods: {\n    beforeEnter: function(el) {\n      el.style.opacity = 0\n    },\n\n    enter: function(el, done) {\n      var delay = el.dataset.index * 50\n      setTimeout(function() {\n        el.style.transition = 'opacity 0.3s'\n        el.style.opacity = '1'\n\n        done()\n      }, delay)\n    },\n\n    leave: function(el, done) {\n      //var delay = el.dataset.index * 50\n      //setTimeout(function() {\n      el.style.transition = 'opacity 0.1s'\n      el.style.opacity = '0'\n\n      done()\n      //}, delay)\n    },\n\n    afterLeave: function(el) {\n      if (el) {\n        el.parentNode.removeChild(el)\n      }\n    },\n  }\n};","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":""}