{"version":3,"sources":["webpack:///./src/components/Reservations/AddOption.vue?10f5","webpack:///./src/components/Reservations/AddOption.vue","webpack:///src/components/Reservations/AddOption.vue","webpack:///./src/components/Reservations/AddOption.vue?6839","webpack:///./src/components/Reservations/AddOption.vue?c2ee"],"names":["render","_vm","this","_c","_self","staticClass","attrs","isOptionLoading","searchTerm","$t","on","search","_l","filteredCategories","category","index","NrOfOptions","key","class","selectedCategory","Id","$event","changeCategory","_v","_s","getCategoryName","_e","beforeEnter","enter","leave","displayOptions","item","OptionId","domProps","OptionName","addOption","staticStyle","directives","name","rawName","value","filterAddedOptions","expression","Array","isArray","_i","$$a","$$el","target","$$c","checked","$$v","$$i","concat","slice","filteredSpaces","space","selectedSpace","SpaceId","changeSpace","SpaceName","filteredSpaceOptions","length","reservation","ReservationSet","option","InVoucher","isEmployee","TimeSelectable","SelectedTime","$$selectedVal","prototype","filter","call","options","o","selected","map","val","_value","$set","multiple","FollowsDateStart","timeSlots","timeSlot","_f","PricePerHour","UseManualDuration","Duration","updatePricePerHour","getOptionDurationTimeSlots","slot","Amount","modifiers","composing","_n","$forceUpdate","Currency","updateCrcValue","delay","model","PricePerItem","callback","$i18n","locale","ChangeAllInSet","changeAllInSet","deleteOption","isSaving","closeDrawer","disableSaveButton","addReservationOptions","staticRenderFns","components","Message","InputNumeric","SearchBar","props","default","type","Boolean","reservationDate","Object","required","mixins","staggeredAnimation","data","isSavingError","isUpdatingPrice","locationOptions","mReservation","newOptions","computed","_objectSpread","mapState","disableButton","filteredItems","_this","result","CategoryId","_this2","spaces","Spaces","_loop","resSpace","i","push","self","categories","_loop2","findIndex","c","Name","CategoryName","_this3","_loop3","optionIndex","reservationOptionIndex","Options","resultIndex","getUniqueByMap","_this4","resStart","minStartMinutes","tmp","lowest","Number","POSITIVE_INFINITY","StartMinutes","resEnd","maxEndMinutes","highest","NEGATIVE_INFINITY","EndMinutes","slots","min","max","minutes","created","cleanSource","methods","mapMutations","arr","prop","Map","forEach","set","from","values","MinimumDuration","MaximumDuration","buildTimeMinutesOptions","open","close","minutesSteps","output","tab","spaceId","setSelectedSpace","getReservationOptions","_this5","isoDate","Date","reservationProvider","getReservationAvailableOptions","Key","then","response","status","finally","nrOfOptionsInCategory","categoryId","getNrOfSpaceOptions","nrOfOptions","_this6","qty","IsPP","TotalSeats","find","Seats","newOption","DefaultStartMinutes","RequiredItem","AddShareableSpace","VoucherId","splice","ms","timer","clearTimeout","setTimeout","apply","_this7","getReservationOptionPriceUpdate","PriceTotal","Crc","_this8","crcProvider","checkCrc","_this9","date","ReservationId","Quantity","CurrencyId","calculateTotalPrice","TaxId","TaxPercentage","Deductible","IsPerHour","StartTime","EndTime","BillableHours","setReservation","EventBus","$emit","message","catch","error","total","MaxTotal","component"],"mappings":"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","file":"js/chunk-45037bba.js?id=45554209a036c0d2b002","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddOption.vue?vue&type=style&index=0&id=20d78cef&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"search-wrapper has-margin-bottom\"},[_c('SearchBar',{attrs:{\"isSearching\":_vm.isOptionLoading,\"searchTerm\":_vm.searchTerm,\"placeHolderText\":_vm.$t(\n          'Components.Reports.ModalEditOptionDayReport.Placeholder_SearchOptions'\n        )},on:{\"startSearch\":_vm.search}})],1),_c('div',{staticClass:\"tabs\"},[_c('ul',[_vm._l((_vm.filteredCategories),function(category,index){return [(category.NrOfOptions > 0)?_c('li',{key:index,class:{ 'is-active': _vm.selectedCategory === category.Id },on:{\"click\":function($event){return _vm.changeCategory(category.Id)}}},[_c('a',[_vm._v(_vm._s(_vm.getCategoryName(category.Id)))])]):_vm._e()]})],2)]),_c('div',{staticClass:\"tabs-info\"},[(_vm.isOptionLoading === true)?_c('ui-loader'):_vm._e(),(!_vm.isOptionLoading)?_c('table',{staticClass:\"table is-fullwidth is-striped\"},[_c('transition-group',{attrs:{\"name\":\"staggered-fade\",\"css\":false,\"mode\":\"out-in\",\"tag\":\"tbody\"},on:{\"before-enter\":_vm.beforeEnter,\"enter\":_vm.enter,\"leave\":_vm.leave}},_vm._l((_vm.displayOptions),function(item,index){return _c('tr',{key:'option_' + item.OptionId,attrs:{\"data-index\":index}},[_c('td',{domProps:{\"innerHTML\":_vm._s(item.OptionName)}}),_c('td',[_c('a',{staticClass:\"button is-small is-primary\",on:{\"click\":function($event){return _vm.addOption(item)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('font-awesome-icon',{staticStyle:{\"color\":\"white\"},attrs:{\"icon\":['fas', 'plus']}})],1)])])])}),0)],1):_vm._e()],1),_c('div',{staticClass:\"mt-2\"},[_c('label',{staticClass:\"mt-2\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filterAddedOptions),expression:\"filterAddedOptions\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.filterAddedOptions)?_vm._i(_vm.filterAddedOptions,null)>-1:(_vm.filterAddedOptions)},on:{\"change\":function($event){var $$a=_vm.filterAddedOptions,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.filterAddedOptions=$$a.concat([$$v]))}else{$$i>-1&&(_vm.filterAddedOptions=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.filterAddedOptions=$$c}}}}),_vm._v(\" \"+_vm._s(_vm.$t('Components.Reservation.ModalAddOption.Label_FilterAddedOptions'))+\" \")])])]),_c('div',{staticClass:\"column is-three-fifths\"},[_c('div',{staticClass:\"tabs\"},[_c('ul',_vm._l((_vm.filteredSpaces),function(space,index){return _c('li',{key:index,class:{ 'is-active': _vm.selectedSpace === space.SpaceId },on:{\"click\":function($event){return _vm.changeSpace(space.SpaceId)}}},[_c('a',[_vm._v(_vm._s(space.SpaceName)+\" (\"+_vm._s(space.NrOfOptions)+\")\")])])}),0)]),(_vm.filteredSpaceOptions.length === 0)?_c('Message',{staticClass:\"mt-4\",attrs:{\"message\":_vm.$t(\n        'Components.Reservation.ModalAddOption.Message_NoOptionsSelected'\n      )}}):_vm._e(),(_vm.filteredSpaceOptions.length > 0)?_c('table',{staticClass:\"table is-fullwidth is-narrow\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t('Components.Reservation.ModalAddOption.Label_Name'))+\" \")]),_c('th',{staticClass:\"has-text-right\",attrs:{\"width\":\"100\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Reservation.ModalAddOption.Label_Time'))+\" \")]),_c('th',{staticClass:\"has-text-right\",attrs:{\"width\":\"100\"}},[_vm._v(\"Duration\")]),_c('th',{staticClass:\"has-text-right\",attrs:{\"width\":\"100\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Reservation.ModalAddOption.Label_Quantity'))+\" \")]),_c('th',{staticClass:\"has-text-right\",attrs:{\"width\":\"100\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Reservation.ModalAddOption.Label_Price'))+\" \")]),_c('th',[(_vm.reservation.ReservationSet.length > 0)?_c('span',[_vm._v(_vm._s(_vm.$t('Components.Reservation.ModalAddOption.Label_ChangeSet')))]):_vm._e()]),_c('th',{attrs:{\"width\":\"30\"}},[_vm._v(\" \")])])]),_c('transition-group',{attrs:{\"name\":\"staggered-fade\",\"css\":false,\"mode\":\"out-in\",\"tag\":\"tbody\"},on:{\"before-enter\":_vm.beforeEnter,\"enter\":_vm.enter,\"leave\":_vm.leave}},_vm._l((_vm.filteredSpaceOptions),function(option,index){return _c('tr',{key:'oa_' + option.OptionId + '_sp_' + option.SpaceId + '-' + index,attrs:{\"data-index\":index}},[_c('td',[_c('div',[_vm._v(_vm._s(option.OptionName))]),(option.InVoucher)?_c('div',{staticClass:\"is-italic is-size-7\"},[_vm._v(_vm._s(_vm.$t('Components.Reservation.ModalAddOption.Label_IncludedInVoucher')))]):_vm._e()]),_c('td',{staticClass:\"has-text-right\"},[(_vm.isEmployee && option.TimeSelectable > 0)?_c('div',{staticClass:\"select is-small\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(option.SelectedTime),expression:\"option.SelectedTime\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(option, \"SelectedTime\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){option.FollowsDateStart = false}]}},[_c('option',{domProps:{\"value\":-1,\"selected\":true}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Reservation.ModalAddOption.Label_None'))+\" \")]),_vm._l((_vm.timeSlots),function(timeSlot){return _c('option',{key:timeSlot,domProps:{\"value\":timeSlot}},[_vm._v(\" \"+_vm._s(_vm._f(\"minutesToTime\")(timeSlot))+\" \")])})],2)]):_vm._e(),(!_vm.isEmployee)?_c('div',[_vm._v(_vm._s(option.SelectedTime))]):_vm._e()]),_c('td',{staticClass:\"has-text-right\"},[(option.PricePerHour && option.UseManualDuration)?_c('div',{staticClass:\"select is-small\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(option.Duration),expression:\"option.Duration\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(option, \"Duration\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.updatePricePerHour(option)}]}},_vm._l((_vm.getOptionDurationTimeSlots(option)),function(slot,index){return _c('option',{key:index,domProps:{\"value\":slot,\"selected\":option.Duration === slot}},[_vm._v(\" \"+_vm._s(_vm._f(\"minutesToDuration\")(slot))+\" \")])}),0)]):_vm._e()]),_c('td',[_c('div',{staticClass:\"field has-addons\"},[_c('p',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(option.Amount),expression:\"option.Amount\",modifiers:{\"number\":true}}],staticClass:\"input is-small\",attrs:{\"type\":\"text\"},domProps:{\"value\":(option.Amount)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(option, \"Amount\", _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('p',{staticClass:\"control\"},[_c('a',{staticClass:\"button is-small is-static\"},[_vm._v(\"X\")])])])]),_c('td',[(_vm.isEmployee)?_c('div',{staticClass:\"field has-addons has-text-right\"},[_c('p',{staticClass:\"control\"},[_c('a',{staticClass:\"button is-static is-small\",domProps:{\"innerHTML\":_vm._s(option.Currency)}})]),_c('p',{staticClass:\"control\"},[_c('InputNumeric',{staticClass:\"is-small\",on:{\"change\":function($event){return _vm.updateCrcValue(option)},\"keyup\":function($event){_vm.delay(() => _vm.updateCrcValue(option), 200)}},model:{value:(option.PricePerItem),callback:function ($$v) {_vm.$set(option, \"PricePerItem\", _vm._n($$v))},expression:\"option.PricePerItem\"}})],1)]):_vm._e(),(!_vm.isEmployee)?_c('div',[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(option.PricePerItem,_vm.$i18n.locale, _vm.reservation.Currency))+\" \")]):_vm._e()]),_c('td',[(\n                _vm.reservation.ReservationSet.length > 0 &&\n                _vm.filteredSpaceOptions.length > 0\n              )?_c('div',[_c('div',{staticClass:\"tabs is-toggle is-small\"},[_c('ul',[_c('li',{class:{\n                      'is-active': option.ChangeAllInSet === false,\n                    }},[_c('a',{on:{\"click\":function($event){option.ChangeAllInSet = false}}},[_c('span',[_vm._v(_vm._s(_vm.$t('General.No')))])])]),_c('li',{class:{\n                      'is-active': option.ChangeAllInSet === true,\n                    }},[_c('a',{on:{\"click\":function($event){option.ChangeAllInSet = true}}},[_c('span',[_vm._v(_vm._s(_vm.$t('General.Yes')))])])])])]),(_vm.changeAllInSet)?_c('Message',{attrs:{\"message\":_vm.$t(\n                  'Components.Reservation.ModalAddOption.Message_ChangeAllInSet'\n                )}}):_vm._e()],1):_vm._e()]),_c('td',{staticClass:\"has-text-right\"},[_c('a',{on:{\"click\":function($event){return _vm.deleteOption(option)}}},[_c('span',{staticClass:\"icon is-small has-text-danger\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'trash-alt']}})],1)])])])}),0)],1):_vm._e()],1)]),_c('div',{staticClass:\"buttons is-right mt-6\"},[(!_vm.isSaving)?_c('a',{staticClass:\"button is-ghost has-margin-right\",attrs:{\"disabled\":_vm.isSaving},on:{\"click\":_vm.closeDrawer}},[_vm._v(_vm._s(_vm.$t('Form.Control.Cancel')))]):_vm._e(),_c('a',{staticClass:\"button is-large\",class:[\n      !_vm.isSaving && !_vm.disableSaveButton ? 'is-primary' : '',\n      {\n        'is-loading': _vm.isSaving,\n        'is-disabled': _vm.isSaving || _vm.disableSaveButton,\n      },\n    ],attrs:{\"disabled\":_vm.isSaving || _vm.disableSaveButton},on:{\"click\":_vm.addReservationOptions}},[_vm._v(\" \"+_vm._s(_vm.$t('Form.Control.Save'))+\" \")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <div class=\"columns\">\n      <div class=\"column\">\n        <div class=\"search-wrapper has-margin-bottom\">\n          <SearchBar :isSearching=\"isOptionLoading\" :searchTerm=\"searchTerm\" :placeHolderText=\"$t(\n            'Components.Reports.ModalEditOptionDayReport.Placeholder_SearchOptions'\n          )\n            \" @startSearch=\"search\" />\n        </div>\n\n        <div class=\"tabs\">\n          <ul>\n            <template v-for=\"(category, index) in filteredCategories\">\n              <li :key=\"index\" v-if=\"category.NrOfOptions > 0\" @click=\"changeCategory(category.Id)\"\n                :class=\"{ 'is-active': selectedCategory === category.Id }\">\n                <a>{{ getCategoryName(category.Id) }}</a>\n              </li>\n            </template>\n          </ul>\n        </div>\n\n        <div class=\"tabs-info\">\n          <ui-loader v-if=\"isOptionLoading === true\" />\n\n          <table v-if=\"!isOptionLoading\" class=\"table is-fullwidth is-striped\">\n            <transition-group name=\"staggered-fade\" v-bind:css=\"false\" v-on:before-enter=\"beforeEnter\"\n              v-on:enter=\"enter\" v-on:leave=\"leave\" mode=\"out-in\" tag=\"tbody\">\n              <tr v-for=\"(item, index) in displayOptions\" :key=\"'option_' + item.OptionId\" :data-index=\"index\">\n                <td v-html=\"item.OptionName\"></td>\n                <td>\n                  <a @click=\"addOption(item)\" class=\"button is-small is-primary\">\n                    <span class=\"icon is-small\">\n                      <font-awesome-icon :icon=\"['fas', 'plus']\" style=\"color: white\" />\n                    </span>\n                  </a>\n                </td>\n              </tr>\n            </transition-group>\n          </table>\n\n          \n        </div>\n        <div class=\"mt-2\">\n          <label class=\"mt-2\">\n            <input type=\"checkbox\" v-model=\"filterAddedOptions\" />\n            {{ $t('Components.Reservation.ModalAddOption.Label_FilterAddedOptions') }}\n          </label>\n        </div>\n        \n      </div>\n      <div class=\"column is-three-fifths\">\n        <div class=\"tabs\">\n          <ul>\n            <li v-for=\"(space, index) in filteredSpaces\" :key=\"index\" @click=\"changeSpace(space.SpaceId)\"\n              :class=\"{ 'is-active': selectedSpace === space.SpaceId }\">\n              <a>{{ space.SpaceName }} ({{ space.NrOfOptions }})</a>\n            </li>\n          </ul>\n        </div>\n\n        <Message v-if=\"filteredSpaceOptions.length === 0\" :message=\"$t(\n          'Components.Reservation.ModalAddOption.Message_NoOptionsSelected'\n        )\n          \" class=\"mt-4\" />\n\n        <table v-if=\"filteredSpaceOptions.length > 0\" class=\"table is-fullwidth is-narrow\">\n          <thead>\n            <tr>\n              <th>\n                {{ $t('Components.Reservation.ModalAddOption.Label_Name') }}\n              </th>\n              <th width=\"100\" class=\"has-text-right\">\n                {{ $t('Components.Reservation.ModalAddOption.Label_Time') }}\n              </th>\n              <th width=\"100\" class=\"has-text-right\">Duration</th>\n              <th width=\"100\" class=\"has-text-right\">\n                {{\n                  $t('Components.Reservation.ModalAddOption.Label_Quantity')\n                }}\n              </th>\n              <th width=\"100\" class=\"has-text-right\">\n                {{ $t('Components.Reservation.ModalAddOption.Label_Price') }}\n              </th>\n              <th>\n                <span v-if=\"reservation.ReservationSet.length > 0\">{{\n                  $t('Components.Reservation.ModalAddOption.Label_ChangeSet')\n                  }}</span>\n              </th>\n              <th width=\"30\">&nbsp;</th>\n            </tr>\n          </thead>\n          <transition-group name=\"staggered-fade\" v-bind:css=\"false\" v-on:before-enter=\"beforeEnter\" v-on:enter=\"enter\"\n            v-on:leave=\"leave\" mode=\"out-in\" tag=\"tbody\">\n            <tr v-for=\"(option, index) in filteredSpaceOptions\" :key=\"'oa_' + option.OptionId + '_sp_' + option.SpaceId + '-' + index\"\n              :data-index=\"index\">\n              <td>\n                <div>{{ option.OptionName }}</div>\n                <div v-if=\"option.InVoucher\" class=\"is-italic is-size-7\">{{ $t('Components.Reservation.ModalAddOption.Label_IncludedInVoucher') }}</div>\n              </td>\n              <td class=\"has-text-right\">\n                <!-- CTP-1585: picking a time here beats the option's \"same as meeting start\" default -->\n                <div v-if=\"isEmployee && option.TimeSelectable > 0\" class=\"select is-small\">\n                  <select v-model=\"option.SelectedTime\" @change=\"option.FollowsDateStart = false\">\n                    <option :value=\"-1\" :selected=\"true\">\n                      {{\n                        $t('Components.Reservation.ModalAddOption.Label_None')\n                      }}\n                    </option>\n                    <option v-for=\"timeSlot in timeSlots\" :key=\"timeSlot\" :value=\"timeSlot\">\n                      {{ timeSlot | minutesToTime }}\n                    </option>\n                  </select>\n                </div>\n                <div v-if=\"!isEmployee\">{{ option.SelectedTime }}</div>\n              </td>\n\n              <td class=\"has-text-right\">\n                <div v-if=\"option.PricePerHour && option.UseManualDuration\" class=\"select is-small\">\n                  <select v-model=\"option.Duration\" @change=\"updatePricePerHour(option)\">\n                    <option v-for=\"(slot, index) in getOptionDurationTimeSlots(option)\" :key=\"index\" :value=\"slot\"\n                      :selected=\"option.Duration === slot\">\n                      {{ slot | minutesToDuration }}\n                    </option>\n                  </select>\n                </div>\n              </td>\n\n              <td>\n                <div class=\"field has-addons\">\n                  <p class=\"control\">\n                    <input type=\"text\" v-model.number=\"option.Amount\" class=\"input is-small\" />\n                  </p>\n                  <p class=\"control\">\n                    <a class=\"button is-small is-static\">X</a>\n                  </p>\n                </div>\n              </td>\n              <td>\n                <div v-if=\"isEmployee\" class=\"field has-addons has-text-right\">\n                  <p class=\"control\">\n                    <a class=\"button is-static is-small\" v-html=\"option.Currency\"></a>\n                  </p>\n                  <p class=\"control\">\n                    <InputNumeric @change=\"updateCrcValue(option)\" @keyup=\"delay(() => updateCrcValue(option), 200)\"\n                      v-model.number=\"option.PricePerItem\" class=\"is-small\" />\n                  </p>\n                </div>\n                <div v-if=\"!isEmployee\">\n                  {{\n                    option.PricePerItem\n                    | toCurrency($i18n.locale, reservation.Currency)\n                  }}\n                </div>\n              </td>\n              <td>\n                <div v-if=\"\n                  reservation.ReservationSet.length > 0 &&\n                  filteredSpaceOptions.length > 0\n                \">\n                  <div class=\"tabs is-toggle is-small\">\n                    <ul>\n                      <li :class=\"{\n                        'is-active': option.ChangeAllInSet === false,\n                      }\">\n                        <a @click=\"option.ChangeAllInSet = false\">\n                          <span>{{ $t('General.No') }}</span>\n                        </a>\n                      </li>\n                      <li :class=\"{\n                        'is-active': option.ChangeAllInSet === true,\n                      }\">\n                        <a @click=\"option.ChangeAllInSet = true\">\n                          <span>{{ $t('General.Yes') }}</span>\n                        </a>\n                      </li>\n                    </ul>\n                  </div>\n\n                  <Message v-if=\"changeAllInSet\" :message=\"$t(\n                    'Components.Reservation.ModalAddOption.Message_ChangeAllInSet'\n                  )\n                    \" />\n                </div>\n              </td>\n              <td class=\"has-text-right\">\n                <a @click=\"deleteOption(option)\">\n                  <span class=\"icon is-small has-text-danger\">\n                    <font-awesome-icon :icon=\"['fas', 'trash-alt']\" />\n                  </span>\n                </a>\n              </td>\n            </tr>\n          </transition-group>\n        </table>\n      </div>\n    </div>\n\n    <div class=\"buttons is-right mt-6\">\n      <a v-if=\"!isSaving\" @click=\"closeDrawer\" class=\"button is-ghost has-margin-right\" :disabled=\"isSaving\">{{\n        $t('Form.Control.Cancel') }}</a>\n      <a @click=\"addReservationOptions\" class=\"button is-large\" :class=\"[\n        !isSaving && !disableSaveButton ? 'is-primary' : '',\n        {\n          'is-loading': isSaving,\n          'is-disabled': isSaving || disableSaveButton,\n        },\n      ]\" :disabled=\"isSaving || disableSaveButton\">\n        {{ $t('Form.Control.Save') }}\n      </a>\n    </div>\n\n  </div>\n</template>\n\n<script>\nimport { mapMutations, mapState } from 'vuex'\nimport staggeredAnimation from '@/mixins/staggeredAnimation'\nimport { EventBus } from '@/eventbus/event-bus'\nimport reservationProvider from '@/providers/reservation'\nimport crcProvider from '@/providers/crc'\nimport { cleanSource } from '@/utils/objectHelper'\n\nexport default {\n  components: {\n    Message: () => import(/* webpackChunkName: \"reservation-add-options\" */ '@/components/UI/Message'),\n    InputNumeric: () => import(/* webpackChunkName: \"reservation-add-options\" */ '@/components/UI/Form/InputNumeric'),\n    SearchBar: () => import(/* webpackChunkName: \"reservation-add-options\" */ '@/components/SearchBar')\n  },\n\n  props: {\n    isEmployee: {\n      default: false,\n      type: Boolean,\n    },\n\n    reservationDate: {\n      type: Object,\n      default: null,\n      required: true\n    },\n  },\n\n  mixins: [staggeredAnimation],\n\n  data() {\n    return {\n      changeAllInSet: false,\n      isOptionLoading: false,\n      isSavingError: false,\n      isSaving: false,\n      isUpdatingPrice: false,\n      locationOptions: [],\n      mReservation: null,\n      newOptions: [],\n      searchTerm: '',\n      selectedCategory: 1,\n      selectedSpace: 0,\n\n      filterAddedOptions: true,\n    }\n  },\n\n  computed: {\n    ...mapState('reservationStore', ['reservation']),\n\n    disableSaveButton() {\n      let disableButton = false;\n\n      if (this.newOptions.length === 0 || this.isUpdatingPrice) {\n        disableButton = true;\n      }\n\n      return disableButton;\n    },\n\n    filteredItems() {\n      let result = []\n      result = this.locationOptions.filter(\n        (item) => item.CategoryId === this.selectedCategory\n      )\n      return result\n    },\n\n    filteredSpaces() {\n      let spaces = [\n        {\n          SpaceId: 0,\n          SpaceName: this.$t(\n            'Components.Reservation.ModalAddOption.Tab_AllSpaces'\n          ),\n          NrOfOptions: this.newOptions.filter((o) => o.SpaceId === 0).length,\n        },\n      ]\n\n      if (this.reservationDate.Spaces.length > 0) {\n        for (let i = 0; i < this.reservationDate.Spaces.length; i++) {\n          let resSpace = this.reservationDate.Spaces[i]\n          spaces.push({\n            SpaceId: resSpace.SpaceId,\n            SpaceName: resSpace.SpaceName,\n            NrOfOptions: this.newOptions.filter(\n              (o) => o.SpaceId === resSpace.SpaceId\n            ).length,\n          })\n        }\n      }\n\n      return spaces\n    },\n\n    filteredCategories() {\n      let self = this\n      let categories = []\n\n      for (let i = 0; i < self.locationOptions.length; i++) {\n        if (\n          categories.findIndex(\n            (c) => c.Id === self.locationOptions[i].CategoryId\n          ) === -1\n        ) {\n          categories.push({\n            Id: self.locationOptions[i].CategoryId,\n            Name: self.locationOptions[i].CategoryName,\n            NrOfOptions: self.locationOptions.filter(\n              (o) => o.CategoryId === self.locationOptions[i].CategoryId\n            ).length,\n          })\n        }\n      }\n\n      if (categories.length === 1) {\n        self.selectedCategory = categories[0].Id\n        self.changeCategory(self.selectedCategory)\n      }\n\n      return categories\n    },\n\n    displayOptions() {\n      let result = []\n      if (this.filteredItems.length > 0) {\n        for (let i = 0; i < this.filteredItems.length; i++) {\n          let optionIndex = this.newOptions.findIndex(\n            (o) =>\n              o.OptionId === this.filteredItems[i].OptionId &&\n              o.SpaceId === this.selectedSpace\n          )\n\n          let reservationOptionIndex = this.reservationDate.Options.findIndex(\n            (o) =>\n              o.OptionId === this.filteredItems[i].OptionId &&\n              o.SpaceId === this.selectedSpace\n          )\n\n          let resultIndex = result.findIndex(\n            (o) => o.OptionId === this.filteredItems[i].OptionId\n          )\n          if (optionIndex === -1 && resultIndex === -1 && reservationOptionIndex === -1 || !this.filterAddedOptions) {\n             result.push(this.filteredItems[i])\n          }\n        }\n      }\n      return this.getUniqueByMap(result, 'OptionId');\n    },\n\n    filteredSpaceOptions() {\n      let options = []\n\n      if (this.newOptions.length > 0) {\n        options = this.newOptions.filter(\n          (o) => o.SpaceId === this.selectedSpace\n        )\n      }\n\n      return options\n    },\n\n    resStart() {\n      let minStartMinutes = 0\n      if (this.reservation && this.reservationDate.Spaces.length > 0) {\n        var lowest = Number.POSITIVE_INFINITY\n        var tmp\n        for (var i = this.reservationDate.Spaces.length - 1; i >= 0; i--) {\n          tmp = this.reservationDate.Spaces[i].StartMinutes\n          if (tmp < lowest) {\n            lowest = tmp\n          }\n        }\n        minStartMinutes = lowest\n      }\n      return minStartMinutes\n    },\n\n    resEnd() {\n      let maxEndMinutes = 0\n      if (this.reservation && this.reservationDate.Spaces.length > 0) {\n        var highest = Number.NEGATIVE_INFINITY\n        var tmp\n        for (var i = this.reservationDate.Spaces.length - 1; i >= 0; i--) {\n          tmp = this.reservationDate.Spaces[i].EndMinutes\n          if (tmp > highest) {\n            highest = tmp\n          }\n        }\n        maxEndMinutes = highest\n      }\n      return maxEndMinutes\n    },\n\n    timeSlots() {\n      let slots = []\n      let min = this.isEmployee ? 0 : this.resStart;\n      let max = this.isEmployee ? 1440 : this.resEnd;\n      let minutes = 15;\n\n      let i = min\n      while (i <= max) {\n        slots.push(i)\n        i = i + minutes\n      }\n\n      return slots\n    },\n  },\n\n  created() {\n    this.mReservation = cleanSource(this.reservation);\n    this.mReservation.Options = [];\n\n    this.search();\n  },\n\n  methods: {\n    ...mapMutations('reservationStore', ['setReservation']),\n\n    getUniqueByMap (arr, prop) {\n      const map = new Map();\n      \n      arr.forEach(item => {\n        map.set(item[prop], item);\n      });\n      \n      return Array.from(map.values());\n    },\n\n    getOptionDurationTimeSlots(option) {\n      let min = option.MinimumDuration > 0 ? option.MinimumDuration : 0\n      let max = option.MaximumDuration > 0 ? option.MaximumDuration : 600\n      let minutes = 15\n\n      return this.buildTimeMinutesOptions(min, max, minutes);\n    },\n\n    buildTimeMinutesOptions(open, close, minutesSteps) {\n      let output = [];\n\n      for (let i = open; i <= close; i = i + minutesSteps) {\n        output.push(i);\n      }\n      return output;\n    },\n\n    changeCategory(tab) {\n      this.selectedCategory = tab\n    },\n\n    changeSpace(spaceId) {\n      this.selectedSpace = spaceId\n    },\n\n    setSelectedSpace() {\n      if (this.reservationDate.Spaces.length > 0) {\n        this.selectedSpace = this.reservationDate.Spaces[0].SpaceId\n      } else {\n        this.selectedSpace = 0\n      }\n    },\n\n    getCategoryName(value) {\n      let name = ''\n\n      switch (value) {\n        case 1:\n          name = 'F&B'\n          break\n        case 2:\n          name = 'AV'\n          break\n        case 3:\n          name = 'Parking'\n          break\n        case 4:\n          name = 'Other'\n          break\n      }\n\n      return name\n    },\n\n    search(searchTerm) {\n      this.isOptionLoading = true;\n      this.searchTerm = searchTerm;\n      this.locationOptions = [];\n      this.getReservationOptions();\n    },\n\n    getReservationOptions() {\n      this.isOptionLoading = true;\n      this.locationOptions = [];\n\n      let isoDate = this.reservationDate.Date\n\n      reservationProvider.methods\n        .getReservationAvailableOptions(this.reservation.Key, isoDate, this.searchTerm)\n        .then((response) => {\n          if (response.status === 200) {\n            this.locationOptions = response.data\n          }\n        })\n        .finally(() => {\n          this.isOptionLoading = false\n        })\n    },\n\n    nrOfOptionsInCategory(categoryId) {\n      return this.locationOptions.filter((o) => o.CategoryId === categoryId)\n        .length\n    },\n\n    getNrOfSpaceOptions(spaceId) {\n      let nrOfOptions = 0\n\n      if (this.newOptions.length > 0) {\n        nrOfOptions = this.newOptions.filter(\n          (o) => o.SpaceId === spaceId\n        ).length\n      }\n\n      return nrOfOptions\n    },\n\n    addOption(item) {\n      let qty = 1\n\n      if (item.IsPP) {\n        qty = this.reservationDate.TotalSeats\n\n        if (this.selectedSpace > 0) {\n          let space = this.reservationDate.Spaces.find(\n            (o) => o.SpaceId === this.selectedSpace\n          )\n          if (space) {\n            qty = space.Seats\n          }\n        }\n      }\n\n      let newOption = cleanSource(item);\n\n      // CTP-1585: DefaultStartMinutes arrives already resolved - the date's own start\n      // when the venue chose \"same as meeting start\", or -1 if the date has no spaces\n      // yet - and FollowsDateStart says whether it should keep following that start.\n      newOption.SelectedTime = item.DefaultStartMinutes;\n      newOption.FollowsDateStart = item.FollowsDateStart;\n      newOption.Duration = item.Duration;\n      newOption.SpaceId = this.selectedSpace;\n      newOption.ChangeAllInSet = false;\n      newOption.RequiredItem = 0;\n      newOption.Amount = qty;\n      newOption.AddShareableSpace = item.AddShareableSpace;\n      newOption.VoucherId = item.VoucherId;\n      newOption.InVoucher = item.InVoucher;\n\n      this.newOptions.push(newOption);\n    },\n\n    deleteOption(option) {\n      let optionIndex = this.newOptions.findIndex(\n        (o) => o.OptionId === option.OptionId && o.SpaceId === option.SpaceId\n      )\n      if (optionIndex > -1) {\n        this.newOptions.splice(optionIndex, 1)\n      }\n    },\n\n    delay(callback, ms) {\n      let self = this\n      \n      if (this.timer) {\n        clearTimeout(this.timer)\n      }\n      this.timer = setTimeout(() => {\n        callback.apply(self)\n        clearTimeout(self.timer)\n      }, ms || 0)\n    },\n\n    updatePricePerHour(option) {\n      this.isUpdatingPrice = true;\n\n      let optionIndex = this.newOptions.findIndex(\n        (o) => o.OptionId === option.OptionId && o.SpaceId === option.SpaceId\n      )\n\n      reservationProvider.methods.getReservationOptionPriceUpdate(this.reservation.Key, option.OptionId, this.reservationDate.Date, option.Amount, option.Duration)\n        .then((response) => {\n          if (response.status === 200) {\n            this.newOptions[optionIndex].PricePerItem = response.data.PricePerItem;\n            this.newOptions[optionIndex].PriceTotal = response.data.PriceTotal;\n            this.newOptions[optionIndex].Crc = response.data.Crc;\n          }\n        })\n        .finally(() => {\n          this.isUpdatingPrice = false;\n        })\n    },\n\n    updateCrcValue(option) {\n      let optionIndex = this.newOptions.findIndex(\n        (o) => o.OptionId === option.OptionId && o.SpaceId === option.SpaceId\n      )\n      if (optionIndex > -1) {\n        //if (Number(option.PricePerItem) > 0) {\n          crcProvider.methods\n            .checkCrc(option.OptionId, option.PricePerItem)\n            .then((response) => {\n              if (response.status === 200) {\n                //this.mOption.Crc = response.data\n                this.newOptions[optionIndex].Crc = response.data\n              }\n            })\n        //}\n      }\n    },\n\n    addReservationOptions() {\n      let self = this\n\n      if (this.disableSaveButton || this.isSaving) {\n        return;\n      }\n\n      self.isSaving = true\n\n      for (let i = 0; i < self.newOptions.length; i++) {\n        let newOption = this.newOptions[i]\n\n        let date = this.reservationDate.Date;\n\n        self.mReservation.Options.push({\n          Id: 0,\n          ReservationId: Number(self.mReservation.Id),\n          OptionId: newOption.OptionId,\n          Date: date,\n          CategoryId: newOption.CategoryId,\n          Quantity: newOption.Amount,\n          CurrencyId: newOption.CurrencyId,\n          PricePerItem: newOption.PricePerItem,\n          PriceTotal: this.calculateTotalPrice(newOption),\n          Crc: newOption.Crc,\n          TaxId: newOption.TaxId,\n          TaxPercentage: newOption.TaxPercentage,\n          Deductible: newOption.Deductible,\n          ChangeAllInSet: newOption.ChangeAllInSet,\n          IsPP: newOption.IsPP,\n          IsPerHour: newOption.IsPerHour,\n          SelectedTime: newOption.SelectedTime,\n          FollowsDateStart: newOption.FollowsDateStart,\n          StartTime: newOption.SelectedTime,\n          EndTime: newOption.SelectedTime + newOption.Duration,\n          Duration: newOption.Duration,\n          BillableHours: newOption.Duration > 0 ? newOption.Duration / 60 : 0,\n          SpaceId: newOption.AddShareableSpace > 0 ? newOption.AddShareableSpace : newOption.SpaceId,\n          AddShareableSpace: newOption.AddShareableSpace,\n          VoucherId: newOption.VoucherId\n        })\n      }\n\n      reservationProvider.methods\n        .addReservationOptions(\n          self.mReservation.Key,\n          self.mReservation.Options\n        )\n        .then((response) => {\n          if (response.status === 200) {\n            // Update reservation store\n            this.setReservation(response.data)\n\n            this.newOptions = [];\n\n            EventBus.$emit('showToast', {\n              type: 'info',\n              message: this.$t(\n                'Components.Reservation.ModalAddOption.Toast_OptionsAdded'\n              ),\n            });\n\n            // Close \n            this.closeDrawer();\n          }\n        })\n        .catch((error) => {\n          self.isSavingError = true\n        })\n        .finally(() => {\n          self.isSaving = false\n        })\n    },\n\n    calculateTotalPrice(option) {\n      let total = option.Amount * option.PricePerItem\n\n      if (option.MaxTotal > 0 && total > option.MaxTotal) {\n        total = option.MaxTotal\n      }\n\n      return total\n    },\n\n    closeDrawer() {\n      // Close \n      this.$emit('hideDrawer');\n    }\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.tabs {\n  margin-bottom: 0;\n}\n\n.tabs-info {\n  display: flex;\n  flex-direction: column;\n  overflow-y: scroll;\n  border-radius: 6px;\n  border: 1px solid $grey-lighter;\n  border-top: none;\n  height: 600px;\n}\n\n.search-wrapper {\n  :deep(.column-searchTerm) {\n    flex-basis: 100% !important;\n  }\n}\n\n// .table {\n//   td {\n//     &:first-child {\n//       width: 100%;\n//     }\n//   }\n// }\n</style>","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!./AddOption.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!./AddOption.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AddOption.vue?vue&type=template&id=20d78cef&scoped=true\"\nimport script from \"./AddOption.vue?vue&type=script&lang=js\"\nexport * from \"./AddOption.vue?vue&type=script&lang=js\"\nimport style0 from \"./AddOption.vue?vue&type=style&index=0&id=20d78cef&prod&lang=scss&scoped=true\"\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  \"20d78cef\",\n  null\n  \n)\n\nexport default component.exports"],"sourceRoot":""}