{"version":3,"sources":["webpack:///./node_modules/vuetify/lib/components/VPagination/VPagination.js","webpack:///./src/assets/folder.svg","webpack:///./node_modules/vuetify/lib/components/VTreeview/VTreeviewNode.js","webpack:///./node_modules/vuetify/lib/components/VTreeview/util/filterTreeItems.js","webpack:///./node_modules/vuetify/lib/components/VTreeview/VTreeview.js"],"names":["onVisible","extend","name","directives","Resize","props","circle","Boolean","disabled","length","type","Number","default","validator","val","nextIcon","String","prevIcon","totalVisible","value","pageAriaLabel","currentPageAriaLabel","previousAriaLabel","nextAriaLabel","wrapperAriaLabel","maxButtons","selected","computed","this","themeClasses","parseInt","maxLength","Math","min","max","range","even","left","floor","right","firstItem","lastItem","start","end","secondItem","beforeLastItem","watch","init","methods","$nextTick","onResize","setTimeout","width","$el","parentElement","clientWidth","window","innerWidth","e","preventDefault","$emit","from","to","i","push","h","icon","fn","label","staticClass","class","attrs","on","click","color","isCurrentPage","ariaLabel","setBackgroundColor","$vuetify","lang","t","toString","items","map","index","key","isNaN","genItem","children","modifiers","quiet","classes","genIcon","rtl","previous","genItems","next","role","genList","module","exports","baseMixins","mixins","VTreeviewNodeProps","activatable","activeClass","expandIcon","indeterminateIcon","itemChildren","itemDisabled","itemKey","itemText","loadChildren","Function","loadingIcon","offIcon","onIcon","openOnClick","rounded","selectable","selectedColor","shaped","transition","selectionType","v","includes","VTreeviewNode","inject","treeview","level","item","Object","parentIsDisabled","data","hasLoaded","isActive","isIndeterminate","isLoading","isOpen","isSelected","filter","child","isExcluded","leaf","indeterminate","active","open","register","unregister","Promise","resolve","then","updateOpen","emitOpen","$scopedSlots","scopedProps","text","$createElement","slot","prepend","append","genPrependSlot","genLabel","genAppendSlot","VIcon","stopPropagation","checkChildren","undefined","updateSelected","emitSelected","computedIcon","genContent","unshift","genCheckbox","hasChildren","genToggle","genLevel","setTextColor","updateActive","emitActive","scopedSlots","c","genChild","genChildrenWrapper","genNode","genTransition","filterTreeItem","search","textKey","toLocaleLowerCase","indexOf","filterTreeItems","idKey","childrenKey","excluded","match","add","Array","dense","hoverable","multipleActive","openAll","returnObject","activeCache","Set","nodes","openCache","selectedCache","oldKeys","keys","k","newKeys","getKeys","diff","forEach","oldSelectedCache","buildTree","deep","handleNodeCacheWatcher","getValue","$slots","console","updateAll","parent","_getObjectValueByPath","oldNode","hasOwnProperty","vnode","node","calculateState","updateVnodeState","state","counts","reduce","emitNodeCache","event","cache","updateFn","emitFn","old","descendants","getDescendants","parents","delete","isForced","changed","Map","descendant","set","calculated","getParents","entries","isParent","excludedItems","has","options","bind"],"mappings":"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","file":"js/chunk-abf86e86.1017f3bb.js","sourcesContent":["import \"../../../src/components/VPagination/VPagination.sass\";\nimport VIcon from '../VIcon'; // Directives\n\nimport Resize from '../../directives/resize'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Intersectable from '../../mixins/intersectable';\nimport Themeable from '../../mixins/themeable'; // Utilities\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Colorable, Intersectable({\n onVisible: ['init']\n}), Themeable).extend({\n name: 'v-pagination',\n directives: {\n Resize\n },\n props: {\n circle: Boolean,\n disabled: Boolean,\n length: {\n type: Number,\n default: 0,\n validator: val => val % 1 === 0\n },\n nextIcon: {\n type: String,\n default: '$next'\n },\n prevIcon: {\n type: String,\n default: '$prev'\n },\n totalVisible: [Number, String],\n value: {\n type: Number,\n default: 0\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page'\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage'\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous'\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next'\n },\n wrapperAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.wrapper'\n }\n },\n\n data() {\n return {\n maxButtons: 0,\n selected: null\n };\n },\n\n computed: {\n classes() {\n return {\n 'v-pagination': true,\n 'v-pagination--circle': this.circle,\n 'v-pagination--disabled': this.disabled,\n ...this.themeClasses\n };\n },\n\n items() {\n const totalVisible = parseInt(this.totalVisible, 10);\n\n if (totalVisible === 0) {\n return [];\n }\n\n const maxLength = Math.min(Math.max(0, totalVisible) || this.length, Math.max(0, this.maxButtons) || this.length, this.length);\n\n if (this.length <= maxLength) {\n return this.range(1, this.length);\n }\n\n const even = maxLength % 2 === 0 ? 1 : 0;\n const left = Math.floor(maxLength / 2);\n const right = this.length - left + 1 + even;\n\n if (this.value > left && this.value < right) {\n const firstItem = 1;\n const lastItem = this.length;\n const start = this.value - left + 2;\n const end = this.value + left - 2 - even;\n const secondItem = start - 1 === firstItem + 1 ? 2 : '...';\n const beforeLastItem = end + 1 === lastItem - 1 ? end + 1 : '...';\n return [1, secondItem, ...this.range(start, end), beforeLastItem, this.length];\n } else if (this.value === left) {\n const end = this.value + left - 1 - even;\n return [...this.range(1, end), '...', this.length];\n } else if (this.value === right) {\n const start = this.value - left + 1;\n return [1, '...', ...this.range(start, this.length)];\n } else {\n return [...this.range(1, left), '...', ...this.range(right, this.length)];\n }\n }\n\n },\n watch: {\n value() {\n this.init();\n }\n\n },\n\n mounted() {\n this.init();\n },\n\n methods: {\n init() {\n this.selected = null;\n this.$nextTick(this.onResize); // TODO: Change this (f75dee3a, cbdf7caa)\n\n setTimeout(() => this.selected = this.value, 100);\n },\n\n onResize() {\n const width = this.$el && this.$el.parentElement ? this.$el.parentElement.clientWidth : window.innerWidth;\n this.maxButtons = Math.floor((width - 96) / 42);\n },\n\n next(e) {\n e.preventDefault();\n this.$emit('input', this.value + 1);\n this.$emit('next');\n },\n\n previous(e) {\n e.preventDefault();\n this.$emit('input', this.value - 1);\n this.$emit('previous');\n },\n\n range(from, to) {\n const range = [];\n from = from > 0 ? from : 1;\n\n for (let i = from; i <= to; i++) {\n range.push(i);\n }\n\n return range;\n },\n\n genIcon(h, icon, disabled, fn, label) {\n return h('li', [h('button', {\n staticClass: 'v-pagination__navigation',\n class: {\n 'v-pagination__navigation--disabled': disabled\n },\n attrs: {\n disabled,\n type: 'button',\n 'aria-label': label\n },\n on: disabled ? {} : {\n click: fn\n }\n }, [h(VIcon, [icon])])]);\n },\n\n genItem(h, i) {\n const color = i === this.value && (this.color || 'primary');\n const isCurrentPage = i === this.value;\n const ariaLabel = isCurrentPage ? this.currentPageAriaLabel : this.pageAriaLabel;\n return h('button', this.setBackgroundColor(color, {\n staticClass: 'v-pagination__item',\n class: {\n 'v-pagination__item--active': i === this.value\n },\n attrs: {\n type: 'button',\n 'aria-current': isCurrentPage,\n 'aria-label': this.$vuetify.lang.t(ariaLabel, i)\n },\n on: {\n click: () => this.$emit('input', i)\n }\n }), [i.toString()]);\n },\n\n genItems(h) {\n return this.items.map((i, index) => {\n return h('li', {\n key: index\n }, [isNaN(Number(i)) ? h('span', {\n class: 'v-pagination__more'\n }, [i.toString()]) : this.genItem(h, i)]);\n });\n },\n\n genList(h, children) {\n return h('ul', {\n directives: [{\n modifiers: {\n quiet: true\n },\n name: 'resize',\n value: this.onResize\n }],\n class: this.classes\n }, children);\n }\n\n },\n\n render(h) {\n const children = [this.genIcon(h, this.$vuetify.rtl ? this.nextIcon : this.prevIcon, this.value <= 1, this.previous, this.$vuetify.lang.t(this.previousAriaLabel)), this.genItems(h), this.genIcon(h, this.$vuetify.rtl ? this.prevIcon : this.nextIcon, this.value >= this.length, this.next, this.$vuetify.lang.t(this.nextAriaLabel))];\n return h('nav', {\n attrs: {\n role: 'navigation',\n 'aria-label': this.$vuetify.lang.t(this.wrapperAriaLabel)\n }\n }, [this.genList(h, children)]);\n }\n\n});\n//# sourceMappingURL=VPagination.js.map","module.exports = __webpack_public_path__ + \"img/folder.a2816f64.svg\";","// Components\nimport { VExpandTransition } from '../transitions';\nimport { VIcon } from '../VIcon'; // Mixins\n\nimport { inject as RegistrableInject } from '../../mixins/registrable';\nimport Colorable from '../../mixins/colorable'; // Utils\n\nimport mixins from '../../util/mixins';\nimport { getObjectValueByPath, createRange } from '../../util/helpers';\nconst baseMixins = mixins(Colorable, RegistrableInject('treeview'));\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,\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,\n default: 'leaf',\n validator: v => ['leaf', 'independent'].includes(v)\n }\n};\n/* @vue/component */\n\nconst VTreeviewNode = baseMixins.extend().extend({\n name: 'v-treeview-node',\n inject: {\n treeview: {\n default: null\n }\n },\n props: {\n level: Number,\n item: {\n type: Object,\n default: () => null\n },\n parentIsDisabled: Boolean,\n ...VTreeviewNodeProps\n },\n data: () => ({\n hasLoaded: false,\n isActive: false,\n isIndeterminate: false,\n isLoading: false,\n isOpen: false,\n isSelected: false\n }),\n computed: {\n disabled() {\n return getObjectValueByPath(this.item, this.itemDisabled) || this.parentIsDisabled && this.selectionType === 'leaf';\n },\n\n key() {\n return getObjectValueByPath(this.item, this.itemKey);\n },\n\n children() {\n const children = getObjectValueByPath(this.item, this.itemChildren);\n return children && children.filter(child => !this.treeview.isExcluded(getObjectValueByPath(child, this.itemKey)));\n },\n\n text() {\n return getObjectValueByPath(this.item, this.itemText);\n },\n\n scopedProps() {\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\n computedIcon() {\n if (this.isIndeterminate) return this.indeterminateIcon;else if (this.isSelected) return this.onIcon;else return this.offIcon;\n },\n\n hasChildren() {\n return !!this.children && (!!this.children.length || !!this.loadChildren);\n }\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() {\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 this.isLoading = true;\n resolve(this.loadChildren(this.item));\n }).then(() => {\n this.isLoading = false;\n this.hasLoaded = true;\n });\n },\n\n open() {\n this.isOpen = !this.isOpen;\n this.treeview.updateOpen(this.key, this.isOpen);\n this.treeview.emitOpen();\n },\n\n genLabel() {\n const children = [];\n if (this.$scopedSlots.label) children.push(this.$scopedSlots.label(this.scopedProps));else children.push(this.text);\n return this.$createElement('div', {\n slot: 'label',\n staticClass: 'v-treeview-node__label'\n }, children);\n },\n\n genPrependSlot() {\n if (!this.$scopedSlots.prepend) return null;\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__prepend'\n }, this.$scopedSlots.prepend(this.scopedProps));\n },\n\n genAppendSlot() {\n if (!this.$scopedSlots.append) return null;\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__append'\n }, this.$scopedSlots.append(this.scopedProps));\n },\n\n genContent() {\n const children = [this.genPrependSlot(), this.genLabel(), this.genAppendSlot()];\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__content'\n }, children);\n },\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 => {\n e.stopPropagation();\n if (this.isLoading) return;\n this.checkChildren().then(() => this.open());\n }\n }\n }, [this.isLoading ? this.loadingIcon : this.expandIcon]);\n },\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 => {\n e.stopPropagation();\n if (this.isLoading) return;\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 this.treeview.updateSelected(this.key, this.isSelected);\n this.treeview.emitSelected();\n });\n });\n }\n }\n }, [this.computedIcon]);\n },\n\n genLevel(level) {\n return createRange(level).map(() => this.$createElement('div', {\n staticClass: 'v-treeview-node__level'\n }));\n },\n\n genNode() {\n const children = [this.genContent()];\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 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\n genChild(item, parentIsDisabled) {\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\n genChildrenWrapper() {\n if (!this.isOpen || !this.children) return null;\n const children = [this.children.map(c => this.genChild(c, this.disabled))];\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__children'\n }, children);\n },\n\n genTransition() {\n return this.$createElement(VExpandTransition, [this.genChildrenWrapper()]);\n }\n\n },\n\n render(h) {\n const children = [this.genNode()];\n if (this.transition) children.push(this.genTransition());else children.push(this.genChildrenWrapper());\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//# sourceMappingURL=VTreeviewNode.js.map","import { getObjectValueByPath } from '../../../util/helpers';\nexport function filterTreeItem(item, search, textKey) {\n const text = getObjectValueByPath(item, textKey);\n return text.toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) > -1;\n}\nexport function filterTreeItems(filter, item, search, idKey, textKey, childrenKey, excluded) {\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\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 return false;\n}\n//# sourceMappingURL=filterTreeItems.js.map","// Styles\nimport \"../../../src/components/VTreeview/VTreeview.sass\"; // Components\n\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'; // Mixins\n\nimport Themeable from '../../mixins/themeable';\nimport { provide as RegistrableProvide } from '../../mixins/registrable'; // Utils\n\nimport { arrayDiff, deepEqual, getObjectValueByPath } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nimport { consoleWarn } from '../../util/console';\nimport { filterTreeItems, filterTreeItem } from './util/filterTreeItems';\nexport default mixins(RegistrableProvide('treeview'), Themeable\n/* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide() {\n return {\n treeview: this\n };\n },\n\n props: {\n active: {\n type: Array,\n default: () => []\n },\n dense: Boolean,\n filter: Function,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => []\n },\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => []\n },\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false\n },\n search: String,\n value: {\n type: Array,\n default: () => []\n },\n ...VTreeviewNodeProps\n },\n data: () => ({\n level: -1,\n activeCache: new Set(),\n nodes: {},\n openCache: new Set(),\n selectedCache: new Set()\n }),\n computed: {\n excludedItems() {\n const excluded = new Set();\n if (!this.search) return excluded;\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(this.filter || filterTreeItem, this.items[i], this.search, this.itemKey, this.itemText, this.itemChildren, excluded);\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); // We only want to do stuff if items have changed\n\n if (!diff.length && newKeys.length < oldKeys.length) return; // If nodes are removed we need to clear them from this.nodes\n\n diff.forEach(k => delete this.nodes[k]);\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); // 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\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected();\n },\n\n deep: true\n },\n\n active(value) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive);\n },\n\n value(value) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected);\n },\n\n open(value) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen);\n }\n\n },\n\n created() {\n const getValue = key => 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) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value));\n this.emitOpen();\n },\n\n getKeys(items, keys = []) {\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\n if (children) {\n keys.push(...this.getKeys(children));\n }\n }\n\n return keys;\n },\n\n buildTree(items, parent = null) {\n for (let i = 0; i < items.length; i++) {\n var _getObjectValueByPath;\n\n const item = items[i];\n const key = getObjectValueByPath(item, this.itemKey);\n const children = (_getObjectValueByPath = getObjectValueByPath(item, this.itemChildren)) != null ? _getObjectValueByPath : [];\n const oldNode = this.nodes.hasOwnProperty(key) ? this.nodes[key] : {\n isSelected: false,\n isIndeterminate: false,\n isActive: false,\n isOpen: false,\n vnode: null\n };\n const node = {\n vnode: oldNode.vnode,\n parent,\n children: children.map(c => getObjectValueByPath(c, this.itemKey)),\n item\n };\n this.buildTree(children, key); // This fixed bug with dynamic children resetting selected parent state\n\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 this.nodes[key] = node;\n\n if (children.length) {\n const {\n isSelected,\n isIndeterminate\n } = this.calculateState(key, this.nodes);\n node.isSelected = isSelected;\n node.isIndeterminate = isIndeterminate;\n } // Don't forget to rebuild cache\n\n\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 this.updateVnodeState(key);\n }\n },\n\n calculateState(node, state) {\n const children = state[node].children;\n const counts = children.reduce((counts, child) => {\n counts[0] += +Boolean(state[child].isSelected);\n counts[1] += +Boolean(state[child].isIndeterminate);\n return counts;\n }, [0, 0]);\n const isSelected = !!children.length && counts[0] === children.length;\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0);\n return {\n isSelected,\n isIndeterminate\n };\n },\n\n emitOpen() {\n this.emitNodeCache('update:open', this.openCache);\n },\n\n emitSelected() {\n this.emitNodeCache('input', this.selectedCache);\n },\n\n emitActive() {\n this.emitNodeCache('update:active', this.activeCache);\n },\n\n emitNodeCache(event, cache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache]);\n },\n\n handleNodeCacheWatcher(value, cache, updateFn, emitFn) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value;\n const old = [...cache];\n if (deepEqual(old, value)) return;\n old.forEach(key => updateFn(key, false));\n value.forEach(key => updateFn(key, true));\n emitFn();\n },\n\n getDescendants(key, descendants = []) {\n const children = this.nodes[key].children;\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\n getParents(key) {\n let parent = this.nodes[key].parent;\n const parents = [];\n\n while (parent !== null) {\n parents.push(parent);\n parent = this.nodes[parent].parent;\n }\n\n return parents;\n },\n\n register(node) {\n const key = getObjectValueByPath(node.item, this.itemKey);\n this.nodes[key].vnode = node;\n this.updateVnodeState(key);\n },\n\n unregister(node) {\n const key = getObjectValueByPath(node.item, this.itemKey);\n if (this.nodes[key]) this.nodes[key].vnode = null;\n },\n\n isParent(key) {\n return this.nodes[key].children && this.nodes[key].children.length;\n },\n\n updateActive(key, isActive) {\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 if (isActive) this.activeCache.add(key);else this.activeCache.delete(key);\n node.isActive = isActive;\n this.updateVnodeState(key);\n },\n\n updateSelected(key, isSelected, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return;\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 if (this.selectionType === 'leaf' && this.isParent(key)) continue;\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key);\n }\n },\n\n updateOpen(key, isOpen) {\n if (!this.nodes.hasOwnProperty(key)) return;\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 node.isOpen ? this.openCache.add(key) : this.openCache.delete(key);\n this.updateVnodeState(key);\n }\n },\n\n updateVnodeState(key) {\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\n isExcluded(key) {\n return !!this.search && this.excludedItems.has(key);\n }\n\n },\n\n render(h) {\n const children = this.items.length ? 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 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});\n//# sourceMappingURL=VTreeview.js.map"],"sourceRoot":""}