{"version":3,"sources":["webpack:///./src/components/Templates/EditProgramTemplate.vue","webpack:///src/components/Templates/EditProgramTemplate.vue","webpack:///./src/components/Templates/EditProgramTemplate.vue?6391","webpack:///./src/components/Templates/EditProgramTemplate.vue?3fef"],"names":["render","_vm","this","_c","_self","mTemplate","staticClass","_v","directives","name","rawName","value","Name","expression","attrs","domProps","on","$event","target","composing","$set","Description","_l","Items","item","index","key","IsPublic","Array","isArray","_i","$$a","$$el","$$c","checked","$$v","$$i","concat","slice","DynamicTime","setDynamic","_e","StartMinutes","$$selectedVal","prototype","filter","call","options","o","selected","map","val","_value","multiple","timeSlots","timeSlot","_s","_f","LinkedEntity","entityType","DynamicItem","DynamicValue","dynamicSlots","slot","Duration","durationSlots","addItem","isSaving","closeDrawer","$t","class","disableSaveButton","saveProgramTemplate","staticRenderFns","components","props","template","type","Object","default","required","data","newItem","buildTimeMinutesOptions","computed","_objectSpread","mapState","locationId","locationState","Id","EntityType","itemId","ItemId","created","cleanSource","resetNewItem","methods","open","close","minutesSteps","output","i","push","LinkedItemId","_this","templateProvider","upsertProgramTemplate","then","response","status","$emit","EventBus","message","catch","error","finally","component"],"mappings":"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","file":"js/chunk-2d0af08e.js?id=8765b5b80be984cff7af","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.mTemplate)?_c('div',[_c('table',{staticClass:\"table is-fullwidth\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Name\")]),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mTemplate.Name),expression:\"mTemplate.Name\"}],staticClass:\"input\",attrs:{\"type\":\"text\",\"placeholder\":\"Name\"},domProps:{\"value\":(_vm.mTemplate.Name)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.mTemplate, \"Name\", $event.target.value)}}})])]),_c('tr',[_c('td',[_vm._v(\"Description\")]),_c('td',[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mTemplate.Description),expression:\"mTemplate.Description\"}],staticClass:\"textarea\",attrs:{\"placeholder\":\"Description\"},domProps:{\"value\":(_vm.mTemplate.Description)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.mTemplate, \"Description\", $event.target.value)}}})])]),_c('tr',[_c('td',[_vm._v(\"Template items\")]),_c('td',[_c('ul',_vm._l((_vm.mTemplate.Items),function(item,index){return _c('li',{key:index},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Description\")]),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.Description),expression:\"item.Description\"}],staticClass:\"input\",attrs:{\"type\":\"text\",\"placeholder\":\"Description\"},domProps:{\"value\":(item.Description)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(item, \"Description\", $event.target.value)}}})])]),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Is public\")]),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.IsPublic),expression:\"item.IsPublic\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(item.IsPublic)?_vm._i(item.IsPublic,null)>-1:(item.IsPublic)},on:{\"change\":function($event){var $$a=item.IsPublic,$$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.$set(item, \"IsPublic\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(item, \"IsPublic\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(item, \"IsPublic\", $$c)}}}})])]),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Is dynamic\")]),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.DynamicTime),expression:\"item.DynamicTime\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(item.DynamicTime)?_vm._i(item.DynamicTime,null)>-1:(item.DynamicTime)},on:{\"change\":[function($event){var $$a=item.DynamicTime,$$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.$set(item, \"DynamicTime\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(item, \"DynamicTime\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(item, \"DynamicTime\", $$c)}},_vm.setDynamic]}})])]),(!item.DynamicTime)?_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Start time\")]),_c('div',{staticClass:\"control\"},[_c('div',{staticClass:\"select\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.StartMinutes),expression:\"item.StartMinutes\"}],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(item, \"StartMinutes\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.timeSlots),function(timeSlot,index){return _c('option',{key:index,domProps:{\"value\":timeSlot,\"selected\":item.StartMinutes === timeSlot}},[_vm._v(\" \"+_vm._s(_vm._f(\"minutesToTime\")(timeSlot))+\" \")])}),0)])])]):_vm._e(),(item.DynamicTime)?_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Linked to\")]),_c('div',{staticClass:\"select\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.LinkedEntity),expression:\"item.LinkedEntity\"}],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(item, \"LinkedEntity\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":'None',\"selected\":item.LinkedEntity === 'None'}},[_vm._v(\"Date\")]),_c('option',{domProps:{\"value\":_vm.entityType,\"selected\":item.LinkedEntity === _vm.entityType}},[_vm._v(_vm._s(_vm.entityType))])])])]):_vm._e(),(item.DynamicTime)?_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Based on\")]),_c('div',{staticClass:\"select\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.DynamicItem),expression:\"item.DynamicItem\"}],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(item, \"DynamicItem\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":'start',\"selected\":item.DynamicItem === 'start'}},[_vm._v(\"Start time\")]),(item.LinkedEntity !== 'Option')?_c('option',{domProps:{\"value\":'end',\"selected\":item.DynamicItem === 'end'}},[_vm._v(\"End time\")]):_vm._e()])])]):_vm._e(),(item.DynamicTime)?_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Offset\")]),_c('div',{staticClass:\"control\"},[_c('div',{staticClass:\"select\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.DynamicValue),expression:\"item.DynamicValue\"}],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(item, \"DynamicValue\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.dynamicSlots),function(slot,index){return _c('option',{key:index,domProps:{\"value\":slot,\"selected\":item.DynamicValue === slot}},[_vm._v(\" \"+_vm._s(slot)+\" Minutes \")])}),0)])])]):_vm._e(),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Duration\")]),_c('div',{staticClass:\"control\"},[_c('div',{staticClass:\"select\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.Duration),expression:\"item.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(item, \"Duration\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.durationSlots),function(slot,index){return _c('option',{key:index,domProps:{\"value\":slot,\"selected\":item.Duration === slot}},[_vm._v(\" \"+_vm._s(slot)+\" Minutes \")])}),0)])])]),_c('hr')])}),0),_c('a',{staticClass:\"button is-primary\",on:{\"click\":_vm.addItem}},[_vm._v(\"Add item\")])])])])]),_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.saveProgramTemplate}},[_vm._v(\" \"+_vm._s(_vm.$t('Form.Control.Save'))+\" \")])])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div v-if=\"mTemplate\">\n    <table class=\"table is-fullwidth\">\n      <tbody>\n        <tr>\n          <td>Name</td>\n          <td>\n            <input type=\"text\" v-model=\"mTemplate.Name\" placeholder=\"Name\" class=\"input\" />\n          </td>\n        </tr>\n        <tr>\n          <td>Description</td>\n          <td>\n            <textarea v-model=\"mTemplate.Description\" placeholder=\"Description\" class=\"textarea\"></textarea>\n          </td>\n        </tr>\n        <tr>\n          <td>Template items</td>\n          <td>\n            <ul>\n              <li v-for=\"(item, index) in mTemplate.Items\" :key=\"index\">\n                <div class=\"field\">\n                  <label class=\"label\">Description</label>\n                  <div class=\"control\">\n                    <input type=\"text\" v-model=\"item.Description\" placeholder=\"Description\" class=\"input\" />\n                  </div>\n                </div>\n\n                <div class=\"field\">\n                  <label class=\"label\">Is public</label>\n                  <div class=\"control\">\n                    <input type=\"checkbox\" v-model=\"item.IsPublic\" />\n                  </div>\n                </div>\n\n                <div class=\"field\">\n                  <label class=\"label\">Is dynamic</label>\n                  <div class=\"control\">\n                    <input @change=\"setDynamic\" type=\"checkbox\" v-model=\"item.DynamicTime\" />\n                  </div>\n                </div>\n\n                <div v-if=\"!item.DynamicTime\" class=\"field\">\n                  <label class=\"label\">Start time</label>\n                  <div class=\"control\">\n                    <div class=\"select\">\n                      <select\n                        v-model=\"item.StartMinutes\"\n                      >\n                        <option\n                          v-for=\"(timeSlot, index) in timeSlots\"\n                          :key=\"index\"\n                          :value=\"timeSlot\"\n                          :selected=\"item.StartMinutes === timeSlot\"\n                        >\n                          {{ timeSlot | minutesToTime }}\n                        </option>\n                      </select>\n                    </div>\n                  </div>\n                </div>\n\n                <div v-if=\"item.DynamicTime\" class=\"field\">\n                  <label class=\"label\">Linked to</label>\n                  <div class=\"select\">\n                    <select\n                      v-model=\"item.LinkedEntity\"\n                    >\n                      <option :value=\"'None'\" :selected=\"item.LinkedEntity === 'None'\">Date</option>\n                      <option :value=\"entityType\" :selected=\"item.LinkedEntity === entityType\">{{ entityType }}</option>\n                    </select>\n                  </div>\n                </div>\n                              \n                <div v-if=\"item.DynamicTime\" class=\"field\">\n                  <label class=\"label\">Based on</label>\n                  <div class=\"select\">\n                    <select\n                      v-model=\"item.DynamicItem\"\n                    >\n                      <option :value=\"'start'\" :selected=\"item.DynamicItem === 'start'\">Start time</option>\n                      <option v-if=\"item.LinkedEntity !== 'Option'\" :value=\"'end'\" :selected=\"item.DynamicItem === 'end'\">End time</option>\n                    </select>\n                  </div>\n                </div>\n\n                <div v-if=\"item.DynamicTime\" class=\"field\">\n                  <label class=\"label\">Offset</label>\n                  <div class=\"control\">\n                    <div class=\"select\">\n                      <select\n                        v-model=\"item.DynamicValue\"\n                      >\n                        <option\n                          v-for=\"(slot, index) in dynamicSlots\"\n                          :key=\"index\"\n                          :value=\"slot\"\n                          :selected=\"item.DynamicValue === slot\"\n                        >\n                          {{ slot }} Minutes\n                        </option>\n                      </select>\n                    </div>\n                  </div>\n                </div>\n\n                <div class=\"field\">\n                  <label class=\"label\">Duration</label>\n                  <div class=\"control\">\n                    <div class=\"select\">\n                      <select\n                        v-model=\"item.Duration\"\n                      >\n                        <option\n                          v-for=\"(slot, index) in durationSlots\"\n                          :key=\"index\"\n                          :value=\"slot\"\n                          :selected=\"item.Duration === slot\"\n                        >\n                          {{ slot }} Minutes\n                        </option>\n                      </select>\n                    </div>\n                  </div>\n                </div>\n\n                <hr />\n              </li>\n            </ul>\n\n            <a @click=\"addItem\" class=\"button is-primary\">Add item</a>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n\n    <div class=\"buttons is-right mt-6\">\n      <a\n        v-if=\"!isSaving\"\n        @click=\"closeDrawer\"\n        class=\"button is-ghost has-margin-right\"\n        :disabled=\"isSaving\"\n      >{{ $t('Form.Control.Cancel') }}</a>\n      <a\n        @click=\"saveProgramTemplate\"\n        class=\"button is-large\"\n        :class=\"[\n          !isSaving && !disableSaveButton ? 'is-primary' : '',\n          {\n            'is-loading': isSaving,\n            'is-disabled': isSaving || disableSaveButton,\n          },\n        ]\"\n        :disabled=\"isSaving || disableSaveButton\"\n      >\n        {{ $t('Form.Control.Save') }}\n      </a>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapState } from 'vuex';\nimport { EventBus } from '@/eventbus/event-bus'\nimport templateProvider from '@/providers/template'\nimport { cleanSource } from '@/utils/objectHelper'\n\nexport default {\n  components: {},\n\n  props: {\n    template: {\n      type: Object,\n      default: null,\n      required: true\n    },\n  },\n\n  data() {\n    return {\n      isSaving: false,\n      \n      mTemplate: null,\n      newItem: null,\n\n      dynamicSlots: this.buildTimeMinutesOptions(-480, 480, 15),\n      durationSlots: this.buildTimeMinutesOptions(0, 480, 15),\n      timeSlots: this.buildTimeMinutesOptions(0, 1440, 15),\n    }\n  },\n\n  computed: {\n    ...mapState('locationStore', ['locationState']),\n\n    locationId() {\n      return this.locationState.Id;\n    },\n\n    entityType() {\n      return this.template.EntityType;\n    },\n\n    itemId() {\n      return this.template.ItemId;\n    },\n    \n    disableSaveButton() {\n      return false;\n    },\n  },\n\n  created() {\n    this.mTemplate = cleanSource(this.template);\n    this.resetNewItem();\n  },\n\n  methods: {\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    setDynamic() {\n      if (!this.mTemplate.Items[0].DynamicTime) {\n        this.mTemplate.Items[0].DynamicItem = 'none'\n      } else {\n        this.mTemplate.Items[0].DynamicItem = 'start'\n      }\n    },\n\n    addItem() {\n      this.mTemplate.Items.push(this.newItem)\n      this.resetNewItem();\n    },\n\n    resetNewItem() {\n      this.newItem = {\n        Description: '',\n        StartMinutes: 540,\n        Duration: 60,\n        IsPublic: true,\n        DynamicTime: false,\n        DynamicItem: 'none',\n        DynamicValue: 0,\n        LinkedEntity: this.template.EntityType,\n        LinkedItemId: this.template.ItemId\n      }\n    },\n\n    saveProgramTemplate() {\n      if (this.isSaving) {\n        return;\n      }\n      this.isSaving = true;\n\n      templateProvider.methods.upsertProgramTemplate(this.locationId, this.mTemplate)\n        .then((response) => {\n          if (response.status === 200) {\n            this.$emit('templateSaved', response.data);\n\n            EventBus.$emit('showToast', {\n              type: 'info',\n              message: 'Saved',\n            })\n\n            this.closeDrawer();\n          }\n        })\n        .catch((error) => {\n          //console.error('Error creating program template:', error);\n        })\n        .finally(() => {\n          this.isSaving = false;\n        });\n    },\n\n    closeDrawer() {\n      // Close \n      this.$emit('hideDrawer');\n    }\n  },\n}\n</script>\n\n<style></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!./EditProgramTemplate.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!./EditProgramTemplate.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EditProgramTemplate.vue?vue&type=template&id=0de0fa6b\"\nimport script from \"./EditProgramTemplate.vue?vue&type=script&lang=js\"\nexport * from \"./EditProgramTemplate.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":""}