{"version":3,"sources":["webpack:///./src/components/Customers/ModalDeleteCustomer.vue","webpack:///src/components/Customers/ModalDeleteCustomer.vue","webpack:///./src/components/Customers/ModalDeleteCustomer.vue?80fc","webpack:///./src/components/Customers/ModalDeleteCustomer.vue?a2c8"],"names":["render","_vm","this","_c","_self","attrs","$t","isDeleting","isDeletingSuccess","isDeletingError","isDeleteConfirmed","mCustomer","onClickCancel","deleteCustomer","showModal","on","scopedSlots","_u","key","fn","showConfirm","staticClass","_v","_s","customer","FullName","NrOfReservations","reservations","_e","mergeTo","mergeData","domProps","$event","setVisibleItem","model","value","callback","$$v","expression","showCustomers","locationId","filterCustomerIds","setMergeCustomer","proxy","slot","staticRenderFns","components","BaseCheckbox","SearchCustomer","props","type","Boolean","default","Function","required","Object","data","Number","$route","params","computed","created","JSON","parse","stringify","push","Id","methods","_this","self","customerProvider","then","response","status","$emit","EventBus","message","catch","err","finally","item","component"],"mappings":"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","file":"js/chunk-2d21a802.js?id=12d693c25f5b111e02c1","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ui-component-modal',{attrs:{\"modalTitle\":_vm.$t('Components.Customers.ModalDeleteCustomer.Main_Title'),\"isSaving\":_vm.isDeleting,\"isSavingSuccess\":_vm.isDeletingSuccess,\"isSavingError\":_vm.isDeletingError,\"hideFooterButtons\":_vm.isDeletingError || _vm.isDeletingSuccess,\"disableSaveButton\":!_vm.isDeleteConfirmed || !_vm.mCustomer,\"buttonLabelConfirm\":_vm.$t('Form.Control.Delete'),\"confirmButtonCssClass\":\"is-danger\",\"onClickCancel\":_vm.onClickCancel,\"onClickSave\":_vm.deleteCustomer,\"showModal\":_vm.showModal},on:{\"closeModal\":_vm.onClickCancel},scopedSlots:_vm._u([{key:\"content\",fn:function(){return [(_vm.showConfirm)?_c('div',[_c('div',{staticClass:\"has-text-centered mb-5\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('Components.Customers.ModalDeleteCustomer.Label_AreYouSure', { customer: _vm.mCustomer.FullName, })))])]),(_vm.customer.NrOfReservations > 0)?_c('div',{staticClass:\"has-text-centered mb-5\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t( 'Components.Customers.ModalDeleteCustomer.Label_NrOfReservations', { reservations: _vm.mCustomer.NrOfReservations, } ))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.$t( 'Components.Customers.ModalDeleteCustomer.Label_ReservationsUnlinked' ))+\" \")])]):_vm._e(),(!_vm.mergeTo && _vm.mergeData === 0)?_c('div',[_c('div',{staticClass:\"has-text-centered mb-5\",domProps:{\"innerHTML\":_vm._s(\n            _vm.$t('Components.Customers.ModalDeleteCustomer.Label_TransferData')\n          )}}),_c('div',{staticClass:\"buttons is-centered\"},[_c('button',{staticClass:\"button\",on:{\"click\":function($event){_vm.mergeData = 1\n              _vm.setVisibleItem('customers')}}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Customers.ModalDeleteCustomer.Label_TransferYes'))+\" \")]),_c('button',{staticClass:\"button\",on:{\"click\":function($event){_vm.mergeData = -1}}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Customers.ModalDeleteCustomer.Label_TransferNo'))+\" \")])])]):_vm._e(),(_vm.mergeData === 1 && _vm.mergeTo)?_c('div',{staticClass:\"has-text-centered mb-5\"},[_c('div',[_c('div',[_vm._v(_vm._s(_vm.$t('Components.Customers.ModalDeleteCustomer.Text_TransferTo')))]),_c('span',{staticClass:\"tag is-normal is-info\"},[_vm._v(_vm._s(_vm.mergeTo.FullName)+\" \"),_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.mergeTo = null\n                _vm.mergeData = 0}}})])])]):_vm._e(),(_vm.mergeData === -1 || (_vm.mergeData === 1 && _vm.mergeTo))?_c('div',[_c('div',{staticClass:\"has-text-centered\"},[_c('BaseCheckbox',{staticClass:\"has-text-left\",attrs:{\"label\":_vm.$t('Components.Customers.ModalDeleteCustomer.Label_YesSure')},model:{value:(_vm.isDeleteConfirmed),callback:function ($$v) {_vm.isDeleteConfirmed=$$v},expression:\"isDeleteConfirmed\"}})],1)]):_vm._e()]):_vm._e(),(_vm.showCustomers)?_c('div',[_c('SearchCustomer',{attrs:{\"locationId\":_vm.locationId,\"excludedCustomerIds\":_vm.filterCustomerIds,\"searchTerm\":_vm.customer.FullName,\"autoSearch\":true},on:{\"customerSelected\":_vm.setMergeCustomer}})],1):_vm._e()]},proxy:true}])},[_c('template',{slot:\"modalTitle\"})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <ui-component-modal\n    :modalTitle=\"$t('Components.Customers.ModalDeleteCustomer.Main_Title')\"\n    :isSaving=\"isDeleting\"\n    :isSavingSuccess=\"isDeletingSuccess\"\n    :isSavingError=\"isDeletingError\"\n    :hideFooterButtons=\"isDeletingError || isDeletingSuccess\"\n    :disableSaveButton=\"!isDeleteConfirmed || !mCustomer\"\n    :buttonLabelConfirm=\"$t('Form.Control.Delete')\"\n    confirmButtonCssClass=\"is-danger\"\n    :onClickCancel=\"onClickCancel\"\n    :onClickSave=\"deleteCustomer\"\n    :showModal=\"showModal\"\n    @closeModal=\"onClickCancel\"\n  >\n    <template slot=\"modalTitle\"></template>\n    <template v-slot:content>\n      <div v-if=\"showConfirm\">\n        <div class=\"has-text-centered mb-5\">\n          <strong>{{\n            $t('Components.Customers.ModalDeleteCustomer.Label_AreYouSure', {\n              customer: mCustomer.FullName,\n            })\n          }}</strong>\n        </div>\n        <div v-if=\"customer.NrOfReservations > 0\" class=\"has-text-centered mb-5\">\n          <div>\n            {{\n              $t(\n                'Components.Customers.ModalDeleteCustomer.Label_NrOfReservations',\n                {\n                  reservations: mCustomer.NrOfReservations,\n                }\n              )\n            }}\n          </div>\n          <div>\n            {{\n              $t(\n                'Components.Customers.ModalDeleteCustomer.Label_ReservationsUnlinked'\n              )\n            }}\n          </div>\n        </div>\n\n        <div v-if=\"!mergeTo && mergeData === 0\">\n          <div\n            class=\"has-text-centered mb-5\"\n            v-html=\"\n              $t('Components.Customers.ModalDeleteCustomer.Label_TransferData')\n            \"\n          ></div>\n          <div class=\"buttons is-centered\">\n            <button\n              @click=\"\n                mergeData = 1\n                setVisibleItem('customers')\n              \"\n              class=\"button\"\n            >\n              {{\n                $t('Components.Customers.ModalDeleteCustomer.Label_TransferYes')\n              }}\n            </button>\n\n            <button @click=\"mergeData = -1\" class=\"button\">\n              {{\n                $t('Components.Customers.ModalDeleteCustomer.Label_TransferNo')\n              }}\n            </button>\n          </div>\n        </div>\n\n        <div v-if=\"mergeData === 1 && mergeTo\" class=\"has-text-centered mb-5\">\n          <div>\n            <div>{{\n              $t('Components.Customers.ModalDeleteCustomer.Text_TransferTo')\n            }}</div>\n\n            <span class=\"tag is-normal is-info\"\n              >{{ mergeTo.FullName }}\n              <a\n                @click=\"\n                  mergeTo = null\n                  mergeData = 0\n                \"\n                class=\"delete is-small\"\n              ></a>\n            </span>\n          </div>\n        </div>\n\n        <div v-if=\"mergeData === -1 || (mergeData === 1 && mergeTo)\">\n          <div class=\"has-text-centered\">\n            <BaseCheckbox\n              v-model=\"isDeleteConfirmed\"\n              class=\"has-text-left\"\n              :label=\"$t('Components.Customers.ModalDeleteCustomer.Label_YesSure')\"\n            />\n          </div>\n        </div>\n      </div>\n\n\n      <div v-if=\"showCustomers\">\n        <SearchCustomer\n          @customerSelected=\"setMergeCustomer\"\n          :locationId=\"locationId\"\n          :excludedCustomerIds=\"filterCustomerIds\"\n          :searchTerm=\"customer.FullName\"\n          :autoSearch=\"true\"\n        />\n      </div>\n    </template>\n  </ui-component-modal>\n</template>\n\n<script>\nimport { EventBus } from '@/eventbus/event-bus'\nimport customerProvider from '@/providers/customer'\n\nexport default {\n  components: {\n    BaseCheckbox: () => import('@/components/UI/Form/BaseCheckbox'),\n    SearchCustomer: () => import('@/components/Customers/SearchCustomer'),\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    customer: {\n      type: Object,\n      default: null,\n    },\n  },\n\n  data() {\n    return {\n      isDeleteConfirmed: false,\n      isDeleting: false,\n      isDeletingSuccess: false,\n      isDeletingError: false,\n      locationId: Number(this.$route.params.locationId),\n\n      mCustomer: null,\n      mergeData: 0,\n\n      mergeTo: 0,\n      showConfirm: true,\n      showCustomers: false,\n      filterCustomerIds: []\n    }\n  },\n\n  computed: {},\n\n  created() {\n    this.mCustomer = JSON.parse(JSON.stringify(this.customer))\n    this.filterCustomerIds.push(this.mCustomer.Id)\n  },\n\n  methods: {\n    setMergeCustomer(customer) {\n      this.mergeTo = customer\n      this.setVisibleItem('confirm')\n    },\n\n    deleteCustomer() {\n      let self = this\n\n      if (!self.isDeleting) {\n        self.isDeleting = true\n\n        customerProvider.methods\n          .deleteCustomer(this.mCustomer.Id, this.mergeTo ? this.mergeTo.Id : 0)\n          .then((response) => {\n            if (response.status === 204) {\n              this.$emit('customerDeleted', this.mCustomer)\n\n              EventBus.$emit('showToast', {\n                type: 'info',\n                message: self.$t(\n                  `Components.Customers.ModalDeleteCustomer.Toast_CustomerDeleted`,\n                  {\n                    customer: this.mCustomer.FullName,\n                  }\n                ),\n              })\n\n              this.onClickCancel()\n            }\n          })\n          .catch((err) => {\n            self.isDeletingError = true\n            self.isDeleting = false\n          })\n          .finally(() => {\n          })\n      }\n    },\n\n    setVisibleItem(item) {\n      this.showConfirm = item === 'confirm'\n      this.showCustomers = item === 'customers'\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!./ModalDeleteCustomer.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!./ModalDeleteCustomer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ModalDeleteCustomer.vue?vue&type=template&id=24487522\"\nimport script from \"./ModalDeleteCustomer.vue?vue&type=script&lang=js\"\nexport * from \"./ModalDeleteCustomer.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":""}