{"version":3,"sources":["webpack:///./src/components/views/Organizations/Structure.vue?7685","webpack:///src/components/views/Organizations/Structure.vue","webpack:///./src/components/views/Organizations/Structure.vue?367c","webpack:///../../../src/components/VTreeview/VTreeviewNode.ts","webpack:///../../../../src/components/VTreeview/util/filterTreeItems.ts","webpack:///../../../src/components/VTreeview/VTreeview.ts","webpack:///./src/components/views/Organizations/Structure.vue","webpack:///./src/components/views/Organizations/Structure.vue?3b25"],"names":["_vm","this","_h","$createElement","_c","_self","attrs","loading","scopedSlots","_u","key","fn","ref","active","items","opened","on","treeviewOnClick","item","staticClass","_v","_s","name","_e","disabled","proxy","staticRenderFns","data","thisorgitem","computed","organization","created","load","methods","$api","getUserOrganizations","username","callBack","selected","length","globalid","$router","push","baseMixins","mixins","VTreeviewNodeProps","activatable","activeClass","type","default","color","expandIcon","indeterminateIcon","itemChildren","itemDisabled","itemKey","itemText","loadChildren","loadingIcon","offIcon","onIcon","openOnClick","rounded","selectable","selectedColor","shaped","transition","selectionType","validator","v","includes","VTreeviewNode","inject","treeview","props","level","parentIsDisabled","hasLoaded","isActive","isIndeterminate","isLoading","isOpen","isSelected","children","child","text","scopedProps","leaf","indeterminate","open","computedIcon","hasChildren","beforeDestroy","checkChildren","Promise","resolve","genLabel","$scopedSlots","label","slot","genPrependSlot","prepend","genAppendSlot","append","genContent","genToggle","VIcon","class","click","e","genCheckbox","genLevel","genNode","setTextColor","genChild","genChildrenWrapper","map","c","genTransition","render","h","String","search","filter","match","i","filterTreeItems","excluded","provide","dense","hoverable","multipleActive","openAll","returnObject","value","activeCache","nodes","openCache","selectedCache","Set","excludedItems","watch","handler","oldKeys","Object","k","newKeys","getKeys","diff","oldSelectedCache","emitSelected","deep","getValue","mounted","$slots","console","updateAll","keys","buildTree","parent","oldNode","hasOwnProperty","vnode","node","calculateState","add","state","counts","Boolean","emitOpen","emitActive","emitNodeCache","handleNodeCacheWatcher","old","updateFn","emitFn","getDescendants","descendants","getParents","parents","register","unregister","isParent","updateActive","delete","updateSelected","isForced","changed","descendant","calculated","updateOpen","updateVnodeState","isExcluded","has","themeClasses","component","VTreeview"],"mappings":"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","file":"js/chunk-ac8ebb82.679ff824.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page',{attrs:{\"loading\":_vm.loading},scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('v-treeview',{ref:\"tree\",attrs:{\"active\":_vm.active,\"items\":_vm.items,\"open\":_vm.opened,\"item-key\":\"globalid\",\"item-text\":\"name\",\"item-disabled\":\"\",\"dense\":\"\",\"activatable\":\"\",\"return-object\":\"\"},on:{\"update:active\":_vm.treeviewOnClick},scopedSlots:_vm._u([{key:\"label\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.disabled)?_c('div',{staticClass:\"disabled\"},[_vm._v(_vm._s(item.name))]):_vm._e(),(!item.disabled)?_c('div',{staticClass:\"enabled\"},[_vm._v(_vm._s(item.name))]):_vm._e()]}}])})]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n {{ item.name }}
\n {{ item.name }}
\n \n \n \n \n\n\n\n\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!./Structure.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!./Structure.vue?vue&type=script&lang=js&\"","// Components\nimport { VExpandTransition } from '../transitions'\nimport { VIcon } from '../VIcon'\nimport VTreeview from './VTreeview'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getObjectValueByPath, createRange } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VTreeViewInstance = InstanceType\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('treeview')\n)\n\ninterface options extends ExtractVue {\n treeview: VTreeViewInstance\n}\n\nexport const VTreeviewNodeProps = {\n activatable: Boolean,\n activeClass: {\n type: String,\n default: 'v-treeview-node--active',\n },\n color: {\n type: String,\n default: 'primary',\n },\n expandIcon: {\n type: String,\n default: '$subgroup',\n },\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n itemChildren: {\n type: String,\n default: 'children',\n },\n itemDisabled: {\n type: String,\n default: 'disabled',\n },\n itemKey: {\n type: String,\n default: 'id',\n },\n itemText: {\n type: String,\n default: 'name',\n },\n loadChildren: Function as PropType<(item: any) => Promise>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n openOnClick: Boolean,\n rounded: Boolean,\n selectable: Boolean,\n selectedColor: {\n type: String,\n default: 'accent',\n },\n shaped: Boolean,\n transition: Boolean,\n selectionType: {\n type: String as PropType<'leaf' | 'independent'>,\n default: 'leaf',\n validator: (v: string) => ['leaf', 'independent'].includes(v),\n },\n}\n\n/* @vue/component */\nconst VTreeviewNode = baseMixins.extend().extend({\n name: 'v-treeview-node',\n\n inject: {\n treeview: {\n default: null,\n },\n },\n\n props: {\n level: Number,\n item: {\n type: Object,\n default: () => null,\n } as PropValidator | null>,\n parentIsDisabled: Boolean,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n hasLoaded: false,\n isActive: false, // Node is selected (row)\n isIndeterminate: false, // Node has at least one selected child\n isLoading: false,\n isOpen: false, // Node is open/expanded\n isSelected: false, // Node is selected (checkbox)\n }),\n\n computed: {\n disabled (): boolean {\n return (\n getObjectValueByPath(this.item, this.itemDisabled) ||\n (this.parentIsDisabled && this.selectionType === 'leaf')\n )\n },\n key (): string {\n return getObjectValueByPath(this.item, this.itemKey)\n },\n children (): any[] | null {\n const children = getObjectValueByPath(this.item, this.itemChildren)\n return children && children.filter((child: any) => !this.treeview.isExcluded(getObjectValueByPath(child, this.itemKey)))\n },\n text (): string {\n return getObjectValueByPath(this.item, this.itemText)\n },\n scopedProps (): object {\n return {\n item: this.item,\n leaf: !this.children,\n selected: this.isSelected,\n indeterminate: this.isIndeterminate,\n active: this.isActive,\n open: this.isOpen,\n }\n },\n computedIcon (): string {\n if (this.isIndeterminate) return this.indeterminateIcon\n else if (this.isSelected) return this.onIcon\n else return this.offIcon\n },\n hasChildren (): boolean {\n return !!this.children && (!!this.children.length || !!this.loadChildren)\n },\n },\n\n created () {\n this.treeview.register(this)\n },\n\n beforeDestroy () {\n this.treeview.unregister(this)\n },\n\n methods: {\n checkChildren (): Promise {\n return new Promise(resolve => {\n // TODO: Potential issue with always trying\n // to load children if response is empty?\n if (!this.children || this.children.length || !this.loadChildren || this.hasLoaded) return resolve()\n\n this.isLoading = true\n resolve(this.loadChildren(this.item))\n }).then(() => {\n this.isLoading = false\n this.hasLoaded = true\n })\n },\n open () {\n this.isOpen = !this.isOpen\n this.treeview.updateOpen(this.key, this.isOpen)\n this.treeview.emitOpen()\n },\n genLabel () {\n const children = []\n\n if (this.$scopedSlots.label) children.push(this.$scopedSlots.label(this.scopedProps))\n else children.push(this.text)\n\n return this.$createElement('div', {\n slot: 'label',\n staticClass: 'v-treeview-node__label',\n }, children)\n },\n genPrependSlot () {\n if (!this.$scopedSlots.prepend) return null\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__prepend',\n }, this.$scopedSlots.prepend(this.scopedProps))\n },\n genAppendSlot () {\n if (!this.$scopedSlots.append) return null\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__append',\n }, this.$scopedSlots.append(this.scopedProps))\n },\n genContent () {\n const children = [\n this.genPrependSlot(),\n this.genLabel(),\n this.genAppendSlot(),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__content',\n }, children)\n },\n genToggle () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__toggle',\n class: {\n 'v-treeview-node__toggle--open': this.isOpen,\n 'v-treeview-node__toggle--loading': this.isLoading,\n },\n slot: 'prepend',\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => this.open())\n },\n },\n }, [this.isLoading ? this.loadingIcon : this.expandIcon])\n },\n genCheckbox () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__checkbox',\n props: {\n color: this.isSelected || this.isIndeterminate ? this.selectedColor : undefined,\n disabled: this.disabled,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => {\n // We nextTick here so that items watch in VTreeview has a chance to run first\n this.$nextTick(() => {\n this.isSelected = !this.isSelected\n this.isIndeterminate = false\n\n this.treeview.updateSelected(this.key, this.isSelected)\n this.treeview.emitSelected()\n })\n })\n },\n },\n }, [this.computedIcon])\n },\n genLevel (level: number) {\n return createRange(level).map(() => this.$createElement('div', {\n staticClass: 'v-treeview-node__level',\n }))\n },\n genNode () {\n const children = [this.genContent()]\n\n if (this.selectable) children.unshift(this.genCheckbox())\n\n if (this.hasChildren) {\n children.unshift(this.genToggle())\n } else {\n children.unshift(...this.genLevel(1))\n }\n\n children.unshift(...this.genLevel(this.level))\n\n return this.$createElement('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-treeview-node__root',\n class: {\n [this.activeClass]: this.isActive,\n },\n on: {\n click: () => {\n if (this.openOnClick && this.hasChildren) {\n this.checkChildren().then(this.open)\n } else if (this.activatable && !this.disabled) {\n this.isActive = !this.isActive\n this.treeview.updateActive(this.key, this.isActive)\n this.treeview.emitActive()\n }\n },\n },\n }), children)\n },\n genChild (item: any, parentIsDisabled: boolean) {\n return this.$createElement(VTreeviewNode, {\n key: getObjectValueByPath(item, this.itemKey),\n props: {\n activatable: this.activatable,\n activeClass: this.activeClass,\n item,\n selectable: this.selectable,\n selectedColor: this.selectedColor,\n color: this.color,\n expandIcon: this.expandIcon,\n indeterminateIcon: this.indeterminateIcon,\n offIcon: this.offIcon,\n onIcon: this.onIcon,\n loadingIcon: this.loadingIcon,\n itemKey: this.itemKey,\n itemText: this.itemText,\n itemDisabled: this.itemDisabled,\n itemChildren: this.itemChildren,\n loadChildren: this.loadChildren,\n transition: this.transition,\n openOnClick: this.openOnClick,\n rounded: this.rounded,\n shaped: this.shaped,\n level: this.level + 1,\n selectionType: this.selectionType,\n parentIsDisabled,\n },\n scopedSlots: this.$scopedSlots,\n })\n },\n genChildrenWrapper () {\n if (!this.isOpen || !this.children) return null\n\n const children = [this.children.map(c => this.genChild(c, this.disabled))]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__children',\n }, children)\n },\n genTransition () {\n return this.$createElement(VExpandTransition, [this.genChildrenWrapper()])\n },\n },\n\n render (h): VNode {\n const children: VNodeChildren = [this.genNode()]\n\n if (this.transition) children.push(this.genTransition())\n else children.push(this.genChildrenWrapper())\n\n return h('div', {\n staticClass: 'v-treeview-node',\n class: {\n 'v-treeview-node--leaf': !this.hasChildren,\n 'v-treeview-node--click': this.openOnClick,\n 'v-treeview-node--disabled': this.disabled,\n 'v-treeview-node--rounded': this.rounded,\n 'v-treeview-node--shaped': this.shaped,\n 'v-treeview-node--selected': this.isSelected,\n },\n attrs: {\n 'aria-expanded': String(this.isOpen),\n },\n }, children)\n },\n})\n\nexport default VTreeviewNode\n","import { getObjectValueByPath } from '../../../util/helpers'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\nexport function filterTreeItem (item: object, search: string, textKey: string): boolean {\n const text = getObjectValueByPath(item, textKey)\n\n return text.toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) > -1\n}\n\nexport function filterTreeItems (\n filter: TreeviewItemFunction,\n item: any,\n search: string,\n idKey: string,\n textKey: string,\n childrenKey: string,\n excluded: Set\n): boolean {\n if (filter(item, search, textKey)) {\n return true\n }\n\n const children = getObjectValueByPath(item, childrenKey)\n\n if (children) {\n let match = false\n for (let i = 0; i < children.length; i++) {\n if (filterTreeItems(filter, children[i], search, idKey, textKey, childrenKey, excluded)) {\n match = true\n }\n }\n\n if (match) return true\n }\n\n excluded.add(getObjectValueByPath(item, idKey))\n\n return false\n}\n","// Styles\nimport './VTreeview.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath,\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem,\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType\n\ntype NodeCache = Set\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n dense: Boolean,\n filter: Function as PropType,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false, // TODO: Should be true in next major\n },\n search: String,\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache,\n }),\n\n computed: {\n excludedItems (): Set {\n const excluded = new Set()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n },\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true,\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n value (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n },\n },\n\n created () {\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.value.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n // Save the developer from themselves\n if (this.$slots.prepend || this.$slots.append) {\n consoleWarn('The prepend and append slots require a slot-scope attribute', this)\n }\n\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren, [])\n const oldNode = this.nodes.hasOwnProperty(key) ? this.nodes[key] : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null,\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item,\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (!this.nodes.hasOwnProperty(key) && parent !== null && this.nodes.hasOwnProperty(parent)) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length) {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate,\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('input', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n this.nodes[key].vnode = node\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n },\n },\n\n render (h): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.options.methods.genChild.bind(this)\n\n return genChild(item, getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n staticClass: 'v-treeview',\n class: {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses,\n },\n }, children)\n },\n})\n","import { render, staticRenderFns } from \"./Structure.vue?vue&type=template&id=65e007d0&scoped=true&\"\nimport script from \"./Structure.vue?vue&type=script&lang=js&\"\nexport * from \"./Structure.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Structure.vue?vue&type=style&index=0&id=65e007d0&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 \"65e007d0\",\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 { VTreeview } from 'vuetify/lib/components/VTreeview';\ninstallComponents(component, {VTreeview})\n","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!./Structure.vue?vue&type=style&index=0&id=65e007d0&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!./Structure.vue?vue&type=style&index=0&id=65e007d0&scoped=true&lang=css&\""],"sourceRoot":""}