{"version":3,"sources":["webpack:///./src/eventbus/event-bus.js","webpack:///./src/components/Terms/ModalCreateBookingTerm.vue","webpack:///src/components/Terms/ModalCreateBookingTerm.vue","webpack:///./src/components/Terms/ModalCreateBookingTerm.vue?8223","webpack:///./src/components/Terms/ModalCreateBookingTerm.vue?8c53"],"names":["EventBus","Vue","render","_vm","this","_c","_self","attrs","$t","isSaving","isSavingSuccess","isSavingError","onClickCancel","save","showModal","on","scopedSlots","_u","key","fn","staticClass","model","value","newTerms","Version","callback","$$v","$set","expression","_v","_s","_l","Languages","language","index","Language","directives","name","rawName","Changes","domProps","$event","target","composing","Terms","proxy","slot","staticRenderFns","Message","components","props","type","Boolean","default","Function","required","channelId","Number","data","ChannelId","LocationId","$route","params","locationId","CancelRules","computed","_objectSpread","mapState","created","setupTermLangauges","methods","i","locationState","length","push","self","termsProvider","createLocationBookingTerm","then","response","status","t","setTimeout","$emit","$router","termId","Id","clearTimeout","catch","error","finally","component"],"mappings":"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","file":"js/chunk-3b42236a.js?id=9100027043b863781fe1","sourcesContent":["import Vue from 'vue'\nexport const EventBus = new Vue()\n\nexport default EventBus\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ui-component-modal',{attrs:{\"modalTitle\":_vm.$t('Components.Terms.ModalCreateBookingTerm.Main_Title'),\"modalSize\":\"extra-large\",\"isSaving\":_vm.isSaving,\"isSavingSuccess\":_vm.isSavingSuccess,\"isSavingError\":_vm.isSavingError,\"hideFooterButtons\":_vm.isSavingError || _vm.isSavingSuccess,\"onClickCancel\":_vm.onClickCancel,\"onClickSave\":_vm.save,\"showModal\":_vm.showModal},on:{\"closeModal\":_vm.onClickCancel},scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('div',{staticClass:\"mb-6\"},[_c('Message',{attrs:{\"message\":_vm.$t('Components.Terms.ModalCreateBookingTerm.Message_Info')}})],1),_c('ui-base-input-field',{staticClass:\"mb-6\",attrs:{\"label\":'Version',\"type\":\"text\",\"placeholder\":_vm.$t('Components.Terms.ModalCreateBookingTerm.Placeholder_Term')},model:{value:(_vm.newTerms.Version),callback:function ($$v) {_vm.$set(_vm.newTerms, \"Version\", $$v)},expression:\"newTerms.Version\"}}),_c('div',{staticClass:\"divider\"},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Terms.ModalCreateBookingTerm.DividerHeader_Changes'))+\" \")]),_c('div',{staticClass:\"columns is-multiline\"},_vm._l((_vm.newTerms.Languages),function(language,index){return _c('div',{key:'column' + index,staticClass:\"column is-half\"},[_c('p',[_vm._v(_vm._s(language.Language))]),_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"control\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(language.Changes),expression:\"language.Changes\"}],staticClass:\"textarea\",domProps:{\"value\":(language.Changes)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(language, \"Changes\", $event.target.value)}}})])])])}),0),_c('div',{staticClass:\"divider\"},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Terms.ModalCreateBookingTerm.DividerHeader_Terms'))+\" \")]),_c('div',{staticClass:\"columns is-multiline\"},_vm._l((_vm.newTerms.Languages),function(language,index){return _c('div',{key:'column' + index,staticClass:\"column is-half\"},[_c('p',[_vm._v(_vm._s(language.Language))]),_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"control\"},[_c('ui-text-editor',{attrs:{\"id\":'editor' + index},model:{value:(language.Terms),callback:function ($$v) {_vm.$set(language, \"Terms\", $$v)},expression:\"language.Terms\"}})],1)])])}),0)]},proxy:true}])},[_c('template',{slot:\"modalTitle\"})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <ui-component-modal\n    :modalTitle=\"$t('Components.Terms.ModalCreateBookingTerm.Main_Title')\"\n    modalSize=\"extra-large\"\n    :isSaving=\"isSaving\"\n    :isSavingSuccess=\"isSavingSuccess\"\n    :isSavingError=\"isSavingError\"\n    :hideFooterButtons=\"isSavingError || isSavingSuccess\"\n    :onClickCancel=\"onClickCancel\"\n    :onClickSave=\"save\"\n    :showModal=\"showModal\"\n    @closeModal=\"onClickCancel\"\n  >\n    <template slot=\"modalTitle\"></template>\n    <template v-slot:content>\n      <div class=\"mb-6\">\n        <Message :message=\"$t('Components.Terms.ModalCreateBookingTerm.Message_Info')\" />\n      </div>\n\n      <ui-base-input-field\n        class=\"mb-6\"\n        :label=\"'Version'\"\n        type=\"text\"\n        v-model=\"newTerms.Version\"\n        :placeholder=\"\n          $t('Components.Terms.ModalCreateBookingTerm.Placeholder_Term')\n        \"\n      />\n\n      <div class=\"divider\">\n        {{\n          $t('Components.Terms.ModalCreateBookingTerm.DividerHeader_Changes')\n        }}\n      </div>\n      <div class=\"columns is-multiline\">\n        <div\n          v-for=\"(language, index) in newTerms.Languages\"\n          :key=\"'column' + index\"\n          class=\"column is-half\"\n        >\n          <p>{{ language.Language }}</p>\n          <div class=\"field\">\n            <div class=\"control\">\n              <textarea\n                v-model=\"language.Changes\"\n                class=\"textarea\"\n              ></textarea>\n            </div>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"divider\">\n        {{ $t('Components.Terms.ModalCreateBookingTerm.DividerHeader_Terms') }}\n      </div>\n      <div class=\"columns is-multiline\">\n        <div\n          v-for=\"(language, index) in newTerms.Languages\"\n          :key=\"'column' + index\"\n          class=\"column is-half\"\n        >\n          <p>{{ language.Language }}</p>\n          <div class=\"field\">\n            <div class=\"control\">\n              <ui-text-editor\n                :id=\"'editor' + index\"\n                v-model=\"language.Terms\"\n              ></ui-text-editor>\n            </div>\n          </div>\n        </div>\n      </div>\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 termsProvider from '@/providers/terms'\n\nconst Message = () =>\n  import(/* webpackChunkName: \"reservations-list\" */ '@/components/UI/Message')\n\nexport default {\n  components: {\n    Message,\n  },\n\n  props: {\n    showModal: {\n      type: Boolean,\n      default: false,\n    },\n\n    onClickCancel: {\n      type: Function,\n      required: true,\n    },\n\n    channelId: {\n      type: Number,\n      default: 0,\n    },\n  },\n\n  data() {\n    return {\n      isSaving: false,\n      isSavingSuccess: false,\n      isSavingError: false,\n      newTerms: {\n        ChannelId: this.channelId,\n        LocationId: Number(this.$route.params.locationId),\n        Version: '',\n        Languages: [],\n        CancelRules: [],\n      },\n    }\n  },\n\n  computed: {\n    ...mapState('locationStore', ['locationState']),\n  },\n\n  created() {\n    this.setupTermLangauges()\n  },\n\n  methods: {\n    setupTermLangauges() {\n      for (let i = 0; i < this.locationState.Languages.length; i++) {\n        let language = this.locationState.Languages[i]\n        this.newTerms.Languages.push({\n          Language: language.Language,\n          Changes: '',\n          Terms: '',\n        })\n      }\n    },\n\n    save() {\n      let self = this\n\n      if (!self.isSaving) {\n        self.isSaving = true\n        termsProvider.methods\n          .createLocationBookingTerm(self.newTerms)\n          .then((response) => {\n            if (response.status === 200) {\n              self.isSavingSuccess = true\n\n              let t = setTimeout(() => {\n                self.$emit('newTermCreated')\n                self.$router.push({\n                  name: 'settings-channels-bookingterms-detail',\n                  params: { termId: response.data.Id },\n                })\n                self.onClickCancel()\n                clearTimeout(t)\n              }, 1500)\n            }\n          })\n          .catch((error) => {\n            //console.log(error.response)\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!./ModalCreateBookingTerm.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!./ModalCreateBookingTerm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ModalCreateBookingTerm.vue?vue&type=template&id=b67dc8fc\"\nimport script from \"./ModalCreateBookingTerm.vue?vue&type=script&lang=js\"\nexport * from \"./ModalCreateBookingTerm.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":""}