{"version":3,"sources":["webpack:///./src/components/Settings/MailSettings/LocationMailSettings.vue","webpack:///src/components/Settings/MailSettings/LocationMailSettings.vue","webpack:///./src/components/Settings/MailSettings/LocationMailSettings.vue?41be","webpack:///./src/components/Settings/MailSettings/LocationMailSettings.vue?b066"],"names":["render","_vm","this","_c","_self","showEditMailSettings","attrs","hideModal","settings","selectedChannel","on","mailSettingsUpdated","_e","setShowEditMailSettings","$t","scopedSlots","_u","key","fn","_v","_s","proxy","staticClass","class","$event","_l","locationState","Channels","channel","index","ChannelId","ChannelName","filteredMailTexts","length","duplicateGlobalToChannel","_m","setting","Key","_f","MeetingtypeId","ChangeType","ReceiveMail","EmailAddress","split","address","staticRenderFns","components","Message","ModalEditLocationMailSettings","props","data","isLoading","computed","_objectSpread","mapState","_this","texts","filter","s","created","getLocationMailSettings","methods","self","locationProvider","Id","then","response","i","catch","e","finally","_this$settings","cleanSource","newTexts","text","push","apply","saveMailSettings","_this2","isSaving","saveLocationMailSettings","status","isSavingError","component"],"mappings":"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","file":"js/chunk-2d0b1fe2.js?id=217ecf8b70f3a015292b","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.showEditMailSettings)?_c('ModalEditLocationMailSettings',{attrs:{\"showModal\":_vm.showEditMailSettings,\"onClickCancel\":_vm.hideModal,\"settings\":_vm.settings,\"selectedChannel\":_vm.selectedChannel},on:{\"mailSettingsUpdated\":_vm.mailSettingsUpdated}}):_vm._e(),_c('ui-section-header',{attrs:{\"showEdit\":true,\"editFunction\":_vm.setShowEditMailSettings,\"editLabel\":_vm.$t('Components.Reservation.BasicData.Link_Edit')},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(_vm._s(_vm.$t('Components.Settings.LocationMailSettings.header_ReservationMailSettings')))]},proxy:true}])}),_c('div',{staticClass:\"tabs is-boxed\"},[_c('ul',[_c('li',{class:{\n          'is-active': _vm.selectedChannel === 0,\n        }},[_c('a',{on:{\"click\":function($event){_vm.selectedChannel = 0}}},[_vm._v(_vm._s(_vm.$t('Components.Settings.LocationMailSettings.tab_Global')))])]),_vm._l((_vm.locationState.Channels),function(channel,index){return _c('li',{key:index,class:{\n          'is-active': channel.ChannelId === _vm.selectedChannel,\n        },attrs:{\"id\":\"id_tabs_yieldlist\"}},[_c('a',{on:{\"click\":function($event){_vm.selectedChannel = channel.ChannelId}}},[_vm._v(_vm._s(channel.ChannelName))])])})],2)]),(_vm.filteredMailTexts.length === 0)?_c('div',[_c('Message',{attrs:{\"message\":_vm.$t('Components.Settings.LocationMailSettings.message_NoSettings')}}),_c('a',{staticClass:\"button is-primary\",on:{\"click\":_vm.duplicateGlobalToChannel}},[_vm._v(_vm._s(_vm.$t('Components.Settings.LocationMailSettings.button_CopyFromGlobal')))])],1):_vm._e(),(_vm.filteredMailTexts.length > 0)?_c('table',{staticClass:\"table is-fullwidth is-striped is-hoverable\"},[_vm._m(0),_c('tbody',_vm._l((_vm.filteredMailTexts),function(setting){return _c('tr',{key:setting.Key},[_c('td',[_vm._v(_vm._s(_vm._f(\"getMeetingtypeName\")(setting.MeetingtypeId)))]),_c('td',[_vm._v(_vm._s(setting.ChangeType))]),_c('td',{staticClass:\"has-text-right\"},[_c('span',{staticClass:\"icon\"},[(setting.ReceiveMail)?_c('font-awesome-icon',{staticClass:\"has-text-success\",attrs:{\"icon\":['fas', 'check']}}):_vm._e(),(!setting.ReceiveMail)?_c('font-awesome-icon',{staticClass:\"has-text-danger\",attrs:{\"icon\":['fas', 'times']}}):_vm._e()],1)]),_c('td',{staticClass:\"has-text-right\"},[(\n              setting.ReceiveMail &&\n              setting.EmailAddress &&\n              setting.EmailAddress.length > 0\n            )?_c('div',{staticClass:\"tags has-text-right\"},_vm._l((setting.EmailAddress.split(',')),function(address,index){return _c('span',{key:index,staticClass:\"tag is-link\"},[_vm._v(_vm._s(address)+\" \")])}),0):_vm._e()])])}),0)]):_vm._e()],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"Meeting type\")]),_c('th',[_vm._v(\"Action\")]),_c('th',{staticClass:\"has-text-right\"},[_vm._v(\"Receive mail\")]),_c('th',{staticClass:\"has-text-right\"},[_vm._v(\"Email address\")])])])\n}]\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <ModalEditLocationMailSettings\n      v-if=\"showEditMailSettings\"\n      :showModal=\"showEditMailSettings\"\n      :onClickCancel=\"hideModal\"\n      :settings=\"settings\"\n      :selectedChannel=\"selectedChannel\"\n      @mailSettingsUpdated=\"mailSettingsUpdated\"\n    />\n\n    <ui-section-header :showEdit=\"true\" :editFunction=\"setShowEditMailSettings\" :editLabel=\"$t('Components.Reservation.BasicData.Link_Edit')\">\n      <template v-slot:title>{{ $t('Components.Settings.LocationMailSettings.header_ReservationMailSettings') }}</template>\n    </ui-section-header>\n\n    <div class=\"tabs is-boxed\">\n      <ul>\n        <li\n          :class=\"{\n            'is-active': selectedChannel === 0,\n          }\"\n        >\n          <a @click=\"selectedChannel = 0\">{{ $t('Components.Settings.LocationMailSettings.tab_Global') }}</a>\n        </li>\n\n        <li\n          id=\"id_tabs_yieldlist\"\n          v-for=\"(channel, index) in locationState.Channels\"\n          :key=\"index\"\n          :class=\"{\n            'is-active': channel.ChannelId === selectedChannel,\n          }\"\n        >\n          <a @click=\"selectedChannel = channel.ChannelId\">{{\n            channel.ChannelName\n          }}</a>\n        </li>\n      </ul>\n    </div>\n\n    <div v-if=\"filteredMailTexts.length === 0\">\n      <Message :message=\"$t('Components.Settings.LocationMailSettings.message_NoSettings')\" />\n\n      <a\n        @click=\"duplicateGlobalToChannel\"\n        class=\"button is-primary\"\n        >{{ $t('Components.Settings.LocationMailSettings.button_CopyFromGlobal') }}</a\n      >\n    </div>   \n\n    <table\n      v-if=\"filteredMailTexts.length > 0\"\n      class=\"table is-fullwidth is-striped is-hoverable\"\n    >\n      <thead>\n        <tr>\n          <th>Meeting type</th>\n          <th>Action</th>\n          <th class=\"has-text-right\">Receive mail</th>\n          <th class=\"has-text-right\">Email address</th>\n        </tr>\n      </thead>\n      <tbody>\n        <tr v-for=\"setting in filteredMailTexts\" :key=\"setting.Key\">\n          <td>{{ setting.MeetingtypeId | getMeetingtypeName }}</td>\n          <td>{{ setting.ChangeType }}</td>\n          <td class=\"has-text-right\">\n            <span class=\"icon\">\n              <font-awesome-icon\n                v-if=\"setting.ReceiveMail\"\n                :icon=\"['fas', 'check']\"\n                class=\"has-text-success\"\n              />\n              <font-awesome-icon\n                v-if=\"!setting.ReceiveMail\"\n                :icon=\"['fas', 'times']\"\n                class=\"has-text-danger\"\n              />\n            </span>\n          </td>\n          <td class=\"has-text-right\">\n            <div\n              class=\"tags has-text-right\"\n              v-if=\"\n                setting.ReceiveMail &&\n                setting.EmailAddress &&\n                setting.EmailAddress.length > 0\n              \"\n            >\n              <span\n                v-for=\"(address, index) in setting.EmailAddress.split(',')\"\n                :key=\"index\"\n                class=\"tag is-link\"\n                >{{ address }}\n              </span>\n            </div>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  </div>\n</template>\n\n<script>\nimport { mapState } from 'vuex'\nimport locationProvider from '@/providers/location'\nimport { cleanSource } from '@/utils/objectHelper'\n\nexport default {\n  components: {\n    Message: () => import('@/components/UI/Message'),\n    ModalEditLocationMailSettings: () =>\n      import(\n        '@/components/Settings/MailSettings/ModalEditLocationMailSettings'\n      ),\n  },\n\n  props: {},\n\n  data() {\n    return {\n      isLoading: false,\n      selectedChannel: 0,\n      settings: [],\n      showEditMailSettings: false,\n    }\n  },\n\n  computed: {\n    ...mapState('locationStore', ['locationState']),\n\n    filteredMailTexts() {\n      let texts = []\n\n      if (this.settings && this.settings.length > 0) {\n        texts = this.settings.filter(\n          (s) => s.ChannelId === this.selectedChannel\n        )\n      }\n\n      return texts\n    },\n  },\n\n  created() {\n    this.getLocationMailSettings()\n  },\n\n  methods: {\n    getLocationMailSettings() {\n      let self = this\n      self.isLoading = true\n\n      locationProvider.methods\n        .getLocationMailSettings(this.locationState.Id)\n        .then((response) => {\n          self.settings = response.data\n\n          for (let i = 0; i < self.settings.length; i++) {\n            self.settings[i].Key =\n              self.settings[i].ChannelId +\n              '-' +\n              self.settings[i].MeetingtypeId +\n              '-' +\n              self.settings[i].ChangeType\n          }\n        })\n        .catch((e) => {\n          //console.log(e.response)\n        })\n        .finally(() => {\n          self.isLoading = false\n        })\n    },\n\n    duplicateGlobalToChannel() {\n      let texts = cleanSource(this.settings.filter((s) => s.ChannelId === 0))\n      let newTexts = []\n      for (let i = 0; i < texts.length; i++) {\n        let text = texts[i]\n\n        text.Id = 0\n        text.ChannelId = this.selectedChannel\n        text.Key =\n          text.ChannelId + '-' + text.MeetingtypeId + '-' + text.ChangeType\n\n        newTexts.push(text)\n      }\n\n      this.settings.push(...newTexts)\n      this.saveMailSettings()\n    },\n\n    saveMailSettings() {\n      let self = this\n\n      if (!self.isSaving) {\n        self.isSaving = true\n\n        locationProvider.methods\n          .saveLocationMailSettings(self.locationState.Id, self.settings)\n          .then((response) => {\n            if (response.status === 200) {\n              this.getLocationMailSettings()\n            }\n          })\n          .catch((e) => {\n            self.isSavingError = true\n          })\n          .finally(() => {\n            self.isSaving = false\n          })\n      }\n    },\n\n    mailSettingsUpdated(settings) {\n      this.getLocationMailSettings()\n    },\n\n    setShowEditMailSettings() {\n      this.showEditMailSettings = true\n    },\n\n    hideModal() {\n      this.showEditMailSettings = false\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!./LocationMailSettings.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!./LocationMailSettings.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LocationMailSettings.vue?vue&type=template&id=58205415\"\nimport script from \"./LocationMailSettings.vue?vue&type=script&lang=js\"\nexport * from \"./LocationMailSettings.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":""}