{"version":3,"sources":["webpack:///../../../src/mixins/transitionable/index.ts","webpack:///../../../src/components/VAlert/VAlert.ts","webpack:///../../../src/components/VDialog/VDialog.ts","webpack:///../../../src/components/VRadioGroup/VRadioGroup.ts","webpack:///../../../src/mixins/rippleable/index.ts","webpack:///../../../src/components/VRadioGroup/VRadio.ts","webpack:///./src/components/dialogs/ReassignPersonDialog.vue","webpack:///./src/components/dialogs/ReassignPersonDialog.vue?b937","webpack:///./src/components/dialogs/ReassignPersonDialog.vue?a853","webpack:///./src/components/dialogs/ReassignPersonDialog.vue?e889","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///../../../src/mixins/selectable/index.ts"],"names":["Vue","extend","name","props","mode","String","origin","transition","mixins","VSheet","Toggleable","Transitionable","border","type","validator","val","includes","closeLabel","default","coloredBorder","Boolean","dense","dismissible","closeIcon","icon","outlined","prominent","text","value","computed","__cachedBorder","this","data","staticClass","class","setBackgroundColor","computedColor","$createElement","__cachedDismissible","color","iconColor","VBtn","small","attrs","$vuetify","lang","t","on","click","isActive","VIcon","__cachedIcon","computedIcon","classes","options","call","hasColoredIcon","hasText","undefined","isDark","Themeable","created","$attrs","hasOwnProperty","breaking","methods","genWrapper","children","getSlot","genContent","$scopedSlots","close","toggle","genAlert","role","listeners$","style","styles","directives","setColor","setTextColor","render","h","baseMixins","Dependent","Detachable","Overlayable","Returnable","Stackable","Activatable","ClickOutside","dark","disabled","fullscreen","light","maxWidth","Number","noClickAnimation","persistent","retainFocus","scrollable","width","activatedBy","animate","animateTimeout","stackMinZIndex","previousActiveElement","contentClass","trim","contentClasses","hasActivator","$slots","activator","watch","show","hideScroll","removeOverlay","unbind","_a","focus","showScroll","genOverlay","removed","beforeMount","$nextTick","isBooted","beforeDestroy","window","animateClick","clearTimeout","setTimeout","closeConditional","e","target","_isDestroyed","$refs","content","contains","overlay","$el","activeZIndex","getMaxZIndex","document","documentElement","classList","add","hideOverlay","dialog","activeElement","_b","bind","addEventListener","onFocusin","removeEventListener","onClickOutside","$emit","onKeydown","keyCode","keyCodes","esc","getOpenDependents","length","getActivator","getOpenDependentElements","some","el","focusable","querySelectorAll","find","hasAttribute","matches","showLazyContent","VThemeProvider","root","getScopeIdAttrs","keydown","zIndex","ref","genTransition","genInnerContent","appear","tabindex","handler","include","transformOrigin","convertToUnit","getContentSlot","attach","genActivator","BaseItemGroup","VInput","provide","radioGroup","column","height","row","genDefaultSlot","id","computedId","genInputSlot","genLabel","label","for","tag","onClick","vnode","attrs$","ripple","Object","genRipple","push","center","BindsAttrs","Colorable","Rippleable","GroupableFactory","inheritAttrs","offIcon","onIcon","readonly","isFocused","isDisabled","themeClasses","groupClasses","Selectable","hasLabel","hasState","isReadonly","computedName","_uid","rippleState","validationState","genInput","args","VLabel","prevent","focused","genRadio","title","radioAttrs","onFocus","onBlur","onChange","mergeListeners","_vm","callback","reassign","expression","isLastMember","_s","_c","_v","model","clientPersons","key","customerClientsComplete","companyName","guestUserToExistingGuestOrgAcl","loading","selectedClientId","newClient","staticRenderFns","components","getCustomerClients","person","required","customerenm","CustomerEnum","clientenm","ClientEnum","snackBar","snackBarText","timeLeft","rules","counter","$store","state","context","selectedCustomer","getAcl","_this$$route$name","$route","Customer","acl","ClientOrganization","enm","_this$$route$name2","toExistingAcl","_this$$route$name3","_this$$route$name4","$vStore","ui","ReassignPersonsToExisting","ClientReassignPersonsToExisting","toNewAcl","_this$$route$name5","_this$$route$name6","ReassignPersonsToNew","ClientReassignPersonsToNew","toCompanyAcl","_this$$route$name7","_this$$route$name8","ReassignPersonsToCompany","ClientReassignPersonsToCompany","_this$$route$name9","ClientReassignPersonToExistingClient","arr","clients","customerClients","sort","a","b","obj1","toUpperCase","obj2","map","client","selectList","disableReassignButton","getTargetClient","new","Promise","resolve","downloadTimer","setInterval","clearInterval","cancel","dispatch","console","warn","reassignTarget","log","reassignClientPersonToExistingClient","reassignClientPerson","reassignCustomerPerson","snackbarInfo","selectedClient","Error","message","ReassignClientPersonRequest","targetOrganizationId","countDownTimer","success","msg","displayName","ReassignPersonRequest","targetClientId","newClientName","ReassignRequest","sourceGuestOrganizationId","targetGuestOrganizationId","component","defaultMenuProps","VSelectMenuProps","offsetY","offsetOverflow","VSelect","autoSelectFirst","filter","Function","item","queryText","itemText","toLocaleLowerCase","indexOf","hideNoData","menuProps","noFilter","searchInput","lazySearch","selectedIndex","computedItems","filteredItems","selectedValues","selectedItems","getValue","hasDisplayedItems","hideSelected","hasItem","currentRange","selectedItem","getText","isSearching","internalSearch","allItems","getPropertyFromItem","get","set","isAnyValueAllowed","isDirty","searchIsDirty","multiple","menuCanShow","$_menuProps","i","valueComparator","internalValue","listData","items","virtualizedItems","onCopy","input","select","blur","updateSelf","isMenuActive","hasSlot","oldVal","activateMenu","setSearch","destroyed","onFilteredItemsChanged","preSelectedItem","menu","listIndex","setMenuIndex","findIndex","getTiles","onInternalSearchChanged","updateMenuDimensions","updateDimensions","changeSelectedIndex","left","right","backspace","delete","deleteCurrentItem","curIndex","curItem","isInteractive","getDisabled","lastIndex","nextIndex","nextItem","selectItem","setValue","clearableCallback","VTextField","mergeData","getObjectValueByPath","autocomplete","domProps","slot","genSelections","isAppendInner","onInput","badInput","validity","onKeyDown","ctrlKey","home","end","onSpaceDown","onTabDown","onUpDown","preventDefault","setSelectedItems","event","currentItem","currentItemText","clipboardData","setData","Comparable","prop","inputValue","falseValue","trueValue","hasColor","lazyValue","appIsDark","isMultiple","Array","isArray","assign","toString","checked","change","validate"],"mappings":"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","file":"js/chunk-102baf19.d5f6ea84.js","sourcesContent":["import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'transitionable',\n\n props: {\n mode: String,\n origin: String,\n transition: String,\n },\n})\n","// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNodeData } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable,\n Transitionable\n).extend({\n name: 'v-alert',\n\n props: {\n border: {\n type: String,\n validator (val: string) {\n return [\n 'top',\n 'right',\n 'bottom',\n 'left',\n ].includes(val)\n },\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n coloredBorder: Boolean,\n dense: Boolean,\n dismissible: Boolean,\n closeIcon: {\n type: String,\n default: '$cancel',\n },\n icon: {\n default: '',\n type: [Boolean, String],\n validator (val: boolean | string) {\n return typeof val === 'string' || val === false\n },\n },\n outlined: Boolean,\n prominent: Boolean,\n text: Boolean,\n type: {\n type: String,\n validator (val: string) {\n return [\n 'info',\n 'error',\n 'success',\n 'warning',\n ].includes(val)\n },\n },\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n __cachedBorder (): VNode | null {\n if (!this.border) return null\n\n let data: VNodeData = {\n staticClass: 'v-alert__border',\n class: {\n [`v-alert__border--${this.border}`]: true,\n },\n }\n\n if (this.coloredBorder) {\n data = this.setBackgroundColor(this.computedColor, data)\n data.class['v-alert__border--has-color'] = true\n }\n\n return this.$createElement('div', data)\n },\n __cachedDismissible (): VNode | null {\n if (!this.dismissible) return null\n\n const color = this.iconColor\n\n return this.$createElement(VBtn, {\n staticClass: 'v-alert__dismissible',\n props: {\n color,\n icon: true,\n small: true,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: () => (this.isActive = false),\n },\n }, [\n this.$createElement(VIcon, {\n props: { color },\n }, this.closeIcon),\n ])\n },\n __cachedIcon (): VNode | null {\n if (!this.computedIcon) return null\n\n return this.$createElement(VIcon, {\n staticClass: 'v-alert__icon',\n props: { color: this.iconColor },\n }, this.computedIcon)\n },\n classes (): object {\n const classes: Record = {\n ...VSheet.options.computed.classes.call(this),\n 'v-alert--border': Boolean(this.border),\n 'v-alert--dense': this.dense,\n 'v-alert--outlined': this.outlined,\n 'v-alert--prominent': this.prominent,\n 'v-alert--text': this.text,\n }\n\n if (this.border) {\n classes[`v-alert--border-${this.border}`] = true\n }\n\n return classes\n },\n computedColor (): string {\n return this.color || this.type\n },\n computedIcon (): string | boolean {\n if (this.icon === false) return false\n if (typeof this.icon === 'string' && this.icon) return this.icon\n if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n return `$${this.type}`\n },\n hasColoredIcon (): boolean {\n return (\n this.hasText ||\n (Boolean(this.border) && this.coloredBorder)\n )\n },\n hasText (): boolean {\n return this.text || this.outlined\n },\n iconColor (): string | undefined {\n return this.hasColoredIcon ? this.computedColor : undefined\n },\n isDark (): boolean {\n if (\n this.type &&\n !this.coloredBorder &&\n !this.outlined\n ) return true\n\n return Themeable.options.computed.isDark.call(this)\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('outline')) {\n breaking('outline', 'outlined', this)\n }\n },\n\n methods: {\n genWrapper (): VNode {\n const children = [\n getSlot(this, 'prepend') || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n getSlot(this, 'append'),\n this.$scopedSlots.close\n ? this.$scopedSlots.close({ toggle: this.toggle })\n : this.__cachedDismissible,\n ]\n\n const data: VNodeData = {\n staticClass: 'v-alert__wrapper',\n }\n\n return this.$createElement('div', data, children)\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-alert__content',\n }, getSlot(this))\n },\n genAlert (): VNode {\n let data: VNodeData = {\n staticClass: 'v-alert',\n attrs: {\n role: 'alert',\n },\n on: this.listeners$,\n class: this.classes,\n style: this.styles,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }\n\n if (!this.coloredBorder) {\n const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n data = setColor(this.computedColor, data)\n }\n\n return this.$createElement('div', data, [this.genWrapper()])\n },\n /** @public */\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (h): VNode {\n const render = this.genAlert()\n\n if (!this.transition) return render\n\n return h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [render])\n },\n})\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data: VNodeData = {\n class: this.classes,\n attrs: {\n tabindex: this.isActive ? 0 : undefined,\n },\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null as unknown as PropType,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n\n render (h) {\n const vnode = VInput.options.render.call(this, h)\n\n this._b(vnode.data!, 'div', this.attrs$)\n\n return vnode\n },\n})\n","// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n name: 'rippleable',\n\n directives: { ripple },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n methods: {\n genRipple (data: VNodeData = {}): VNode | null {\n if (!this.ripple) return null\n\n data.staticClass = 'v-input--selection-controls__ripple'\n\n data.directives = data.directives || []\n data.directives.push({\n name: 'ripple',\n value: { center: true },\n } as VNodeDirective)\n\n return this.$createElement('div', data)\n },\n },\n})\n","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType {\n radioGroup: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: {\n type: Boolean,\n default: null,\n },\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: {\n type: Boolean,\n default: null,\n },\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled ?? (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly ?? (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n const { title, ...radioAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...radioAttrs,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n attrs: { title: this.attrs$.title },\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-dialog',{attrs:{\"width\":\"800px\",\"persistent\":\"\",\"transition\":\"fade-transition\"},on:{\"click:outside\":function($event){return _vm.cancel()}},model:{value:(_vm.reassign),callback:function ($$v) {_vm.reassign=$$v},expression:\"reassign\"}},[(_vm.reassign)?_c('v-card',[_c('v-card-title',{staticClass:\"title\"},[_vm._v(\"Reassign user\")]),_c('v-divider',{staticClass:\"mb-2\"}),_c('v-card-text',{staticClass:\"mb-n1\"},[_c('v-container',{attrs:{\"fluid\":\"\"}},[(_vm.isLastMember)?_c('v-row',[_c('v-alert',{attrs:{\"color\":\"orange\",\"outlined\":\"\",\"text\":\"\",\"type\":\"error\"}},[_c('h3',[_vm._v(\"Warning\")]),_c('p',{staticClass:\"mt-2\"},[_vm._v(_vm._s(_vm.person.displayName)+\" is the last member of this guest organization. Reassigning the user will also remove the guest organization.\")])])],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('p',[_c('b',[_vm._v(\"Name: \"+_vm._s(_vm.person.displayName))])]),_c('p',[_c('b',[_vm._v(\"User Id: \"+_vm._s(_vm.person.id))])])])],1),(_vm.clientPersons)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',[_vm._v(\"Guest organization: \"+_vm._s(this.$store.state.context.selectedClient.name))])])],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('p',[_vm._v(\"Reassigning the user will affect the user’s permissions, and remove the user from the currently selected guest organization\")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',[_vm._v(\"Reassign user to:\")])])],1)],1),(\n\t\t\t\t\t\t\t_vm.toExistingAcl ||\n\t\t\t\t\t\t\t_vm.toNewAcl ||\n\t\t\t\t\t\t\t_vm.toCompanyAcl ||\n\t\t\t\t\t\t\t_vm.guestUserToExistingGuestOrgAcl)?_c('v-radio-group',{staticClass:\"pl-2 mb-n1\",attrs:{\"row\":\"\",\"mandatory\":\"\"},model:{value:(_vm.radioGroup),callback:function ($$v) {_vm.radioGroup=$$v},expression:\"radioGroup\"}},[(!_vm.clientPersons && _vm.toExistingAcl)?_c('v-radio',{key:\"1\",attrs:{\"disabled\":_vm.customerClientsComplete.length <= 1,\"label\":\"Existing guest organization\",\"value\":\"1\"}}):_vm._e(),(!_vm.clientPersons && _vm.toNewAcl)?_c('v-radio',{key:\"2\",attrs:{\"label\":\"New guest organization\",\"value\":\"2\"}}):_vm._e(),(_vm.clientPersons && _vm.toCompanyAcl)?_c('v-radio',{key:\"3\",attrs:{\"label\":_vm.companyName,\"value\":\"3\"}}):_vm._e(),(_vm.clientPersons && _vm.guestUserToExistingGuestOrgAcl)?_c('v-radio',{key:\"4\",attrs:{\"disabled\":_vm.customerClientsComplete.length <= 1,\"label\":\"Existing guest organization\",\"value\":\"4\"}}):_vm._e()],1):_vm._e(),(_vm.radioGroup == 1 && !_vm.clientPersons && _vm.toExistingAcl)?_c('v-card-text',{staticClass:\"radioBox\"},[_c('v-autocomplete',{attrs:{\"solo\":\"\",\"items\":_vm.customerClientsComplete,\"item-text\":\"text\",\"item-value\":\"value\",\"loading\":_vm.loading,\"disabled\":_vm.loading},model:{value:(_vm.selectedClientId),callback:function ($$v) {_vm.selectedClientId=$$v},expression:\"selectedClientId\"}})],1):_vm._e(),(_vm.radioGroup == 2 && !_vm.clientPersons && _vm.toNewAcl)?_c('v-card-text',{staticClass:\"radioBox\"},[_c('v-text-field',{staticClass:\"textField\",attrs:{\"placeholder\":\"Enter new client name ..\",\"solo\":\"\",\"loading\":_vm.loading,\"disabled\":_vm.loading,\"rules\":[_vm.rules.required, _vm.rules.counter],\"hint\":\"\",\"required\":\"\",\"maxlength\":\"60\",\"persistent-hint\":\"\"},model:{value:(_vm.newClient),callback:function ($$v) {_vm.newClient=$$v},expression:\"newClient\"}})],1):_vm._e(),(_vm.radioGroup == 3 && _vm.clientPersons && _vm.toCompanyAcl)?_c('v-card-text',{staticClass:\"radioBox\"}):_vm._e(),(_vm.radioGroup == 4 && _vm.clientPersons && _vm.toExistingAcl)?_c('v-card-text',{staticClass:\"radioBox\"},[_c('v-autocomplete',{attrs:{\"solo\":\"\",\"items\":_vm.customerClientsComplete,\"item-text\":\"text\",\"item-value\":\"value\",\"loading\":_vm.loading,\"disabled\":_vm.loading},model:{value:(_vm.selectedClientId),callback:function ($$v) {_vm.selectedClientId=$$v},expression:\"selectedClientId\"}})],1):_vm._e(),(_vm.radioGroup == 5 && _vm.clientPersons && _vm.guestUserToExistingGuestOrgAcl)?_c('v-card-text',{staticClass:\"radioBox\"},[_c('v-autocomplete',{attrs:{\"solo\":\"\",\"items\":_vm.customerClientsComplete,\"item-text\":\"text\",\"item-value\":\"value\",\"loading\":_vm.loading,\"disabled\":_vm.loading},model:{value:(_vm.selectedClientId),callback:function ($$v) {_vm.selectedClientId=$$v},expression:\"selectedClientId\"}})],1):_vm._e()],1),_c('v-divider',{staticClass:\"mb-2\"}),_c('v-card-actions',[_c('v-col',{staticClass:\"text-right\"},[_c('v-btn',{staticClass:\"mr-2\",attrs:{\"color\":\"primary darken-1\",\"disabled\":_vm.disableReassignButton(),\"loading\":_vm.loading},on:{\"click\":function($event){_vm.reassignUser(_vm.person, _vm.getTargetClient())}}},[_vm._v(\" REASSIGN USER \")]),_c('v-btn',{attrs:{\"color\":\"info darken-1\",\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(\" Close \")])],1)],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from \"vue\"\nimport { CustomerEnum, ClientEnum } from \"@/types/enums\"\nimport { Person, ReassignPersonRequest, ReassignClientPersonRequest, SnackbarInfo, ReassignTarget, AclExtract, ReassignClientPersonToExistingClientRequest } from \"@/types/responses\"\n\nexport default Vue.extend({\n\tcomponents: {\n\t},\n\tasync mounted() {\n\t\tawait this.getCustomerClients()\n\t},\n\tname: \"ReassignPersonDialog\",\n\tprops: {\n\t\treassign: {\n\t\t\ttype: Boolean,\n\t\t},\n\t\tperson: {\n\t\t\ttype: Object,\n\t\t},\n clientPersons: {\n type: Boolean,\n required: true\n },\n isLastMember: {\n type: Boolean\n }\n\t},\n\tdata(): {\n\t\tcustomerenm: typeof CustomerEnum\n\t\tclientenm: typeof ClientEnum\n\n\t\tsnackBar: boolean\n\t\tsnackBarText: string\n\t\tloading: boolean\n\t\ttimeLeft: number\n\n\t\tselectedClientId: null | string\n\n\t\tradioGroup: number\n\t\tnewClient: string\n\t\trules: unknown\n\t} {\n\t\treturn {\n\t\t\tcustomerenm: CustomerEnum,\n\t\t\tclientenm: ClientEnum,\n\n\t\t\tsnackBar: false,\n\t\t\tsnackBarText: \"\",\n\t\t\tloading: false,\n\t\t\ttimeLeft: 2,\n\n\t\t\tselectedClientId: null,\n\n\t\t\tradioGroup: 1,\n\t\t\tnewClient: \"\",\n\t\t\trules: {\n\t\t\t\trequired: (value: string) => !!value || 'This field cannot be empty',\n\t\t\t\tcounter: (value: string) => value.length <= 60 || 'Max 60 characters'\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\tcompanyName(): string{\n\t\t\treturn this.$store.state.context.selectedCustomer.name\n\t\t},\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\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\ttoExistingAcl(): boolean{\n\t\t\tif(\n\t\t\t\tthis.$route.name?.includes(this.customerenm.Customer) && !this.clientPersons &&\n\t\t\t\tthis.$vStore.state.acl[this.customerenm.Customer].ui.includes(this.customerenm.ReassignPersonsToExisting)){\n\t\t\t\treturn true\n\t\t\t} else if (\n\t\t\t\tthis.$route.name?.includes(this.customerenm.Customer) && this.clientPersons &&\n\t\t\t\tthis.$vStore.state.acl[this.customerenm.Customer].ui.includes(this.customerenm.ClientReassignPersonsToExisting)){\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\treturn this.$vStore.state.acl[this.clientenm.ClientOrganization].ui.includes(this.clientenm.ClientReassignPersonsToExisting)\n\t\t},\n\t\ttoNewAcl(): boolean{\n\t\t\tif(\n\t\t\t\tthis.$route.name?.includes(this.customerenm.Customer) && !this.clientPersons &&\n\t\t\t\tthis.$vStore.state.acl[this.customerenm.Customer].ui.includes(this.customerenm.ReassignPersonsToNew)){\n\t\t\t\treturn true\n\t\t\t} else if (\n\t\t\t\tthis.$route.name?.includes(this.customerenm.Customer) && this.clientPersons &&\n\t\t\t\tthis.$vStore.state.acl[this.customerenm.Customer].ui.includes(this.customerenm.ClientReassignPersonsToNew)){\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\treturn this.$vStore.state.acl[this.clientenm.ClientOrganization].ui.includes(this.clientenm.ClientReassignPersonsToNew)\n\t\t},\n\t\ttoCompanyAcl(): boolean{\n\t\t\tif(\n\t\t\t\tthis.$route.name?.includes(this.customerenm.Customer) && !this.clientPersons &&\n\t\t\t\tthis.$vStore.state.acl[this.customerenm.Customer].ui.includes(this.customerenm.ReassignPersonsToCompany)){\n\t\t\t\treturn true\n\t\t\t} else if (\n\t\t\t\tthis.$route.name?.includes(this.customerenm.Customer) && this.clientPersons &&\n\t\t\t\tthis.$vStore.state.acl[this.customerenm.Customer].ui.includes(this.customerenm.ClientReassignPersonsToCompany)){\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t\n\t\t\treturn this.$vStore.state.acl[this.clientenm.ClientOrganization].ui.includes(this.clientenm.ClientReassignPersonsToCompany)\n\t\t},\n\t\tguestUserToExistingGuestOrgAcl(): boolean {\n\t\t\tif(\n\t\t\t\tthis.$route.name?.includes(this.customerenm.Customer) && this.clientPersons &&\n\t\t\t\tthis.$vStore.state.acl[this.customerenm.Customer].ui.includes(this.customerenm.ClientReassignPersonToExistingClient)){\n\t\t\t\treturn this.getAcl.ui.includes(this.customerenm.ClientReassignPersonToExistingClient)\n\t\t\t} \n\n\t\t\treturn this.getAcl.ui.includes(this.customerenm.ClientReassignPersonToExistingClient)\n\t\t},\n\n\t\tcustomerClientsComplete(): Array<{ text: string, value: null|string}> {\n\t\t\tconst arr: Array<{ text: string, value: null|string}> = []\n\t\t\tarr.push({ text: \"NONE\", value: null})\n\t\t\t// eslint-disable-next-line\n\t\t\tconst clients = this.$vStore.state.context.customerClients\n\t\t\t.sort(function(a, b) {\n\t\t\t\tconst obj1 = a['id'].toUpperCase()\n\t\t\t\tconst obj2 = b['id'].toUpperCase()\n\t\t\t\tif (obj1 < obj2) return -1\n\t\t\t\tif (obj1 > obj2) return 1\n\t\t\t\treturn 0\n\t\t\t})\n\t\t\t.map(client => {\n\t\t\t\treturn { text: client.name, value: client.id}\n\t\t\t})\n\t\t\tconst selectList = [...arr,...clients]\n\t\t\treturn selectList\n\t\t},\n\t},\n\tmethods: {\n\t\tdisableReassignButton(): boolean {\n\t\t\tif(this.loading) return true\n\n\t\t\tif(this.radioGroup == 1){\n\t\t\t\tif(this.selectedClientId == null) return true\n\t\t\t} else if (this.radioGroup == 2){\n\t\t\t\tif(this.newClient.length < 1) return true \n\t\t\t}\n\n\t\t\treturn false\n\t\t},\n\t\tgetTargetClient(): ReassignTarget {\n\t\t\tif(this.radioGroup == 1){\n\t\t\t\treturn {\n\t\t\t\t\tid: this.selectedClientId + \"\",\n\t\t\t\t\tnew: false\n\t\t\t\t}\n\t\t\t} else if (this.radioGroup == 2){\n\t\t\t\treturn {\n\t\t\t\t\tid: this.newClient,\n\t\t\t\t\tnew: true\n\t\t\t\t}\n\t\t\t} else if (this.radioGroup == 3){\n\t\t\t\treturn {\n\t\t\t\t\tid: this.newClient,\n\t\t\t\t\tnew: false\n\t\t\t\t}\n\t\t\t} else if (this.radioGroup == 4){\n\t\t\t\treturn {\n\t\t\t\t\tid: this.selectedClientId + \"\",\n\t\t\t\t\tnew: false\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn {\n\t\t\t\t\tid: \"\",\n\t\t\t\t\tnew: false\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tasync countDownTimer(): Promise {\n\t\t\tthis.timeLeft = 2\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\tconst downloadTimer = setInterval(() => {\n\t\t\t\t\tthis.timeLeft--\n\t\t\t\t\tif (this.timeLeft <= 0) {\n\t\t\t\t\t\tclearInterval(downloadTimer)\n\t\t\t\t\t\tresolve()\n\t\t\t\t\t}\n\t\t\t\t}, 1000)\n\t\t\t})\n\t\t},\n\t\tcancel(): void {\n\t\t\tif(!this.loading){\n\t\t\t\tthis.$emit(\"close\", null)\n\t\t\t}\n\t\t},\n\n\t\tasync getCustomerClients(): Promise {\n\t\t\tif (this.loading) return\n\t\t\tif (this.$vStore.state.context.customerClients.length > 0) return\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait this.$vStore.dispatch(\"context/updateCustomerClients\")\n\t\t\t\tthis.loading = false\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(\"Could not find any customerClients for this customer\", e)\n\t\t\t}\n\t\t},\n\n async reassignUser(person: Person, reassignTarget: ReassignTarget): Promise {\n console.log(\"reassingUser triggered. Reasigning: \", person, \" to: \", reassignTarget)\n\n if(this.clientPersons && reassignTarget.id != \"\") await this.reassignClientPersonToExistingClient(person, reassignTarget)\n\t\t\telse if (this.clientPersons) await this.reassignClientPerson(person, reassignTarget)\n else await this.reassignCustomerPerson(person, reassignTarget)\n\n },\n async reassignClientPerson(person: Person, reassignTarget: ReassignTarget): Promise {\n\t\t\tthis.loading = true\n\t\t\tlet snackbarInfo: SnackbarInfo;\n console.log(\"reassignClientPerson triggered.\")\n if(this.isLastMember){\n\n console.log(\"Reasigning last member, client company will be removed.\")\n this.$emit('removeLastMember', true)\n }\n\t\t\ttry {\n\t\t\t\tif (!this.$vStore.state.context.selectedClient) throw new Error('No selected client').message = \"There was an error while handling target client.\";\n\t\t\t\tconst ReassignClientPersonRequest: ReassignClientPersonRequest = {\n\t\t\t\t\tclient: this.$vStore.state.context.selectedClient,\n\t\t\t\t\tperson: person,\n\t\t\t\t\ttargetOrganizationId: reassignTarget.id,\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif(!reassignTarget.new){\n\t\t\t\t\t// To existing client\n\t\t\t\t\tawait this.$vStore.dispatch(\"context/reassignClientPerson\", ReassignClientPersonRequest)\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// To new client\n\t\t\t\t\tawait this.$vStore.dispatch(\"context/reassignClientPerson\", ReassignClientPersonRequest)\n\t\t\t\t}\n\n\t\t\t\tawait this.countDownTimer()\n\t\t\t\tthis.$emit('silentRefresh', null)\n\t\t\t\tsnackbarInfo = {\n\t\t\t\t\tsuccess: true,\n\t\t\t\t\tmsg: \"Successfully reassigned \" + this.person.displayName + \".\",\n\t\t\t\t\te: null\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\tsnackbarInfo = {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\tmsg: \"Could not reassign person.\",\n\t\t\t\t\te: e\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.loading = false\n\t\t\tthis.$emit('showSnackbarInfo', snackbarInfo)\n\t\t\tthis.cancel()\n\t\t},\n\t\tasync reassignCustomerPerson(person: Person, reassignTarget: ReassignTarget): Promise {\n\n\t\t\tthis.loading = true\n\t\t\tlet snackbarInfo: SnackbarInfo;\n if(this.isLastMember){\n console.log(\"Reasigning last member, client company will be removed.\")\n this.$emit('removeLastUser', null)\n }\n\t\t\ttry {\n\t\t\t\tconst ReassignPersonRequest: ReassignPersonRequest = {\n\t\t\t\t\tperson: person,\n\t\t\t\t\ttargetClientId: reassignTarget.id,\n\t\t\t\t\tnewClientName: null\n\t\t\t\t}\n\t\t\t\tif(!reassignTarget.new){\n\t\t\t\t\t// Existing client\n\t\t\t\t\tawait this.$vStore.dispatch(\"context/reassignPerson\", ReassignPersonRequest)\n\t\t\t\t} else {\n\t\t\t\t\t// New client\n\t\t\t\t\tReassignPersonRequest.targetClientId = null\n\t\t\t\t\tReassignPersonRequest.newClientName = this.newClient\n\t\t\t\t\tawait this.$vStore.dispatch(\"context/reassignPerson\", ReassignPersonRequest)\n\t\t\t\t}\n\t\t\t\tawait this.$vStore.dispatch(\"context/resetClientPersons\")\n\n\n\t\t\t\tawait this.countDownTimer()\n\t\t\t\tthis.$emit('silentRefresh', null)\n\t\t\t\tsnackbarInfo = {\n\t\t\t\t\tsuccess: true,\n\t\t\t\t\tmsg: \"Successfully reassigned \" + this.person.displayName + \".\",\n\t\t\t\t\te: null\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\tsnackbarInfo = {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\tmsg: \"Could not reassign person.\",\n\t\t\t\t\te: e\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.loading = false\n\t\t\tthis.$emit('showSnackbarInfo', snackbarInfo)\n\t\t\tthis.cancel()\n\t\t},\n\t\tasync reassignClientPersonToExistingClient(person: Person, reassignTarget: ReassignTarget): Promise {\n\t\t\tthis.loading = true\n\t\t\tlet snackbarInfo: SnackbarInfo;\n console.log(\"reassignClientPersonToExistingClient triggered.\")\n if(this.isLastMember){\n\n console.log(\"Reasigning last member, client company will be removed.\")\n this.$emit('removeLastMember', true)\n }\n\t\t\ttry {\n\n\t\t\t\tconsole.log('Eik : sourceGuestOrganizationId:', this.$store.state.context.selectedClient)\n\t\t\t\tconsole.log('Eik : targetGuestOrganizationId:', reassignTarget)\n\t\t\t\tif (!this.$vStore.state.context.selectedClient) throw new Error('No selected client').message = \"There was an error while handling target client.\";\n\t\t\t\tconst ReassignRequest: ReassignClientPersonToExistingClientRequest = {\n\t\t\t\t\tclient: this.$vStore.state.context.selectedClient,\n\t\t\t\t\tperson: person,\n\t\t\t\t\tsourceGuestOrganizationId: this.$store.state.context.selectedClient.id,\n\t\t\t\t\ttargetGuestOrganizationId: reassignTarget.id,\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// To existing client\n\t\t\t\tawait this.$vStore.dispatch(\"context/reassignClientPersonToExistingClient\", ReassignRequest)\n\n\t\t\t\tawait this.countDownTimer()\n\t\t\t\tthis.$emit('silentRefresh', null)\n\t\t\t\tsnackbarInfo = {\n\t\t\t\t\tsuccess: true,\n\t\t\t\t\tmsg: \"Successfully reassigned \" + this.person.displayName + \", to an existing guest organization\",\n\t\t\t\t\te: null\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\tsnackbarInfo = {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\tmsg: \"Could not reassign person.\",\n\t\t\t\t\te: e\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.loading = false\n\t\t\tthis.$emit('showSnackbarInfo', snackbarInfo)\n\t\t\tthis.cancel()\n\t\t},\n\n\t},\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!./ReassignPersonDialog.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!./ReassignPersonDialog.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ReassignPersonDialog.vue?vue&type=template&id=43e7d062\"\nimport script from \"./ReassignPersonDialog.vue?vue&type=script&lang=ts\"\nexport * from \"./ReassignPersonDialog.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","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n if (!this.multiple && value === '') this.deleteCurrentItem()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n","// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n\n props: {\n id: String,\n inputValue: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label!.data!.on = {\n // Label shouldn't cause the input to focus\n click: prevent,\n }\n\n return label\n },\n genInput (type: string, attrs: object) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive,\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent,\n },\n ref: 'input',\n })\n },\n onClick (e: Event) {\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n"],"sourceRoot":""}