{"version":3,"sources":["webpack:///src/components/Reservations/ModalEditTags.vue","webpack:///./src/components/Reservations/ModalEditTags.vue","webpack:///./src/components/Reservations/ModalEditTags.vue?2899","webpack:///./src/components/Reservations/ModalEditTags.vue?a440","webpack:///./src/components/Reservations/ModalEditTags.vue?aebc"],"names":["components","TagInput","Message","props","showModal","type","Boolean","default","onClickCancel","Function","required","data","changeAllInSet","isSaving","isSavingSuccess","isSavingError","tags","mTags","computed","_objectSpread","mapState","created","reservation","Tags","trim","length","split","JSON","parse","stringify","methods","mapMutations","addTag","tag","includes","EventBus","$emit","message","$t","push","deleteTag","tagIndex","findIndex","t","splice","saveReservation","_this","self","reservationProvider","saveReservationTags","Key","join","then","response","status","setReservation","catch","error","finally","render","_vm","_c","_self","attrs","modalTitle","hideFooterButtons","onClickSave","on","closeModal","scopedSlots","_u","key","fn","staticClass","tagAdded","tagDeleted","ReservationSet","_v","_s","class","click","$event","_e","proxy","slot","staticRenderFns","_withStripped"],"mappings":"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","file":"js/394.js?id=b07949dd26c9f5820cbe","sourcesContent":["<template>\n  <ui-component-modal\n    :showModal=\"showModal\"\n    :modalTitle=\"$t('Components.Reservation.ModalEditTags.Title_EditTags')\"\n    :isSaving=\"isSaving\"\n    :isSavingError=\"isSavingError\"\n    :hideFooterButtons=\"isSavingError\"\n    :onClickCancel=\"onClickCancel\"\n    :onClickSave=\"saveReservation\"\n    @closeModal=\"onClickCancel\"\n  >\n    <template slot=\"modalTitle\"></template>\n    <template v-slot:content>\n      <Message :message=\"$t('Components.Reservation.ReservationDetail.Tag_MessageNoTagsAdded')\" />\n      <div>\n        <tag-input\n          :tags=\"tags\"\n          @tagAdded=\"addTag\"\n          @tagDeleted=\"deleteTag\"\n          class=\"mb-6\"\n        />\n      </div>\n\n      <div v-if=\"reservation.ReservationSet.length > 0\">\n        <div class=\"subtitle\">\n          {{ $t('Components.Reservation.ModalEditTags.Label_ChangeAllInSet') }}\n        </div>\n        <div class=\"tabs is-toggle is-small\">\n          <ul>\n            <li :class=\"{ 'is-active': changeAllInSet === false }\">\n              <a @click=\"changeAllInSet = false\">\n                <span>{{\n                $t('Components.Reservation.ModalEditTags.Label_No')\n              }}</span>\n              </a>\n            </li>\n            <li :class=\"{ 'is-active': changeAllInSet === true }\">\n              <a @click=\"changeAllInSet = true\">\n                <span>{{\n                $t('Components.Reservation.ModalEditTags.Label_Yes')\n              }}</span>\n              </a>\n            </li>\n          </ul>\n        </div>\n      </div>\n    </template>\n  </ui-component-modal>\n</template>\n\n<script>\nimport { mapMutations, mapState } from 'vuex'\nimport { EventBus } from '@/eventbus/event-bus'\nimport Message from '../../components/UI/Message.vue'\nimport reservationProvider from '../../providers/reservation'\n\nimport TagInput from '@/components/Tags/TagInput'\n\nexport default {\n  components: {\n    'tag-input': TagInput,\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\n  data() {\n    return {\n      changeAllInSet: false,\n      isSaving: false,\n      isSavingSuccess: false,\n      isSavingError: false,\n      tags: [],\n      mTags: [],\n    }\n  },\n\n  computed: {\n    ...mapState('reservationStore', ['reservation']),\n  },\n\n  created() {\n    this.tags =\n      this.reservation.Tags.trim().length > 0\n        ? this.reservation.Tags.trim().split(',')\n        : []\n\n    this.mTags = JSON.parse(JSON.stringify(this.tags))\n  },\n\n  methods: {\n    ...mapMutations('reservationStore', ['setReservation']),\n\n    addTag(tag) {\n      if (this.mTags.includes(tag)) {\n        EventBus.$emit('showToast', {\n          type: 'info',\n          message: this.$t('Components.Reservation.ModalEditTags.Message_DuplicateTag'),\n        })\n        return\n      }\n      this.mTags.push(tag)\n    },\n\n    deleteTag(tag) {\n      let tagIndex = this.mTags.findIndex((t) => t === tag)\n      if (tagIndex > -1) {\n        this.mTags.splice(tagIndex, 1)\n      }\n    },\n\n    saveReservation() {\n      let self = this\n\n      if (this.isSaving) { return }\n      this.isSaving = true\n\n      reservationProvider.methods\n        .saveReservationTags(this.reservation.Key, this.mTags.join(','), this.changeAllInSet)\n        .then((response) => {\n          if (response.status === 200) {\n            // Update reservation store\n            self.setReservation(response.data)\n\n            // Send message to be shown as toast on page\n            EventBus.$emit('showToast', {\n              type: 'info',\n              message: this.$t('General.Toast_ReservationUpdated'),\n            })\n\n            self.onClickCancel()\n          }\n        })\n        .catch((error) => {\n          self.isSavingError = true\n          self.isSaving = false\n        })\n        .finally(() => {\n        })\n    },\n  },\n}\n</script>\n","var render = function render() {\n  var _vm = this,\n    _c = _vm._self._c\n  return _c(\n    \"ui-component-modal\",\n    {\n      attrs: {\n        showModal: _vm.showModal,\n        modalTitle: _vm.$t(\n          \"Components.Reservation.ModalEditTags.Title_EditTags\"\n        ),\n        isSaving: _vm.isSaving,\n        isSavingError: _vm.isSavingError,\n        hideFooterButtons: _vm.isSavingError,\n        onClickCancel: _vm.onClickCancel,\n        onClickSave: _vm.saveReservation,\n      },\n      on: { closeModal: _vm.onClickCancel },\n      scopedSlots: _vm._u([\n        {\n          key: \"content\",\n          fn: function () {\n            return [\n              _c(\"Message\", {\n                attrs: {\n                  message: _vm.$t(\n                    \"Components.Reservation.ReservationDetail.Tag_MessageNoTagsAdded\"\n                  ),\n                },\n              }),\n              _c(\n                \"div\",\n                [\n                  _c(\"tag-input\", {\n                    staticClass: \"mb-6\",\n                    attrs: { tags: _vm.tags },\n                    on: { tagAdded: _vm.addTag, tagDeleted: _vm.deleteTag },\n                  }),\n                ],\n                1\n              ),\n              _vm.reservation.ReservationSet.length > 0\n                ? _c(\"div\", [\n                    _c(\"div\", { staticClass: \"subtitle\" }, [\n                      _vm._v(\n                        \" \" +\n                          _vm._s(\n                            _vm.$t(\n                              \"Components.Reservation.ModalEditTags.Label_ChangeAllInSet\"\n                            )\n                          ) +\n                          \" \"\n                      ),\n                    ]),\n                    _c(\"div\", { staticClass: \"tabs is-toggle is-small\" }, [\n                      _c(\"ul\", [\n                        _c(\n                          \"li\",\n                          {\n                            class: {\n                              \"is-active\": _vm.changeAllInSet === false,\n                            },\n                          },\n                          [\n                            _c(\n                              \"a\",\n                              {\n                                on: {\n                                  click: function ($event) {\n                                    _vm.changeAllInSet = false\n                                  },\n                                },\n                              },\n                              [\n                                _c(\"span\", [\n                                  _vm._v(\n                                    _vm._s(\n                                      _vm.$t(\n                                        \"Components.Reservation.ModalEditTags.Label_No\"\n                                      )\n                                    )\n                                  ),\n                                ]),\n                              ]\n                            ),\n                          ]\n                        ),\n                        _c(\n                          \"li\",\n                          {\n                            class: { \"is-active\": _vm.changeAllInSet === true },\n                          },\n                          [\n                            _c(\n                              \"a\",\n                              {\n                                on: {\n                                  click: function ($event) {\n                                    _vm.changeAllInSet = true\n                                  },\n                                },\n                              },\n                              [\n                                _c(\"span\", [\n                                  _vm._v(\n                                    _vm._s(\n                                      _vm.$t(\n                                        \"Components.Reservation.ModalEditTags.Label_Yes\"\n                                      )\n                                    )\n                                  ),\n                                ]),\n                              ]\n                            ),\n                          ]\n                        ),\n                      ]),\n                    ]),\n                  ])\n                : _vm._e(),\n            ]\n          },\n          proxy: true,\n        },\n      ]),\n    },\n    [_c(\"template\", { slot: \"modalTitle\" })],\n    2\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ModalEditTags.vue?vue&type=template&id=9846b990\"\nimport script from \"./ModalEditTags.vue?vue&type=script&lang=js\"\nexport * from \"./ModalEditTags.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\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/github/workspace/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('9846b990')) {\n      api.createRecord('9846b990', component.options)\n    } else {\n      api.reload('9846b990', component.options)\n    }\n    module.hot.accept(\"./ModalEditTags.vue?vue&type=template&id=9846b990\", function () {\n      api.rerender('9846b990', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/components/Reservations/ModalEditTags.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../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!./ModalEditTags.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../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!./ModalEditTags.vue?vue&type=script&lang=js\"","export * from \"-!../../../node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"381a4baa-vue-loader-template\\\"}!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalEditTags.vue?vue&type=template&id=9846b990\""],"sourceRoot":""}