{"version":3,"sources":["webpack:///./src/components/Options/ModalEditOptionChannels.vue","webpack:///src/components/Options/ModalEditOptionChannels.vue","webpack:///./src/components/Options/ModalEditOptionChannels.vue?8a84","webpack:///./src/components/Options/ModalEditOptionChannels.vue?fe2b"],"names":["render","_vm","this","_c","_self","attrs","$t","isSaving","isSavingSuccess","isSavingError","onClickCancel","saveOptionChannels","showModal","on","scopedSlots","_u","key","fn","staticClass","_v","_s","tag","enter","leave","_l","editChannels","channel","ChannelId","directives","name","rawName","value","IsActive","expression","domProps","_defineProperty","Array","isArray","_i","$event","$$a","$$el","target","$$c","checked","$$v","$$i","$set","concat","slice","ChannelName","IsPublic","proxy","slot","staticRenderFns","components","props","type","Boolean","default","Function","required","data","mOption","computed","_objectSpread","mapState","channels","locationState","Channels","created","JSON","parse","stringify","option","prepData","methods","mapMutations","checkOptionOnChannel","channelId","result","channelIndex","findIndex","c","checkOptionActiveOnChannel","self","j","length","push","filter","optionProvider","saveLocationOptionChannels","Id","Location","LocationId","then","response","setOption","EventBus","$emit","message","catch","e","finally","component"],"mappings":"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","file":"js/chunk-74ac5117.js?id=c023f6b36a659c3caa5e","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ui-component-modal',{attrs:{\"modalTitle\":_vm.$t('Components.Options.ModalEditOptionChannels.Main_Title'),\"isSaving\":_vm.isSaving,\"isSavingSuccess\":_vm.isSavingSuccess,\"isSavingError\":_vm.isSavingError,\"hideFooterButtons\":_vm.isSavingError || _vm.isSavingSuccess,\"disableSaveButton\":_vm.isSaving,\"onClickCancel\":_vm.onClickCancel,\"onClickSave\":_vm.saveOptionChannels,\"showModal\":_vm.showModal},on:{\"closeModal\":_vm.onClickCancel},scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('table',{staticClass:\"table is-fullwidth is-narrow\"},[_c('thead',[_c('tr',[_c('th',{attrs:{\"width\":\"50\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Options.ModalEditOptionChannels.Label_Active'))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t('Components.Options.ModalEditOptionChannels.Label_Channel'))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t('Components.Options.ModalEditOptionChannels.Label_IsPublic'))+\" \")])])]),_c(\"transition-group\",{tag:\"tbody\",attrs:{\"name\":\"fade\",\"mode\":\"out-in\",\"duration\":{ enter: 300, leave: 300 }}},_vm._l((_vm.editChannels),function(channel){return _c('tr',{key:channel.ChannelId},[_c('td',{attrs:{\"width\":\"50\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(channel.IsActive),expression:\"channel.IsActive\"}],attrs:{\"type\":\"checkbox\",\"id\":'isActive_' + channel.ChannelId},domProps:{\"checked\":channel.IsActive,\"checked\":Array.isArray(channel.IsActive)?_vm._i(channel.IsActive,null)>-1:(channel.IsActive)},on:{\"change\":function($event){var $$a=channel.IsActive,$$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(channel, \"IsActive\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(channel, \"IsActive\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(channel, \"IsActive\", $$c)}}}})]),_c('td',[_c('span',[_c('label',{attrs:{\"for\":'isActive_' + channel.ChannelId}},[_vm._v(_vm._s(channel.ChannelName))])])]),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(channel.IsPublic),expression:\"channel.IsPublic\"}],attrs:{\"type\":\"checkbox\",\"disabled\":!channel.IsActive},domProps:{\"checked\":channel.IsActive && channel.IsPublic,\"checked\":Array.isArray(channel.IsPublic)?_vm._i(channel.IsPublic,null)>-1:(channel.IsPublic)},on:{\"change\":function($event){var $$a=channel.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(channel, \"IsPublic\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(channel, \"IsPublic\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(channel, \"IsPublic\", $$c)}}}})])])}),0)],1)]},proxy:true}])},[_c('template',{slot:\"modalTitle\"})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <ui-component-modal\n    :modalTitle=\"$t('Components.Options.ModalEditOptionChannels.Main_Title')\"\n    :isSaving=\"isSaving\"\n    :isSavingSuccess=\"isSavingSuccess\"\n    :isSavingError=\"isSavingError\"\n    :hideFooterButtons=\"isSavingError || isSavingSuccess\"\n    :disableSaveButton=\"isSaving\"\n    :onClickCancel=\"onClickCancel\"\n    :onClickSave=\"saveOptionChannels\"\n    :showModal=\"showModal\"\n    @closeModal=\"onClickCancel\"\n  >\n    <template slot=\"modalTitle\"></template>\n    <template v-slot:content>\n      <table class=\"table is-fullwidth is-narrow\">\n        <thead>\n          <tr>\n            <th width=\"50\">\n              {{\n                $t('Components.Options.ModalEditOptionChannels.Label_Active')\n              }}\n            </th>\n            <th>\n              {{\n                $t('Components.Options.ModalEditOptionChannels.Label_Channel')\n              }}\n            </th>\n            <th>\n              {{\n                $t('Components.Options.ModalEditOptionChannels.Label_IsPublic')\n              }}\n            </th>\n          </tr>\n        </thead>\n        <tbody\n          name=\"fade\"\n          is=\"transition-group\"\n          mode=\"out-in\"\n          :duration=\"{ enter: 300, leave: 300 }\"\n        >\n          <tr v-for=\"channel in editChannels\" :key=\"channel.ChannelId\">\n            <td width=\"50\">\n              <input\n                type=\"checkbox\"\n                :id=\"'isActive_' + channel.ChannelId\"\n                v-model=\"channel.IsActive\"\n                :checked=\"channel.IsActive\"\n              />\n            </td>\n            <td>\n              <span\n                ><label :for=\"'isActive_' + channel.ChannelId\">{{\n                  channel.ChannelName\n                }}</label></span\n              >\n            </td>\n            <td>\n              <input\n                type=\"checkbox\"\n                v-model=\"channel.IsPublic\"\n                :disabled=\"!channel.IsActive\"\n                :checked=\"channel.IsActive && channel.IsPublic\"\n              />\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </template>\n  </ui-component-modal>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport { mapState, mapMutations } from 'vuex'\nimport { EventBus } from '@/eventbus/event-bus'\nimport optionProvider from '@/providers/option'\n\nexport default {\n  components: {},\n\n  props: {\n    showModal: {\n      type: Boolean,\n      default: false,\n    },\n\n    onClickCancel: {\n      type: Function,\n      required: true,\n    },\n  },\n\n  data() {\n    return {\n      editChannels: [],\n      isSaving: false,\n      isSavingSuccess: false,\n      isSavingError: false,\n      mOption: null,\n    }\n  },\n\n  computed: {\n    ...mapState('locationStore', ['locationState']),\n    ...mapState('optionStore', ['option']),\n\n    channels() {\n      if (this.locationState) {\n        return this.locationState.Channels\n      } else {\n        return []\n      }\n    },\n  },\n\n  created() {\n    this.mOption = JSON.parse(JSON.stringify(this.option))\n\n    this.prepData()\n  },\n\n  methods: {\n    ...mapMutations('optionStore', ['setOption']),\n\n    checkOptionOnChannel(channelId) {\n      let result = false\n\n      let channelIndex = this.option.Channels.findIndex(\n        (c) => c.ChannelId === channelId\n      )\n      if (channelIndex > -1) {\n        result = true\n      }\n\n      return result\n    },\n\n    checkOptionActiveOnChannel(channelId) {\n      let result = false\n\n      let channelIndex = this.option.Channels.findIndex(\n        (c) => c.ChannelId === channelId\n      )\n      if (channelIndex > -1) {\n        result = this.option.Channels[channelIndex].IsPublic\n      }\n\n      return result\n    },\n\n    prepData() {\n      let self = this\n\n      for (let j = 0; j < self.channels.length; j++) {\n        self.editChannels.push({\n          ChannelId: self.channels[j].ChannelId,\n          ChannelName: self.channels[j].ChannelName,\n          IsPublic: self.checkOptionActiveOnChannel(self.channels[j].ChannelId),\n          IsActive: self.checkOptionOnChannel(self.channels[j].ChannelId),\n        })\n      }\n    },\n\n    saveOptionChannels() {\n      let self = this\n\n      if (!self.isSaving) {\n        self.isSaving = true\n\n        let channels = self.editChannels.filter((c) => c.IsActive)\n\n        optionProvider.methods\n          .saveLocationOptionChannels(\n            self.mOption.Id,\n            self.mOption.Location.LocationId,\n            channels\n          )\n          .then((response) => {\n            self.setOption(response.data)\n\n            // Send message to display toast on screen\n            EventBus.$emit('showToast', {\n              type: 'info',\n              message: 'Option updated',\n            })\n\n            self.onClickCancel()\n          })\n          .catch((e) => {\n            self.isSavingError = true\n          })\n          .finally(() => {\n            self.isSaving = false\n          })\n      }\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!./ModalEditOptionChannels.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!./ModalEditOptionChannels.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ModalEditOptionChannels.vue?vue&type=template&id=b9734f4c\"\nimport script from \"./ModalEditOptionChannels.vue?vue&type=script&lang=js\"\nexport * from \"./ModalEditOptionChannels.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":""}