{"version":3,"sources":["webpack:///./src/views/Customer.vue","webpack:///./src/views/Customer.vue?a75f","webpack:///./src/views/Customer.vue?7468","webpack:///./src/views/Customer.vue?4474","webpack:///../../../src/components/VWindow/VWindowItem.ts","webpack:///../../../src/components/VTabs/VTabItem.ts"],"names":["_vm","staticClass","style","attrs","_c","model","callback","$$v","tab","tabContent","key","item","on","setTabsNavHeight","staticStyle","value","expression","component","tag","staticRenderFns","CustomerInfo","then","m","default","ClientsList","PersonsList","Vue","extend","name","data","customerenm","CustomerEnum","clientenm","ClientEnum","onboardingenm","LinkOnboardingEnum","currentModulePath","CustomerPersons","parentModulePath","this","$router","currentRoute","path","split","parentName","customerTabs","minHeight","components","watch","$route","to","from","customerName","deep","handler","console","log","mounted","$refs","computed","getAcl","_this$$route$name","includes","Customer","$store","state","acl","ClientOrganization","hasLinkOnboardingModuleAcl","_this$$route$name2","modules","LinkOnboarding","getOnboardingAcl","enm","_this$$route$name3","linkOnboardingOverviewAcl","hasPermission","$vStore","context","selectedCustomer","tabs","push","id","title","subtitle","methods","$children","forEach","$el","clientHeight","undefined","baseMixins","mixins","Bootable","GroupableFactory","directives","Touch","props","disabled","Boolean","reverseTransition","type","String","transition","required","isActive","inTransition","classes","groupClasses","computedTransition","windowGroup","internalReverse","genDefaultSlot","getSlot","genWindowItem","$createElement","class","$listeners","onAfterTransition","transitionCount","transitionHeight","onBeforeTransition","convertToUnit","onTransitionCancelled","onEnter","el","$nextTick","render","h","beforeEnter","afterEnter","enterCancelled","beforeLeave","afterLeave","leaveCancelled","enter","showLazyContent","VWindowItem","options","call","domProps"],"mappings":"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","file":"js/chunk-ce064624.3677c82e.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('keep-alive',[_c('PageHeader',{attrs:{\"msg\":_vm.customerName}})],1),_c('CustomerInfo',{staticClass:\"mb-2\",attrs:{\"clientPersons\":false}}),_c('v-card',{style:({'min-height': `calc(${_vm.minHeight}px + 50px)`}),attrs:{\"elevation\":\"0\",\"outlined\":\"\"}},[_c('v-tabs',{attrs:{\"background-color\":\"transparent\",\"grow\":\"\",\"active-class\":\"white dark--text\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.tabContent),function(item){return _c('v-tab',{key:item.id,staticClass:\"flex-column\",on:{\"click\":function($event){return _vm.setTabsNavHeight()}}},[_c('b',{staticStyle:{\"padding-top\":\"2%\"}},[_vm._v(_vm._s(item.title))]),_c('p',{staticStyle:{\"text-transform\":\"none\"}},[_vm._v(\" \"+_vm._s(item.subtitle))])])}),1),_c('v-tabs-items',{ref:\"customerTabs\",model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.tabContent),function(item){return _c('v-tab-item',{key:item.id,staticClass:\"px-5\",attrs:{\"transition\":\"false\",\"reverse-transition\":\"false\"}},[_c(item.component,{tag:\"component\",attrs:{\"clientPersons\":false}})],1)}),1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from \"vue\"\nimport { aclWrapper } from \"@/utilities/aclWrapper\"\nimport { Store } from \"@/store\"\nimport { Client, AclExtract } from \"@/types/responses\"\n\nconst CustomerInfo = () => import(\"@/components/customer/CustomerInfo.vue\").then(m => m.default || m)\n\nconst ClientsList = () => import(\"@/components/customer/ClientsList.vue\").then(m => m.default || m)\n//const ClientInvitations = () => import(\"@/components/customer/ClientInvitations.vue\").then(m => m.default || m)\nconst PersonsList = () => import(\"@/components/customer/PersonsList.vue\").then(m => m.default || m)\n\nimport { CustomerEnum, ClientEnum, LinkOnboardingEnum } from \"@/types/enums\"\nimport { Route } from \"vue-router\"\n\nexport default Vue.extend({\n\tname: \"Customer\",\n\tdata(): {\n\t\tcustomerenm: typeof CustomerEnum\n\t\tclientenm: typeof ClientEnum\n onboardingenm: typeof LinkOnboardingEnum\n\t\tcurrentModulePath: CustomerEnum.CustomerPersons\n\t\tparentModulePath: string\n\t\tparentName: string\n // eslint-disable-next-line\n tab: null | Record\n // eslint-disable-next-line\n customerTabs: null | Record\n minHeight: number | string\n\t} {\n\t\treturn {\n\t\t\tcustomerenm: CustomerEnum,\n\t\t\tclientenm: ClientEnum,\n onboardingenm: LinkOnboardingEnum,\n\t\t\tcurrentModulePath: CustomerEnum.CustomerPersons,\n\t\t\tparentModulePath: this.$router.currentRoute.path.split(\"/\")[1],\n\t\t\tparentName: this.$router.currentRoute.name ? this.$router.currentRoute.name : \"\",\n tab: null,\n customerTabs: null,\n minHeight: \"100%\"\n\t\t}\n\t},\n\tcomponents: {\n\t\tCustomerInfo\n\t},\n\twatch: {\n\t\t$route(to: Route, from: Route) {\n\t\t\tthis.parentModulePath = to.path.split(\"/\")[1]\n\t\t\tthis.parentName = to.name ? to.name : \"\"\n\t\t},\n customerName: {\n deep: true,\n handler(){\n console.log(\"updated selected customer (Customer.vue)\")\n }\n }\n\t},\n mounted(){\n // eslint-disable-next-line\n this.customerTabs = (this.$refs as any).customerTabs;\n this.setTabsNavHeight()\n },\n computed: {\n\t\tgetAcl(): AclExtract {\n\t\t\tif(this.$route.name?.includes(this.customerenm.Customer)){\n\t\t\t\treturn this.$store.state.acl[this.customerenm.Customer]\n\t\t\t}\n\t\t\treturn this.$store.state.acl[this.clientenm.ClientOrganization]\n\t\t},\n hasLinkOnboardingModuleAcl(): boolean {\n console.log(this.$store.state.acl[this.customerenm.Customer].modules.includes(LinkOnboardingEnum.LinkOnboarding))\n if(this.$route.name?.includes(this.customerenm.Customer)){\n return this.$store.state.acl[this.customerenm.Customer].modules.includes(LinkOnboardingEnum.LinkOnboarding);\n\t\t\t}\n return false\n },\n getOnboardingAcl(): AclExtract {\n return this.$store.state.acl[this.onboardingenm.LinkOnboarding];\n },\n\t\tenm(): typeof CustomerEnum | typeof ClientEnum {\n\t\t\tif(this.$route.name?.includes(this.customerenm.Customer)){\n\t\t\t\treturn this.customerenm\n\t\t\t}\n\n\t\t\treturn this.clientenm\n\t\t},\n\t\tlinkOnboardingOverviewAcl(): boolean {\n return this.getOnboardingAcl && this.getOnboardingAcl.hasPermission\n\t\t},\n customerName(): string {\n\t\t\tif (this.$vStore.state.context.selectedCustomer) {\n\t\t\t\treturn this.$vStore.state.context.selectedCustomer.name\n\t\t\t} else {\n\t\t\t\treturn \"Company\"\n\t\t\t}\n\t\t},\n // eslint-disable-next-line\n tabContent(): Array{\n const tabs = [];\n tabs.push({\n id: 1,\n title: \"EMPLOYEES\",\n subtitle: \"Employees with full access\",\n component: PersonsList\n });\n/* if(this.hasLinkOnboardingModuleAcl){\n tabs.push({\n id: 2,\n title: \"REGISTRATIONS\",\n component: aclWrapper(ClientInvitations, \"LinkOnboarding\")\n });\n } */\n tabs.push({\n id: 2,\n title: \"CONTACTS\",\n subtitle: \"External contacts and employees with limited access\",\n component: ClientsList\n });\n\n return tabs;\n }\n\t},\n methods: {\n setTabsNavHeight(): number | string {\n if(this.customerTabs == null) {\n return 0\n }\n else {\n // eslint-disable-next-line\n this.customerTabs.$children.forEach((tab: any) => {\n if(\n tab.$el.clientHeight >= this.minHeight || \n this.minHeight == undefined || \n this.minHeight == \"100%\" \n ){\n this.minHeight = tab.$el.clientHeight;\n }\n });\n return this.minHeight\n }\n }\n }\n \n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Customer.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Customer.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Customer.vue?vue&type=template&id=e75d061a\"\nimport script from \"./Customer.vue?vue&type=script&lang=ts\"\nexport * from \"./Customer.vue?vue&type=script&lang=ts\"\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","// Components\nimport VWindow from './VWindow'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n GroupableFactory('windowGroup', 'v-window-item', 'v-window')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n windowGroup: InstanceType\n}\n\nexport default baseMixins.extend().extend(\n /* @vue/component */\n).extend({\n name: 'v-window-item',\n\n directives: {\n Touch,\n },\n\n props: {\n disabled: Boolean,\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n value: {\n required: false,\n },\n },\n\n data () {\n return {\n isActive: false,\n inTransition: false,\n }\n },\n\n computed: {\n classes (): object {\n return this.groupClasses\n },\n computedTransition (): string | boolean {\n if (!this.windowGroup.internalReverse) {\n return typeof this.transition !== 'undefined'\n ? this.transition || ''\n : this.windowGroup.computedTransition\n }\n\n return typeof this.reverseTransition !== 'undefined'\n ? this.reverseTransition || ''\n : this.windowGroup.computedTransition\n },\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genWindowItem () {\n return this.$createElement('div', {\n staticClass: 'v-window-item',\n class: this.classes,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: this.$listeners,\n }, this.genDefaultSlot())\n },\n onAfterTransition () {\n if (!this.inTransition) {\n return\n }\n\n // Finalize transition state.\n this.inTransition = false\n if (this.windowGroup.transitionCount > 0) {\n this.windowGroup.transitionCount--\n\n // Remove container height if we are out of transition.\n if (this.windowGroup.transitionCount === 0) {\n this.windowGroup.transitionHeight = undefined\n }\n }\n },\n onBeforeTransition () {\n if (this.inTransition) {\n return\n }\n\n // Initialize transition state here.\n this.inTransition = true\n if (this.windowGroup.transitionCount === 0) {\n // Set initial height for height transition.\n this.windowGroup.transitionHeight = convertToUnit(this.windowGroup.$el.clientHeight)\n }\n this.windowGroup.transitionCount++\n },\n onTransitionCancelled () {\n this.onAfterTransition() // This should have the same path as normal transition end.\n },\n onEnter (el: HTMLElement) {\n if (!this.inTransition) {\n return\n }\n\n this.$nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!this.computedTransition || !this.inTransition) {\n return\n }\n\n // Set transition target height.\n this.windowGroup.transitionHeight = convertToUnit(el.clientHeight)\n })\n },\n },\n\n render (h): VNode {\n return h('transition', {\n props: {\n name: this.computedTransition,\n },\n on: {\n // Handlers for enter windows.\n beforeEnter: this.onBeforeTransition,\n afterEnter: this.onAfterTransition,\n enterCancelled: this.onTransitionCancelled,\n\n // Handlers for leave windows.\n beforeLeave: this.onBeforeTransition,\n afterLeave: this.onAfterTransition,\n leaveCancelled: this.onTransitionCancelled,\n\n // Enter handler for height transition.\n enter: this.onEnter,\n },\n }, this.showLazyContent(() => [this.genWindowItem()]))\n },\n})\n","// Extensions\nimport VWindowItem from '../VWindow/VWindowItem'\n\n/* @vue/component */\nexport default VWindowItem.extend({\n name: 'v-tab-item',\n\n props: {\n id: String,\n },\n\n methods: {\n genWindowItem () {\n const item = VWindowItem.options.methods.genWindowItem.call(this)\n\n item.data!.domProps = item.data!.domProps || {}\n item.data!.domProps.id = this.id || this.value\n\n return item\n },\n },\n})\n"],"sourceRoot":""}