{"version":3,"sources":["webpack:///./src/components/FrontEnd/Locations/SpaceWeekSchedule.vue?1e79","webpack:///./src/components/FrontEnd/Locations/SpaceWeekSchedule.vue","webpack:///src/components/FrontEnd/Locations/SpaceWeekSchedule.vue","webpack:///./src/components/FrontEnd/Locations/SpaceWeekSchedule.vue?6eb2","webpack:///./src/components/FrontEnd/Locations/SpaceWeekSchedule.vue?79b5"],"names":["render","_vm","this","_c","_self","staticClass","days","length","_l","day","key","_f","date","attrs","_v","_s","hours","hour","spaceId","index","class","booked","open","on","$event","select","_e","staticRenderFns","components","props","locationId","type","Number","default","meetingtypeId","data","computed","_objectSpread","mapState","_this","schedule","_loop","oh","OpeningHours","y","res","Spaces","filter","s","SpaceId","isoDate","format","parseISO","Date","startMinutes","MinMinutes","endMinutes","MaxMinutes","nrOfLocations","NrOfLocations","push","Array","fill","map","e","i","Items","r","StartDate","StartMinutes","EndMinutes","created","methods","component"],"mappings":"kHAAA,W,2CCAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,MAAM,CAACE,YAAY,cAAc,CAAEJ,EAAIK,MAAQL,EAAIK,KAAKC,OAAS,EAAGJ,EAAG,MAAM,CAACE,YAAY,WAAWJ,EAAIO,GAAIP,EAAIK,MAAM,SAASG,GAAK,OAAON,EAAG,MAAM,CAACO,IAAIT,EAAIU,GAAG,0BAAPV,CAAkCQ,EAAIG,MAAMP,YAAY,SAASQ,MAAM,CAAC,IAAM,KAAK,CAACV,EAAG,QAAQ,CAACE,YAAY,+BAA+B,CAACF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAIa,GAAGb,EAAIc,GAAGd,EAAIU,GAAG,0BAAPV,CAAkCQ,EAAIG,cAAcT,EAAG,QAAQF,EAAIO,GAAIC,EAAIO,OAAO,SAASC,GAAM,OAAOd,EAAG,KAAK,CAACO,IAAIT,EAAIiB,QAAU,IAAMT,EAAIA,IAAM,IAAMQ,EAAKE,MAAMd,YAAY,OAAOe,MAAM,CAAEC,OAAQJ,EAAKI,OAAQC,KAAML,EAAKK,OAAQ,CAACnB,EAAG,KAAK,CAACoB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOvB,EAAIwB,OAAOhB,EAAKQ,EAAKE,UAAU,CAAClB,EAAIa,GAAG,IAAIb,EAAIc,GAAGE,EAAKE,OAAO,YAAW,UAAS,GAAGlB,EAAIyB,YAEt0BC,EAAkB,G,4ICuCP,GACfC,WAAA,GAEAC,MAAA,CACAC,WAAA,CACAC,KAAAC,OACAC,QAAA,GAEAf,QAAA,CACAa,KAAAC,OACAC,QAAA,GAEAC,cAAA,CACAH,KAAAC,OACAC,QAAA,IAIAE,KAAA,WACA,UAGAC,SAAAC,8BAAA,GACAC,eAAA,2CAEAhC,KAAA,eAAAiC,EAAA,KACAjC,EAAA,GAEA,QAAAkC,SACA,IADA,IAAAC,EAAA,WAEA,IAAAC,EAAAH,EAAAC,SAAAG,aAAAC,GACAC,EAAAN,EAAAC,SAAAM,OAAAC,QACA,SAAAC,GAAA,OAAAA,EAAAC,UAAAV,EAAArB,WAEAgC,EAAAC,eAAAC,eAAAV,EAAAW,MAAA,cACAC,EAAAZ,EAAAa,WACAC,EAAAd,EAAAe,WACAC,EAAAhB,EAAAiB,cAEArD,EAAAsD,KAAA,CACAhD,KAAAwC,eAAAV,EAAAW,MACArC,MAAA6C,MAAA,IACAC,KAAA,GACAC,KAAA,SAAAC,EAAAC,GAAA,OACA9C,MAAA8C,EAAA,EACA5C,OACAwB,EAAA,GAAAqB,MAAAnB,QACA,SAAAoB,GAAA,OACAhB,eAAAC,eAAAe,EAAAC,WAAA,gBAAAlB,GACA,IAAAe,EAAA,IAAAE,EAAAE,cACA,IAAAJ,EAAA,GAAAE,EAAAG,cACA/D,OAAA,EACAe,KACAoC,EAAA,GACA,IAAAO,EAAA,IAAAX,GACA,IAAAW,EAAA,GAAAT,SA1BAZ,EAAA,EAAAA,EAAA,KAAAJ,SAAAG,aAAApC,OAAAqC,IAAAH,IAgCA,OAAAnC,KAIAiE,QAAA,aAEAC,QAAA,CACA/C,OAAA,SAAAhB,EAAAQ,OC7GwX,I,wBCQpXwD,EAAY,eACd,EACAzE,EACA2B,GACA,EACA,KACA,WACA,MAIa,aAAA8C,E","file":"js/chunk-2b6e00d0.js?id=2a54fd9828645861acc9","sourcesContent":["export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SpaceWeekSchedule.vue?vue&type=style&index=0&id=7ce9a2f1&prod&scoped=true&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"panel\"},[_c('div',{staticClass:\"panel-body\"},[(_vm.days && _vm.days.length > 0)?_c('div',{staticClass:\"columns\"},_vm._l((_vm.days),function(day){return _c('div',{key:_vm._f(\"dateObjectIsoDateString\")(day.date),staticClass:\"column\",attrs:{\"day\":\"\"}},[_c('table',{staticClass:\"table is-small is-hoverable\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm._f(\"dateObjectIsoDateString\")(day.date)))])])]),_c('tbody',_vm._l((day.hours),function(hour){return _c('tr',{key:_vm.spaceId + '-' + day.day + '-' + hour.index,staticClass:\"hour\",class:{ booked: hour.booked, open: hour.open }},[_c('td',{on:{\"click\":function($event){return _vm.select(day, hour.index)}}},[_vm._v(\" \"+_vm._s(hour.index)+\" \")])])}),0)])])}),0):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"container\">\n    <div class=\"panel\">\n      <div class=\"panel-body\">\n        <div v-if=\"days && days.length > 0\" class=\"columns\">\n          <div\n            class=\"column\"\n            v-for=\"day in days\"\n            :key=\"day.date | dateObjectIsoDateString\"\n            day\n          >\n            <table class=\"table is-small is-hoverable\">\n              <thead>\n                <tr>\n                  <th>{{ day.date | dateObjectIsoDateString }}</th>\n                </tr>\n              </thead>\n              <tbody>\n                <tr\n                  v-for=\"hour in day.hours\"\n                  class=\"hour\"\n                  :class=\"{ booked: hour.booked, open: hour.open }\"\n                  :key=\"spaceId + '-' + day.day + '-' + hour.index\"\n                >\n                  <td @click=\"select(day, hour.index)\">\n                    {{ hour.index }}\n                  </td>\n                </tr>\n              </tbody>\n            </table>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapState } from 'vuex'\nimport { format, parseISO } from 'date-fns'\n\nexport default {\n  components: {},\n\n  props: {\n    locationId: {\n      type: Number,\n      default: 0,\n    },\n    spaceId: {\n      type: Number,\n      default: 0,\n    },\n    meetingtypeId: {\n      type: Number,\n      default: 1,\n    },\n  },\n\n  data() {\n    return {}\n  },\n\n  computed: {\n    ...mapState('frontendLocationStore', ['schedule']),\n\n    days() {\n      let days = []\n\n      if (this.schedule) {\n        for (let y = 0; y < this.schedule.OpeningHours.length; y++) {\n          let oh = this.schedule.OpeningHours[y]\n          let res = this.schedule.Spaces.filter(\n            (s) => s.SpaceId === this.spaceId\n          )\n          let isoDate = format(parseISO(oh.Date), 'yyyy-MM-dd')\n          let startMinutes = oh.MinMinutes\n          let endMinutes = oh.MaxMinutes\n          let nrOfLocations = oh.NrOfLocations\n\n          days.push({\n            date: parseISO(oh.Date),\n            hours: Array(19)\n              .fill(0)\n              .map((e, i) => ({\n                index: i + 5,\n                booked:\n                  res[0].Items.filter(\n                    (r) =>\n                      format(parseISO(r.StartDate), 'yyyy-MM-dd') === isoDate &&\n                      (i + 5) * 60 >= r.StartMinutes &&\n                      (i + 5) * 60 < r.EndMinutes\n                  ).length > 0,\n                open:\n                  nrOfLocations > 0 &&\n                  (i + 5) * 60 >= startMinutes &&\n                  (i + 5) * 60 < endMinutes,\n              })),\n          })\n        }\n      }\n\n      return days\n    },\n  },\n\n  created() {},\n\n  methods: {\n    select(day, hour) {\n      //e.selected = !e.selected\n      // console.log(day + ' >> ' + hour)\n    },\n  },\n}\n</script>\n\n<style scoped>\n.hour {\n  color: #bbb;\n  cursor: pointer;\n}\n.open {\n  background-color: #0aa8ce;\n  color: white;\n}\n.booked {\n  background-color: #ce0a4f;\n  color: white;\n}\n.table > tbody > tr.selected > td {\n  border-top: 1px solid #0aa8ce;\n}\n.booked td:hover {\n  background-color: #0a89af;\n  color: white;\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!./SpaceWeekSchedule.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!./SpaceWeekSchedule.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SpaceWeekSchedule.vue?vue&type=template&id=7ce9a2f1&scoped=true\"\nimport script from \"./SpaceWeekSchedule.vue?vue&type=script&lang=js\"\nexport * from \"./SpaceWeekSchedule.vue?vue&type=script&lang=js\"\nimport style0 from \"./SpaceWeekSchedule.vue?vue&type=style&index=0&id=7ce9a2f1&prod&scoped=true&lang=css\"\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  \"7ce9a2f1\",\n  null\n  \n)\n\nexport default component.exports"],"sourceRoot":""}