{"version":3,"sources":["webpack:///src/components/FrontEnd/Locations/SpaceWeekSchedule.vue","webpack:///./src/components/FrontEnd/Locations/SpaceWeekSchedule.vue","webpack:///./src/components/FrontEnd/Locations/SpaceWeekSchedule.vue?acbb","webpack:///./src/components/FrontEnd/Locations/SpaceWeekSchedule.vue?08f7","webpack:///./src/components/FrontEnd/Locations/SpaceWeekSchedule.vue?79b5","webpack:///./src/components/FrontEnd/Locations/SpaceWeekSchedule.vue?2553","webpack:///./src/components/FrontEnd/Locations/SpaceWeekSchedule.vue?459e","webpack:///./src/components/FrontEnd/Locations/SpaceWeekSchedule.vue?579e"],"names":["components","props","locationId","type","Number","default","spaceId","meetingtypeId","data","computed","_objectSpread","mapState","days","_this","schedule","_loop","oh","OpeningHours","y","res","Spaces","filter","s","SpaceId","isoDate","format","parseISO","Date","startMinutes","MinMinutes","endMinutes","MaxMinutes","nrOfLocations","NrOfLocations","push","date","hours","Array","fill","map","e","i","index","booked","Items","r","StartDate","StartMinutes","EndMinutes","length","open","created","methods","select","day","hour","render","_vm","_c","_self","staticClass","_l","key","_f","attrs","_v","_s","class","on","click","$event","_e","staticRenderFns","_withStripped"],"mappings":"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","file":"js/241.js?id=ed7abe1c5c6fa133a28e","sourcesContent":["<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","var render = function render() {\n  var _vm = this,\n    _c = _vm._self._c\n  return _c(\"div\", { staticClass: \"container\" }, [\n    _c(\"div\", { staticClass: \"panel\" }, [\n      _c(\"div\", { staticClass: \"panel-body\" }, [\n        _vm.days && _vm.days.length > 0\n          ? _c(\n              \"div\",\n              { staticClass: \"columns\" },\n              _vm._l(_vm.days, function (day) {\n                return _c(\n                  \"div\",\n                  {\n                    key: _vm._f(\"dateObjectIsoDateString\")(day.date),\n                    staticClass: \"column\",\n                    attrs: { day: \"\" },\n                  },\n                  [\n                    _c(\n                      \"table\",\n                      { staticClass: \"table is-small is-hoverable\" },\n                      [\n                        _c(\"thead\", [\n                          _c(\"tr\", [\n                            _c(\"th\", [\n                              _vm._v(\n                                _vm._s(\n                                  _vm._f(\"dateObjectIsoDateString\")(day.date)\n                                )\n                              ),\n                            ]),\n                          ]),\n                        ]),\n                        _c(\n                          \"tbody\",\n                          _vm._l(day.hours, function (hour) {\n                            return _c(\n                              \"tr\",\n                              {\n                                key:\n                                  _vm.spaceId +\n                                  \"-\" +\n                                  day.day +\n                                  \"-\" +\n                                  hour.index,\n                                staticClass: \"hour\",\n                                class: { booked: hour.booked, open: hour.open },\n                              },\n                              [\n                                _c(\n                                  \"td\",\n                                  {\n                                    on: {\n                                      click: function ($event) {\n                                        return _vm.select(day, hour.index)\n                                      },\n                                    },\n                                  },\n                                  [_vm._v(\" \" + _vm._s(hour.index) + \" \")]\n                                ),\n                              ]\n                            )\n                          }),\n                          0\n                        ),\n                      ]\n                    ),\n                  ]\n                )\n              }),\n              0\n            )\n          : _vm._e(),\n      ]),\n    ]),\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\\n.hour[data-v-356d3a33] {\\n  color: #bbb;\\n  cursor: pointer;\\n}\\n.open[data-v-356d3a33] {\\n  background-color: #0aa8ce;\\n  color: white;\\n}\\n.booked[data-v-356d3a33] {\\n  background-color: #ce0a4f;\\n  color: white;\\n}\\n.table > tbody > tr.selected > td[data-v-356d3a33] {\\n  border-top: 1px solid #0aa8ce;\\n}\\n.booked td[data-v-356d3a33]:hover {\\n  background-color: #0a89af;\\n  color: white;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../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=356d3a33&scoped=true&lang=css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"301a120a\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(module.hot) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../../../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=356d3a33&scoped=true&lang=css\", function() {\n     var newContent = require(\"!!../../../../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=356d3a33&scoped=true&lang=css\");\n     if(newContent.__esModule) newContent = newContent.default;\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}","import { render, staticRenderFns } from \"./SpaceWeekSchedule.vue?vue&type=template&id=356d3a33&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=356d3a33&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  \"356d3a33\",\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/github/workspace/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('356d3a33')) {\n      api.createRecord('356d3a33', component.options)\n    } else {\n      api.reload('356d3a33', component.options)\n    }\n    module.hot.accept(\"./SpaceWeekSchedule.vue?vue&type=template&id=356d3a33&scoped=true\", function () {\n      api.rerender('356d3a33', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/components/FrontEnd/Locations/SpaceWeekSchedule.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../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/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 * from \"-!../../../../node_modules/vue-style-loader/index.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=356d3a33&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"381a4baa-vue-loader-template\\\"}!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SpaceWeekSchedule.vue?vue&type=template&id=356d3a33&scoped=true\""],"sourceRoot":""}