{"version":3,"sources":["webpack:///./src/components/Player/Editor/Contacts.vue?5103","webpack:///./src/components/Player/Editor/Contacts.vue?47a4","webpack:///src/components/Player/Editor/Contacts.vue","webpack:///./src/components/Player/Editor/Contacts.vue?88f9","webpack:///./src/components/Player/Editor/Contacts.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","_v","attrs","ref","model","parent","editing","emergency","_e","style","smallFab","loading","saveable","on","$event","stopPropagation","onSaveClick","key","fab","color","disabled","click","_s","icon","staticRenderFns","props","data","editable","computed","dataOg","$vuetify","breakpoint","smAndDown","cancel","edit","player","otherContacts","dirty","dto","id","JSON","stringify","a","j","contacts","other","jsonProps","methods","parse","console","log","$VBL","patch","onSaved","result","update","watch","active","val","components","PersonForm","component","VBtn","VCard","VCardActions","VCardText","VCardTitle","VCol","VContainer","VDivider","VFabTransition","VIcon","VRow"],"mappings":"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","file":"js/chunk-019cac0a.edeff9b6.js","sourcesContent":["import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Contacts.vue?vue&type=style&index=0&id=e0e2b84a&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Contacts.vue?vue&type=style&index=0&id=e0e2b84a&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',{staticClass:\"headline justify-center\"},[_vm._v(\" Additional Contacts \")]),_c('v-divider'),_c('v-card-text',[_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\",\"outline\":\"\"}},[_c('person-form',{ref:\"p3\",attrs:{\"player\":_vm.model.parent,\"disable\":!_vm.editing,\"fields\":['name', 'phone', 'email'],\"requiredFields\":[]}})],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\",\"outline\":\"\"}},[_c('person-form',{ref:\"p4\",attrs:{\"player\":_vm.model.emergency,\"disable\":!_vm.editing,\"fields\":['name', 'phone', 'email'],\"requiredFields\":[]}})],1)],1)],1)],1)],1),(false)?_c('v-divider'):_vm._e(),(false)?_c('v-card-actions',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"12\"}},[_c('v-fab-transition',[(_vm.editing)?_c('v-btn',{style:(_vm.smallFab ? 'margin-right: 40px;' : 'margin-right: 60px;'),attrs:{\"color\":\"success white--text\",\"fab\":\"\",\"small\":_vm.smallFab,\"fixed\":\"\",\"bottom\":\"\",\"right\":\"\",\"loading\":_vm.loading,\"disabled\":!_vm.saveable},on:{\"click\":function($event){$event.stopPropagation();return _vm.onSaveClick($event)}}},[_c('v-icon',[_vm._v(\"fas fa-save\")])],1):_vm._e()],1),_c('v-fab-transition',[(_vm.fab)?_c('v-btn',{key:_vm.fab.key,attrs:{\"color\":_vm.fab.color,\"fab\":\"\",\"small\":\"\",\"loading\":_vm.fab.loading,\"disabled\":_vm.fab.disabled},on:{\"click\":function($event){$event.stopPropagation();return _vm.fab.click($event)}}},[_c('v-icon',[_vm._v(_vm._s(_vm.fab.icon))])],1):_vm._e()],1)],1)],1)],1):_vm._e(),_c('v-fab-transition',[(_vm.editing)?_c('v-btn',{style:(_vm.smallFab ? 'margin-right: 45px;' : 'margin-right: 65px;'),attrs:{\"color\":\"success white--text\",\"fab\":\"\",\"small\":_vm.smallFab,\"fixed\":\"\",\"bottom\":\"\",\"right\":\"\",\"loading\":_vm.loading,\"disabled\":!_vm.saveable},on:{\"click\":function($event){$event.stopPropagation();return _vm.onSaveClick($event)}}},[_c('v-icon',[_vm._v(\"fas fa-save\")])],1):_vm._e()],1),_c('v-fab-transition',[(_vm.fab)?_c('v-btn',{key:_vm.fab.key,attrs:{\"color\":_vm.fab.color,\"fab\":\"\",\"small\":_vm.smallFab,\"loading\":_vm.fab.loading,\"disabled\":_vm.fab.disabled,\"fixed\":\"\",\"bottom\":\"\",\"right\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.fab.click($event)}}},[_c('v-icon',[_vm._v(_vm._s(_vm.fab.icon))])],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <v-card>\r\n    <v-card-title class=\"headline justify-center\">\r\n      Additional Contacts\r\n    </v-card-title>\r\n    <v-divider></v-divider>\r\n    <v-card-text>\r\n      <v-container fluid class=\"pa-0\">\r\n        <v-row dense>\r\n          <v-col cols=\"12\">\r\n            <v-card flat outline>\r\n              <person-form\r\n                ref=\"p3\"\r\n                :player=\"model.parent\"\r\n                :disable=\"!editing\"\r\n                :fields=\"['name', 'phone', 'email']\"\r\n                :requiredFields=\"[]\"\r\n              ></person-form>\r\n            </v-card>\r\n          </v-col>\r\n          <v-col cols=\"12\">\r\n            <v-card flat outline>\r\n              <person-form\r\n                ref=\"p4\"\r\n                :player=\"model.emergency\"\r\n                :disable=\"!editing\"\r\n                :fields=\"['name', 'phone', 'email']\"\r\n                :requiredFields=\"[]\"\r\n              ></person-form>\r\n            </v-card>\r\n          </v-col>\r\n        </v-row>\r\n      </v-container>\r\n    </v-card-text>\r\n    <v-divider v-if=\"false\"></v-divider>\r\n    <v-card-actions v-if=\"false\">\r\n      <v-row dense>\r\n        <v-col class=\"text-right\" cols=\"12\" >\r\n          <v-fab-transition><!-- CANCEL -->\r\n            <v-btn\r\n              color=\"success white--text\"\r\n              fab\r\n              :small=\"smallFab\"\r\n              fixed bottom right\r\n              @click.stop=\"onSaveClick\"\r\n              :loading=\"loading\"\r\n              :disabled=\"!saveable\"\r\n              v-if=\"editing\"\r\n              :style=\"smallFab ? 'margin-right: 40px;' : 'margin-right: 60px;'\"\r\n            >\r\n              <v-icon>fas fa-save</v-icon>\r\n            </v-btn>\r\n          </v-fab-transition>\r\n          <v-fab-transition><!-- EDIT/SAVE -->\r\n            <v-btn\r\n              v-if=\"fab\"\r\n              :color=\"fab.color\"\r\n              fab small\r\n              :key=\"fab.key\"\r\n              @click.stop=\"fab.click\"\r\n              :loading=\"fab.loading\"\r\n              :disabled=\"fab.disabled\"\r\n            >\r\n              <v-icon>{{fab.icon}}</v-icon>\r\n            </v-btn>\r\n          </v-fab-transition>\r\n        </v-col>\r\n      </v-row>\r\n    </v-card-actions>\r\n\r\n    <v-fab-transition><!-- CANCEL -->\r\n      <v-btn\r\n        color=\"success white--text\"\r\n        fab\r\n        :small=\"smallFab\"\r\n        fixed bottom right\r\n        @click.stop=\"onSaveClick\"\r\n        :loading=\"loading\"\r\n        :disabled=\"!saveable\"\r\n        v-if=\"editing\"\r\n        :style=\"smallFab ? 'margin-right: 45px;' : 'margin-right: 65px;'\"\r\n      >\r\n        <v-icon>fas fa-save</v-icon>\r\n      </v-btn>\r\n    </v-fab-transition>\r\n    <v-fab-transition><!-- EDIT/SAVE -->\r\n      <v-btn\r\n        v-if=\"fab\"\r\n        :color=\"fab.color\"\r\n        fab\r\n        :small=\"smallFab\"\r\n        :key=\"fab.key\"\r\n        @click.stop=\"fab.click\"\r\n        :loading=\"fab.loading\"\r\n        :disabled=\"fab.disabled\"\r\n        fixed bottom right\r\n      >\r\n        <v-icon>{{fab.icon}}</v-icon>\r\n      </v-btn>\r\n    </v-fab-transition>\r\n\r\n  </v-card>\r\n</template>\r\n\r\n<script>\r\nimport PersonForm from '@/components/Forms/PersonForm'\r\n\r\nexport default {\r\n  props: ['player', 'active'],\r\n  data () {\r\n    return {\r\n      editing: false,\r\n      editable: null,\r\n      loading: false\r\n    }\r\n  },\r\n  computed: {\r\n    model () {\r\n      return this.editing ? this.editable : this.dataOg\r\n    },\r\n    smallFab () {\r\n      return this.$vuetify.breakpoint.smAndDown\r\n    },\r\n    fab () {\r\n      return this.editing ? {\r\n        key: 'cancel',\r\n        color: 'error white--text',\r\n        icon: 'fas fa-times',\r\n        click: this.cancel,\r\n        loading: this.loading\r\n      } : {\r\n        key: 'edit',\r\n        color: 'color3 color3Text--text',\r\n        icon: 'fas fa-pencil',\r\n        click: this.edit,\r\n        loading: false,\r\n        disabled: this.loading\r\n      }\r\n    },\r\n    dataOg () {\r\n      return this.player.otherContacts\r\n    },\r\n    dirty () {\r\n      return this.editable && (JSON.stringify(this.editable) !== JSON.stringify(this.dataOg))\r\n    },\r\n    saveable () {\r\n      return this.dirty\r\n    },\r\n    dto () {\r\n      if (!this.editable) return null\r\n      const a = {\r\n        id: this.player.id\r\n      }\r\n      if (JSON.stringify(this.player.parent) !== JSON.stringify(this.editable.parent)) a.parent = this.editable.parent\r\n      if (JSON.stringify(this.player.emergency) !== JSON.stringify(this.editable.emergency)) a.emergency = this.editable.emergency\r\n      const j = Object.assign({}, this.player.jProps)\r\n      j.contacts = this.editable.other\r\n      if (JSON.stringify(j) !== this.player.jsonProps) {\r\n        a.jsonProps = JSON.stringify(j)\r\n      }\r\n\r\n      return a\r\n    }\r\n  },\r\n  methods: {\r\n    edit () {\r\n      this.editable = JSON.parse(JSON.stringify(this.dataOg))\r\n      this.editing = true\r\n    },\r\n    cancel () {\r\n      this.editing = false\r\n      this.editable = null\r\n    },\r\n    onSaveClick () {\r\n      console.log(this.dto)\r\n      this.loading = true\r\n      this.$VBL.player.patch(this.dto)\r\n        .then(r => {\r\n          this.onSaved(this.dto)\r\n        })\r\n        .catch(e => { console.log(e.response) })\r\n        .finally(() => { this.loading = false })\r\n    },\r\n    onSaved (result) {\r\n      result && this.player.update(result)\r\n      this.editing = false\r\n    }\r\n  },\r\n  watch: {\r\n    active: function (val) {\r\n      if (!val) {\r\n        this.cancel()\r\n      }\r\n    }\r\n  },\r\n  components: {\r\n    PersonForm\r\n  }\r\n}\r\n</script>\r\n<style scoped>\r\n>>> .v-input--radio-group__input {\r\n  align-items: flex-start;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Contacts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Contacts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Contacts.vue?vue&type=template&id=e0e2b84a&scoped=true&\"\nimport script from \"./Contacts.vue?vue&type=script&lang=js&\"\nexport * from \"./Contacts.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Contacts.vue?vue&type=style&index=0&id=e0e2b84a&scoped=true&lang=css&\"\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  \"e0e2b84a\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFabTransition } from 'vuetify/lib/components/transitions';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VDivider,VFabTransition,VIcon,VRow})\n"],"sourceRoot":""}