@dimailn/vuetify 2.7.2-alpha5 → 2.7.2-alpha7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/vuetify.js +49 -32
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAutocomplete/VAutocomplete.js +1 -1
  6. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  7. package/es5/components/VData/VData.js +14 -2
  8. package/es5/components/VData/VData.js.map +1 -1
  9. package/es5/components/VDataIterator/VDataIterator.js +1 -1
  10. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  11. package/es5/components/VDataTable/VDataTable.js +1 -1
  12. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  13. package/es5/components/VDataTable/VVirtualTable.js +1 -1
  14. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  15. package/es5/components/VDialog/VDialog.js +1 -1
  16. package/es5/components/VDialog/VDialog.js.map +1 -1
  17. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
  18. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  19. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
  20. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  21. package/es5/components/VInput/VInput.js +1 -1
  22. package/es5/components/VInput/VInput.js.map +1 -1
  23. package/es5/components/VList/VListGroup.js +1 -1
  24. package/es5/components/VList/VListGroup.js.map +1 -1
  25. package/es5/components/VMenu/VMenu.js +1 -1
  26. package/es5/components/VMenu/VMenu.js.map +1 -1
  27. package/es5/components/VStepper/VStepperContent.js +1 -1
  28. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  29. package/es5/components/VStepper/VStepperStep.js +1 -1
  30. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  31. package/es5/components/VTextField/VTextField.js +1 -1
  32. package/es5/components/VTextField/VTextField.js.map +1 -1
  33. package/es5/components/VTreeview/VTreeviewNode.js +1 -1
  34. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  35. package/es5/framework.js +1 -1
  36. package/es5/mixins/activatable/index.js +9 -4
  37. package/es5/mixins/activatable/index.js.map +1 -1
  38. package/es5/mixins/applicationable/index.js +1 -1
  39. package/es5/mixins/applicationable/index.js.map +1 -1
  40. package/es5/mixins/detachable/index.js +3 -3
  41. package/es5/mixins/detachable/index.js.map +1 -1
  42. package/es5/mixins/groupable/index.js +1 -1
  43. package/es5/mixins/groupable/index.js.map +1 -1
  44. package/es5/mixins/intersectable/index.js +1 -1
  45. package/es5/mixins/intersectable/index.js.map +1 -1
  46. package/es5/mixins/menuable/index.js +1 -1
  47. package/es5/mixins/menuable/index.js.map +1 -1
  48. package/es5/mixins/overlayable/index.js +1 -1
  49. package/es5/mixins/overlayable/index.js.map +1 -1
  50. package/es5/mixins/translatable/index.js +1 -1
  51. package/es5/mixins/translatable/index.js.map +1 -1
  52. package/es5/mixins/validatable/index.js +2 -2
  53. package/es5/mixins/validatable/index.js.map +1 -1
  54. package/lib/components/VAutocomplete/VAutocomplete.js +1 -1
  55. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  56. package/lib/components/VData/VData.js +15 -2
  57. package/lib/components/VData/VData.js.map +1 -1
  58. package/lib/components/VDataIterator/VDataIterator.js +1 -1
  59. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  60. package/lib/components/VDataTable/VDataTable.js +1 -1
  61. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  62. package/lib/components/VDataTable/VVirtualTable.js +1 -1
  63. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  64. package/lib/components/VDialog/VDialog.js +1 -1
  65. package/lib/components/VDialog/VDialog.js.map +1 -1
  66. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
  67. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  68. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
  69. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  70. package/lib/components/VInput/VInput.js +1 -1
  71. package/lib/components/VInput/VInput.js.map +1 -1
  72. package/lib/components/VList/VListGroup.js +1 -1
  73. package/lib/components/VList/VListGroup.js.map +1 -1
  74. package/lib/components/VMenu/VMenu.js +1 -1
  75. package/lib/components/VMenu/VMenu.js.map +1 -1
  76. package/lib/components/VStepper/VStepperContent.js +1 -1
  77. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  78. package/lib/components/VStepper/VStepperStep.js +1 -1
  79. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  80. package/lib/components/VTextField/VTextField.js +1 -1
  81. package/lib/components/VTextField/VTextField.js.map +1 -1
  82. package/lib/components/VTreeview/VTreeviewNode.js +1 -1
  83. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  84. package/lib/framework.js +1 -1
  85. package/lib/mixins/activatable/index.js +10 -5
  86. package/lib/mixins/activatable/index.js.map +1 -1
  87. package/lib/mixins/applicationable/index.js +1 -1
  88. package/lib/mixins/applicationable/index.js.map +1 -1
  89. package/lib/mixins/detachable/index.js +3 -3
  90. package/lib/mixins/detachable/index.js.map +1 -1
  91. package/lib/mixins/groupable/index.js +1 -1
  92. package/lib/mixins/groupable/index.js.map +1 -1
  93. package/lib/mixins/intersectable/index.js +1 -1
  94. package/lib/mixins/intersectable/index.js.map +1 -1
  95. package/lib/mixins/menuable/index.js +1 -1
  96. package/lib/mixins/menuable/index.js.map +1 -1
  97. package/lib/mixins/overlayable/index.js +1 -1
  98. package/lib/mixins/overlayable/index.js.map +1 -1
  99. package/lib/mixins/translatable/index.js +1 -1
  100. package/lib/mixins/translatable/index.js.map +1 -1
  101. package/lib/mixins/validatable/index.js +2 -2
  102. package/lib/mixins/validatable/index.js.map +1 -1
  103. package/package.json +1 -1
  104. package/src/components/VAutocomplete/VAutocomplete.ts +1 -1
  105. package/src/components/VData/VData.ts +12 -1
  106. package/src/components/VDataIterator/VDataIterator.ts +1 -1
  107. package/src/components/VDataTable/VDataTable.ts +1 -1
  108. package/src/components/VDataTable/VVirtualTable.ts +1 -1
  109. package/src/components/VDialog/VDialog.ts +1 -1
  110. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +1 -1
  111. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +1 -1
  112. package/src/components/VInput/VInput.ts +1 -1
  113. package/src/components/VList/VListGroup.ts +1 -1
  114. package/src/components/VMenu/VMenu.ts +1 -0
  115. package/src/components/VStepper/VStepperContent.ts +1 -1
  116. package/src/components/VStepper/VStepperStep.ts +1 -1
  117. package/src/components/VTextField/VTextField.ts +1 -1
  118. package/src/components/VTreeview/VTreeviewNode.ts +1 -1
  119. package/src/mixins/activatable/index.ts +8 -4
  120. package/src/mixins/applicationable/index.ts +1 -1
  121. package/src/mixins/detachable/index.ts +5 -5
  122. package/src/mixins/groupable/index.ts +1 -1
  123. package/src/mixins/intersectable/index.ts +1 -1
  124. package/src/mixins/menuable/index.ts +1 -1
  125. package/src/mixins/overlayable/index.ts +1 -1
  126. package/src/mixins/translatable/index.ts +1 -1
  127. package/src/mixins/validatable/index.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VAutocomplete/VAutocomplete.ts"],"names":[],"mappings":"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","sourcesContent":["// 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, defineComponent } 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 defineComponent({\n name: 'v-autocomplete',\n extends: VSelect,\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.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType<string | null>,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.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.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.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.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.methods.genInput.call(this)\n\n input.data = mergeData(input.props!, {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n value: this.internalSearch,\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.methods.genInputSlot.call(this)\n\n slot.props.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.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.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.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.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.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"],"sourceRoot":"","file":"VAutocomplete.js"}
1
+ {"version":3,"sources":["../../../src/components/VAutocomplete/VAutocomplete.ts"],"names":[],"mappings":"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","sourcesContent":["// 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, defineComponent } 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 defineComponent({\n name: 'v-autocomplete',\n extends: VSelect,\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.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType<string | null>,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.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.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.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 unmounted () {\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.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.methods.genInput.call(this)\n\n input.data = mergeData(input.props!, {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n value: this.internalSearch,\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.methods.genInputSlot.call(this)\n\n slot.props.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.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.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.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.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.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"],"sourceRoot":"","file":"VAutocomplete.js"}
@@ -200,8 +200,17 @@ export default defineComponent({
200
200
  this.$emit('update:options', options);
201
201
  },
202
202
 
203
- deep: true,
204
- immediate: true
203
+ deep: true
204
+ /*
205
+ In Vue 3 this watcher fires even before created hook and
206
+ if mounting fails and the consumer code relies on update:options event to fetch data
207
+ it causes infinite loop because each data update triggers an attempt to render a table,
208
+ but because mounting constantly fails(for example, due to error in slot) it never happens.
209
+ Previously, in Vue 2 slot errors didn't cause mounting failure, we had partially rendered component.
210
+ This immediate prop is compensated by firing event in mounted hook.
211
+ */
212
+ // immediate: true,
213
+
205
214
  },
206
215
 
207
216
  page(page) {
@@ -422,6 +431,10 @@ export default defineComponent({
422
431
 
423
432
  render() {
424
433
  return this.$slots.default && this.$slots.default(this.scopedProps)[0];
434
+ },
435
+
436
+ mounted() {
437
+ this.$emit('update:options', this.internalOptions);
425
438
  }
426
439
 
427
440
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VData/VData.ts"],"names":[],"mappings":"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","sourcesContent":["// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport { defineComponent, VNode } from 'vue'\n\n// Types\nimport {\n DataOptions,\n DataPagination,\n DataScopeProps,\n DataSortFunction,\n DataGroupFunction,\n DataSearchFunction,\n ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default defineComponent({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n options: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Partial<DataOptions>>,\n sortBy: {\n type: [String, Array],\n } as PropValidator<string | string[] | undefined>,\n sortDesc: {\n type: [Boolean, Array],\n } as PropValidator<boolean | boolean[] | undefined>,\n customSort: {\n type: Function,\n default: sortItems,\n } as PropValidator<DataSortFunction>,\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n groupDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customGroup: {\n type: Function,\n default: groupItems,\n } as PropValidator<DataGroupFunction>,\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems,\n } as PropValidator<DataSearchFunction>,\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n const sortDiff = sortBy.length - sortDesc.length\n const groupDiff = groupBy.length - groupDesc.length\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage <= 0\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if ((!this.disableSort || this.internalOptions.groupBy.length) && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): ItemGroup<any>[] | null {\n return this.isGrouped ? this.groupItems(this.computedItems) : null\n },\n scopedProps (): DataScopeProps {\n return {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n },\n deep: true,\n immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n pagination: {\n handler (pagination: DataPagination, old: DataPagination) {\n if (deepEqual(pagination, old)) return\n this.$emit('pagination', this.pagination)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.internalOptions.mustSort,\n this.internalOptions.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]): any[] {\n let sortBy: string[] = []\n let sortDesc: boolean[] = []\n\n if (!this.disableSort) {\n sortBy = this.internalOptions.sortBy\n sortDesc = this.internalOptions.sortDesc\n }\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy]\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n groupItems (items: any[]): ItemGroup<any>[] {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n },\n paginateItems (items: any[]): any[] {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage)) || 1 // Prevent NaN\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$slots.default && this.$slots.default(this.scopedProps)[0] as any\n },\n})\n"],"sourceRoot":"","file":"VData.js"}
1
+ {"version":3,"sources":["../../../src/components/VData/VData.ts"],"names":[],"mappings":"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","sourcesContent":["// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport { defineComponent, VNode } from 'vue'\n\n// Types\nimport {\n DataOptions,\n DataPagination,\n DataScopeProps,\n DataSortFunction,\n DataGroupFunction,\n DataSearchFunction,\n ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default defineComponent({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n options: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Partial<DataOptions>>,\n sortBy: {\n type: [String, Array],\n } as PropValidator<string | string[] | undefined>,\n sortDesc: {\n type: [Boolean, Array],\n } as PropValidator<boolean | boolean[] | undefined>,\n customSort: {\n type: Function,\n default: sortItems,\n } as PropValidator<DataSortFunction>,\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n groupDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customGroup: {\n type: Function,\n default: groupItems,\n } as PropValidator<DataGroupFunction>,\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems,\n } as PropValidator<DataSearchFunction>,\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n const sortDiff = sortBy.length - sortDesc.length\n const groupDiff = groupBy.length - groupDesc.length\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage <= 0\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if ((!this.disableSort || this.internalOptions.groupBy.length) && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): ItemGroup<any>[] | null {\n return this.isGrouped ? this.groupItems(this.computedItems) : null\n },\n scopedProps (): DataScopeProps {\n return {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n },\n deep: true,\n /*\n In Vue 3 this watcher fires even before created hook and\n if mounting fails and the consumer code relies on update:options event to fetch data\n it causes infinite loop because each data update triggers an attempt to render a table,\n but because mounting constantly fails(for example, due to error in slot) it never happens.\n Previously, in Vue 2 slot errors didn't cause mounting failure, we had partially rendered component.\n This immediate prop is compensated by firing event in mounted hook.\n */\n // immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n pagination: {\n handler (pagination: DataPagination, old: DataPagination) {\n if (deepEqual(pagination, old)) return\n this.$emit('pagination', this.pagination)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.internalOptions.mustSort,\n this.internalOptions.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]): any[] {\n let sortBy: string[] = []\n let sortDesc: boolean[] = []\n\n if (!this.disableSort) {\n sortBy = this.internalOptions.sortBy\n sortDesc = this.internalOptions.sortDesc\n }\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy]\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n groupItems (items: any[]): ItemGroup<any>[] {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n },\n paginateItems (items: any[]): any[] {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage)) || 1 // Prevent NaN\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$slots.default && this.$slots.default(this.scopedProps)[0] as any\n },\n mounted() {\n this.$emit('update:options', this.internalOptions)\n },\n})\n"],"sourceRoot":"","file":"VData.js"}
@@ -132,7 +132,7 @@ export default mixins(Mobile, Themeable).extend({
132
132
  window.addEventListener('keyup', this.onKeyUp);
133
133
  },
134
134
 
135
- beforeDestroy() {
135
+ beforeUnmount() {
136
136
  window.removeEventListener('keydown', this.onKeyDown);
137
137
  window.removeEventListener('keyup', this.onKeyUp);
138
138
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDataIterator/VDataIterator.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport { VData } from '../VData'\nimport VDataFooter from './VDataFooter'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, camelizeObjectKeys, keyCodes } from '../../util/helpers'\nimport { breaking, removed } from '../../util/console'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { DataItemProps, DataScopeProps } from 'vuetify/types'\n\n/* @vue/component */\nexport default mixins(\n Mobile,\n Themeable\n).extend({\n name: 'v-data-iterator',\n\n props: {\n ...VData.props, // TODO: filter out props not used\n itemKey: {\n type: String,\n default: 'id',\n },\n value: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n singleSelect: Boolean,\n expanded: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n mobileBreakpoint: {\n ...Mobile.props.mobileBreakpoint,\n default: 600,\n },\n singleExpand: Boolean,\n loading: [Boolean, String],\n noResultsText: {\n type: String,\n default: '$vuetify.dataIterator.noResultsText',\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideDefaultFooter: Boolean,\n footerProps: Object,\n selectableKey: {\n type: String,\n default: 'isSelectable',\n },\n },\n\n data: () => ({\n selection: {} as Record<string, any>,\n expansion: {} as Record<string, boolean>,\n internalCurrentItems: [] as any[],\n shiftKeyDown: false,\n lastEntry: -1,\n }),\n\n computed: {\n everyItem (): boolean {\n return !!this.selectableItems.length && this.selectableItems.every((i: any) => this.isSelected(i))\n },\n someItems (): boolean {\n return this.selectableItems.some((i: any) => this.isSelected(i))\n },\n sanitizedFooterProps (): Record<string, any> {\n return camelizeObjectKeys(this.footerProps)\n },\n selectableItems (): any[] {\n return this.internalCurrentItems.filter(item => this.isSelectable(item))\n },\n },\n\n watch: {\n value: {\n handler (value: any[]) {\n this.selection = value.reduce((selection, item) => {\n selection[getObjectValueByPath(item, this.itemKey)] = item\n return selection\n }, {})\n },\n immediate: true,\n },\n selection (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(Object.keys(value), Object.keys(old))) return\n\n this.$emit('input', Object.values(value))\n },\n expanded: {\n handler (value: any[]) {\n this.expansion = value.reduce((expansion, item) => {\n expansion[getObjectValueByPath(item, this.itemKey)] = true\n return expansion\n }, {})\n },\n immediate: true,\n },\n expansion (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(value, old)) return\n const keys = Object.keys(value).filter(k => value[k])\n const expanded = !keys.length ? [] : this.items.filter(i => keys.includes(String(getObjectValueByPath(i, this.itemKey))))\n this.$emit('update:expanded', expanded)\n },\n },\n\n created () {\n const breakingProps = [\n ['disable-initial-sort', 'sort-by'],\n ['filter', 'custom-filter'],\n ['pagination', 'options'],\n ['total-items', 'server-items-length'],\n ['hide-actions', 'hide-default-footer'],\n ['rows-per-page-items', 'footer-props.items-per-page-options'],\n ['rows-per-page-text', 'footer-props.items-per-page-text'],\n ['prev-icon', 'footer-props.prev-icon'],\n ['next-icon', 'footer-props.next-icon'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const removedProps = [\n 'expand',\n 'content-class',\n 'content-props',\n 'content-tag',\n ]\n\n /* istanbul ignore next */\n removedProps.forEach(prop => {\n if (this.$attrs.hasOwnProperty(prop)) removed(prop)\n })\n },\n\n mounted () {\n window.addEventListener('keydown', this.onKeyDown)\n window.addEventListener('keyup', this.onKeyUp)\n },\n beforeDestroy () {\n window.removeEventListener('keydown', this.onKeyDown)\n window.removeEventListener('keyup', this.onKeyUp)\n },\n\n methods: {\n onKeyDown (e: KeyboardEvent): void {\n this.shiftKeyDown = e.keyCode === keyCodes.shift || e.shiftKey\n },\n onKeyUp (e: KeyboardEvent): void {\n if (e.keyCode === keyCodes.shift || !e.shiftKey) {\n this.shiftKeyDown = false\n }\n },\n toggleSelectAll (value: boolean): void {\n const selection = Object.assign({}, this.selection)\n\n for (let i = 0; i < this.selectableItems.length; i++) {\n const item = this.selectableItems[i]\n\n if (!this.isSelectable(item)) continue\n\n const key = getObjectValueByPath(item, this.itemKey)\n if (value) selection[key] = item\n else delete selection[key]\n }\n\n this.selection = selection\n this.$emit('toggle-select-all', { items: this.internalCurrentItems, value })\n },\n isSelectable (item: any): boolean {\n return getObjectValueByPath(item, this.selectableKey) !== false\n },\n isSelected (item: any): boolean {\n return !!this.selection[getObjectValueByPath(item, this.itemKey)] || false\n },\n select (item: any, value = true, emit = true): void {\n if (!this.isSelectable(item)) return\n\n const selection = this.singleSelect ? {} : Object.assign({}, this.selection)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) selection[key] = item\n else delete selection[key]\n\n const index = this.selectableItems.findIndex(x => getObjectValueByPath(x, this.itemKey) === key)\n if (this.lastEntry === -1) this.lastEntry = index\n else if (this.shiftKeyDown && !this.singleSelect && emit) {\n const lastEntryKey = getObjectValueByPath(this.selectableItems[this.lastEntry], this.itemKey)\n const lastEntryKeySelected = Object.keys(this.selection).includes(String(lastEntryKey))\n this.multipleSelect(lastEntryKeySelected, emit, selection, index)\n }\n this.lastEntry = index\n\n if (this.singleSelect && emit) {\n const keys = Object.keys(this.selection)\n const old = keys.length && getObjectValueByPath(this.selection[keys[0]], this.itemKey)\n old && old !== key && this.$emit('item-selected', { item: this.selection[old], value: false })\n }\n this.selection = selection\n emit && this.$emit('item-selected', { item, value })\n },\n multipleSelect (value = true, emit = true, selection: any, index: number): void {\n const start = index < this.lastEntry ? index : this.lastEntry\n const end = index < this.lastEntry ? this.lastEntry : index\n for (let i = start; i <= end; i++) {\n const currentItem = this.selectableItems[i]\n const key = getObjectValueByPath(currentItem, this.itemKey)\n if (value) selection[key] = currentItem\n else delete selection[key]\n emit && this.$emit('item-selected', { currentItem, value })\n }\n },\n isExpanded (item: any): boolean {\n return this.expansion[getObjectValueByPath(item, this.itemKey)] || false\n },\n expand (item: any, value = true): void {\n const expansion = this.singleExpand ? {} : Object.assign({}, this.expansion)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) expansion[key] = true\n else delete expansion[key]\n\n this.expansion = expansion\n this.$emit('item-expanded', { item, value })\n },\n createItemProps (item: any, index: number): DataItemProps {\n return {\n item,\n index,\n select: (v: boolean) => this.select(item, v),\n isSelected: this.isSelected(item),\n expand: (v: boolean) => this.expand(item, v),\n isExpanded: this.isExpanded(item),\n isMobile: this.isMobile,\n }\n },\n genEmptyWrapper (content: VNodeChildren) {\n return h('div', content)\n },\n genEmpty (originalItemsLength: number, filteredItemsLength: number) {\n if (originalItemsLength === 0 && this.loading) {\n const loading = getSlot(this, 'loading') || this.$vuetify.lang.t(this.loadingText)\n return this.genEmptyWrapper(loading)\n } else if (originalItemsLength === 0) {\n const noData = getSlot(this, 'noData') || this.$vuetify.lang.t(this.noDataText)\n return this.genEmptyWrapper(noData)\n } else if (filteredItemsLength === 0) {\n const noResults = getSlot(this, 'noResults') || this.$vuetify.lang.t(this.noResultsText)\n return this.genEmptyWrapper(noResults)\n }\n\n return null\n },\n genItems (props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n if (this.$slots.default) {\n return this.$slots.default({\n ...props,\n isSelected: this.isSelected,\n select: this.select,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n expand: this.expand,\n })\n }\n\n if (this.$slots.item) {\n return props.items.map((item: any, index) => this.$slots.item!(this.createItemProps(\n item,\n index\n )))\n }\n\n return []\n },\n genFooter (props: DataScopeProps) {\n if (this.hideDefaultFooter) return null\n\n const data = {\n ...this.sanitizedFooterProps,\n options: props.options,\n pagination: props.pagination,\n 'onUpdate:options': (value: any) => props.updateOptions(value)\n }\n\n const scopedSlots = getPrefixedScopedSlots('footer.', this.$slots)\n\n return h(VDataFooter, {\n scopedSlots,\n ...data,\n })\n },\n genDefaultScopedSlot (props: any) {\n const outerProps = {\n ...props,\n someItems: this.someItems,\n everyItem: this.everyItem,\n toggleSelectAll: this.toggleSelectAll,\n }\n\n return h('div', {\n class: 'v-data-iterator',\n }, [\n getSlot(this, 'header', outerProps, true),\n this.genItems(props),\n this.genFooter(props),\n getSlot(this, 'footer', outerProps, true),\n ])\n },\n },\n\n render (): VNode {\n return h(VData, {\n props: this.$props,\n on: {\n 'update:options': (v: any, old: any) => !deepEqual(v, old) && this.$emit('update:options', v),\n 'update:page': (v: any) => this.$emit('update:page', v),\n 'update:items-per-page': (v: any) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: any) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: any) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: any) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: any) => this.$emit('update:group-desc', v),\n pagination: (v: any, old: any) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n"],"sourceRoot":"","file":"VDataIterator.js"}
1
+ {"version":3,"sources":["../../../src/components/VDataIterator/VDataIterator.ts"],"names":[],"mappings":"AAAA;AACA,SAAS,KAAT,QAAsB,UAAtB;AACA,OAAO,WAAP,MAAwB,eAAxB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,qBAAnB;AACA,OAAO,SAAP,MAAsB,wBAAtB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,SAAT,EAAoB,oBAApB,EAA0C,sBAA1C,EAAkE,OAAlE,EAA2E,kBAA3E,EAA+F,QAA/F,QAA+G,oBAA/G;AACA,SAAS,QAAT,EAAmB,OAAnB,QAAkC,oBAAlC;AAOA;;AACA,eAAe,MAAM,CACnB,MADmB,EAEnB,SAFmB,CAAN,CAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,iBADC;AAGP,EAAA,KAAK,EAAE,EACL,GAAG,KAAK,CAAC,KADJ;AAEL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP,MAAA,OAAO,EAAE;AAFF,KAFJ;AAML,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,KADD;AAEL,MAAA,OAAO,EAAE,MAAM;AAFV,KANF;AAUL,IAAA,YAAY,EAAE,OAVT;AAWL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,KADE;AAER,MAAA,OAAO,EAAE,MAAM;AAFP,KAXL;AAeL,IAAA,gBAAgB,EAAE,EAChB,GAAG,MAAM,CAAC,KAAP,CAAa,gBADA;AAEhB,MAAA,OAAO,EAAE;AAFO,KAfb;AAmBL,IAAA,YAAY,EAAE,OAnBT;AAoBL,IAAA,OAAO,EAAE,CAAC,OAAD,EAAU,MAAV,CApBJ;AAqBL,IAAA,aAAa,EAAE;AACb,MAAA,IAAI,EAAE,MADO;AAEb,MAAA,OAAO,EAAE;AAFI,KArBV;AAyBL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC,KAzBP;AA6BL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,MADK;AAEX,MAAA,OAAO,EAAE;AAFE,KA7BR;AAiCL,IAAA,iBAAiB,EAAE,OAjCd;AAkCL,IAAA,WAAW,EAAE,MAlCR;AAmCL,IAAA,aAAa,EAAE;AACb,MAAA,IAAI,EAAE,MADO;AAEb,MAAA,OAAO,EAAE;AAFI;AAnCV,GAHA;AA4CP,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,SAAS,EAAE,EADA;AAEX,IAAA,SAAS,EAAE,EAFA;AAGX,IAAA,oBAAoB,EAAE,EAHX;AAIX,IAAA,YAAY,EAAE,KAJH;AAKX,IAAA,SAAS,EAAE,CAAC;AALD,GAAP,CA5CC;AAoDP,EAAA,QAAQ,EAAE;AACR,IAAA,SAAS,GAAA;AACP,aAAO,CAAC,CAAC,KAAK,eAAL,CAAqB,MAAvB,IAAiC,KAAK,eAAL,CAAqB,KAArB,CAA4B,CAAD,IAAY,KAAK,UAAL,CAAgB,CAAhB,CAAvC,CAAxC;AACD,KAHO;;AAIR,IAAA,SAAS,GAAA;AACP,aAAO,KAAK,eAAL,CAAqB,IAArB,CAA2B,CAAD,IAAY,KAAK,UAAL,CAAgB,CAAhB,CAAtC,CAAP;AACD,KANO;;AAOR,IAAA,oBAAoB,GAAA;AAClB,aAAO,kBAAkB,CAAC,KAAK,WAAN,CAAzB;AACD,KATO;;AAUR,IAAA,eAAe,GAAA;AACb,aAAO,KAAK,oBAAL,CAA0B,MAA1B,CAAiC,IAAI,IAAI,KAAK,YAAL,CAAkB,IAAlB,CAAzC,CAAP;AACD;;AAZO,GApDH;AAmEP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AACL,MAAA,OAAO,CAAE,KAAF,EAAc;AACnB,aAAK,SAAL,GAAiB,KAAK,CAAC,MAAN,CAAa,CAAC,SAAD,EAAY,IAAZ,KAAoB;AAChD,UAAA,SAAS,CAAC,oBAAoB,CAAC,IAAD,EAAO,KAAK,OAAZ,CAArB,CAAT,GAAsD,IAAtD;AACA,iBAAO,SAAP;AACD,SAHgB,EAGd,EAHc,CAAjB;AAID,OANI;;AAOL,MAAA,SAAS,EAAE;AAPN,KADF;;AAUL,IAAA,SAAS,CAAE,KAAF,EAAkC,GAAlC,EAA8D;AACrE,UAAI,SAAS,CAAC,MAAM,CAAC,IAAP,CAAY,KAAZ,CAAD,EAAqB,MAAM,CAAC,IAAP,CAAY,GAAZ,CAArB,CAAb,EAAqD;AAErD,WAAK,KAAL,CAAW,OAAX,EAAoB,MAAM,CAAC,MAAP,CAAc,KAAd,CAApB;AACD,KAdI;;AAeL,IAAA,QAAQ,EAAE;AACR,MAAA,OAAO,CAAE,KAAF,EAAc;AACnB,aAAK,SAAL,GAAiB,KAAK,CAAC,MAAN,CAAa,CAAC,SAAD,EAAY,IAAZ,KAAoB;AAChD,UAAA,SAAS,CAAC,oBAAoB,CAAC,IAAD,EAAO,KAAK,OAAZ,CAArB,CAAT,GAAsD,IAAtD;AACA,iBAAO,SAAP;AACD,SAHgB,EAGd,EAHc,CAAjB;AAID,OANO;;AAOR,MAAA,SAAS,EAAE;AAPH,KAfL;;AAwBL,IAAA,SAAS,CAAE,KAAF,EAAkC,GAAlC,EAA8D;AACrE,UAAI,SAAS,CAAC,KAAD,EAAQ,GAAR,CAAb,EAA2B;AAC3B,YAAM,IAAI,GAAG,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,MAAnB,CAA0B,CAAC,IAAI,KAAK,CAAC,CAAD,CAApC,CAAb;AACA,YAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAN,GAAe,EAAf,GAAoB,KAAK,KAAL,CAAW,MAAX,CAAkB,CAAC,IAAI,IAAI,CAAC,QAAL,CAAc,MAAM,CAAC,oBAAoB,CAAC,CAAD,EAAI,KAAK,OAAT,CAArB,CAApB,CAAvB,CAArC;AACA,WAAK,KAAL,CAAW,iBAAX,EAA8B,QAA9B;AACD;;AA7BI,GAnEA;;AAmGP,EAAA,OAAO,GAAA;AACL,UAAM,aAAa,GAAG,CACpB,CAAC,sBAAD,EAAyB,SAAzB,CADoB,EAEpB,CAAC,QAAD,EAAW,eAAX,CAFoB,EAGpB,CAAC,YAAD,EAAe,SAAf,CAHoB,EAIpB,CAAC,aAAD,EAAgB,qBAAhB,CAJoB,EAKpB,CAAC,cAAD,EAAiB,qBAAjB,CALoB,EAMpB,CAAC,qBAAD,EAAwB,qCAAxB,CANoB,EAOpB,CAAC,oBAAD,EAAuB,kCAAvB,CAPoB,EAQpB,CAAC,WAAD,EAAc,wBAAd,CARoB,EASpB,CAAC,WAAD,EAAc,wBAAd,CAToB,CAAtB;AAYA;;AACA,IAAA,aAAa,CAAC,OAAd,CAAsB,CAAC,CAAC,QAAD,EAAW,WAAX,CAAD,KAA4B;AAChD,UAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,QAA3B,CAAJ,EAA0C,QAAQ,CAAC,QAAD,EAAW,WAAX,EAAwB,IAAxB,CAAR;AAC3C,KAFD;AAIA,UAAM,YAAY,GAAG,CACnB,QADmB,EAEnB,eAFmB,EAGnB,eAHmB,EAInB,aAJmB,CAArB;AAOA;;AACA,IAAA,YAAY,CAAC,OAAb,CAAqB,IAAI,IAAG;AAC1B,UAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,IAA3B,CAAJ,EAAsC,OAAO,CAAC,IAAD,CAAP;AACvC,KAFD;AAGD,GAhIM;;AAkIP,EAAA,OAAO,GAAA;AACL,IAAA,MAAM,CAAC,gBAAP,CAAwB,SAAxB,EAAmC,KAAK,SAAxC;AACA,IAAA,MAAM,CAAC,gBAAP,CAAwB,OAAxB,EAAiC,KAAK,OAAtC;AACD,GArIM;;AAsIP,EAAA,aAAa,GAAA;AACX,IAAA,MAAM,CAAC,mBAAP,CAA2B,SAA3B,EAAsC,KAAK,SAA3C;AACA,IAAA,MAAM,CAAC,mBAAP,CAA2B,OAA3B,EAAoC,KAAK,OAAzC;AACD,GAzIM;;AA2IP,EAAA,OAAO,EAAE;AACP,IAAA,SAAS,CAAE,CAAF,EAAkB;AACzB,WAAK,YAAL,GAAoB,CAAC,CAAC,OAAF,KAAc,QAAQ,CAAC,KAAvB,IAAgC,CAAC,CAAC,QAAtD;AACD,KAHM;;AAIP,IAAA,OAAO,CAAE,CAAF,EAAkB;AACvB,UAAI,CAAC,CAAC,OAAF,KAAc,QAAQ,CAAC,KAAvB,IAAgC,CAAC,CAAC,CAAC,QAAvC,EAAiD;AAC/C,aAAK,YAAL,GAAoB,KAApB;AACD;AACF,KARM;;AASP,IAAA,eAAe,CAAE,KAAF,EAAgB;AAC7B,YAAM,SAAS,GAAG,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,KAAK,SAAvB,CAAlB;;AAEA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,eAAL,CAAqB,MAAzC,EAAiD,CAAC,EAAlD,EAAsD;AACpD,cAAM,IAAI,GAAG,KAAK,eAAL,CAAqB,CAArB,CAAb;AAEA,YAAI,CAAC,KAAK,YAAL,CAAkB,IAAlB,CAAL,EAA8B;AAE9B,cAAM,GAAG,GAAG,oBAAoB,CAAC,IAAD,EAAO,KAAK,OAAZ,CAAhC;AACA,YAAI,KAAJ,EAAW,SAAS,CAAC,GAAD,CAAT,GAAiB,IAAjB,CAAX,KACK,OAAO,SAAS,CAAC,GAAD,CAAhB;AACN;;AAED,WAAK,SAAL,GAAiB,SAAjB;AACA,WAAK,KAAL,CAAW,mBAAX,EAAgC;AAAE,QAAA,KAAK,EAAE,KAAK,oBAAd;AAAoC,QAAA;AAApC,OAAhC;AACD,KAxBM;;AAyBP,IAAA,YAAY,CAAE,IAAF,EAAW;AACrB,aAAO,oBAAoB,CAAC,IAAD,EAAO,KAAK,aAAZ,CAApB,KAAmD,KAA1D;AACD,KA3BM;;AA4BP,IAAA,UAAU,CAAE,IAAF,EAAW;AACnB,aAAO,CAAC,CAAC,KAAK,SAAL,CAAe,oBAAoB,CAAC,IAAD,EAAO,KAAK,OAAZ,CAAnC,CAAF,IAA8D,KAArE;AACD,KA9BM;;AA+BP,IAAA,MAAM,CAAE,IAAF,EAAa,KAAK,GAAG,IAArB,EAA2B,IAAI,GAAG,IAAlC,EAAsC;AAC1C,UAAI,CAAC,KAAK,YAAL,CAAkB,IAAlB,CAAL,EAA8B;AAE9B,YAAM,SAAS,GAAG,KAAK,YAAL,GAAoB,EAApB,GAAyB,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,KAAK,SAAvB,CAA3C;AACA,YAAM,GAAG,GAAG,oBAAoB,CAAC,IAAD,EAAO,KAAK,OAAZ,CAAhC;AAEA,UAAI,KAAJ,EAAW,SAAS,CAAC,GAAD,CAAT,GAAiB,IAAjB,CAAX,KACK,OAAO,SAAS,CAAC,GAAD,CAAhB;AAEL,YAAM,KAAK,GAAG,KAAK,eAAL,CAAqB,SAArB,CAA+B,CAAC,IAAI,oBAAoB,CAAC,CAAD,EAAI,KAAK,OAAT,CAApB,KAA0C,GAA9E,CAAd;AACA,UAAI,KAAK,SAAL,KAAmB,CAAC,CAAxB,EAA2B,KAAK,SAAL,GAAiB,KAAjB,CAA3B,KACK,IAAI,KAAK,YAAL,IAAqB,CAAC,KAAK,YAA3B,IAA2C,IAA/C,EAAqD;AACxD,cAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,eAAL,CAAqB,KAAK,SAA1B,CAAD,EAAuC,KAAK,OAA5C,CAAzC;AACA,cAAM,oBAAoB,GAAG,MAAM,CAAC,IAAP,CAAY,KAAK,SAAjB,EAA4B,QAA5B,CAAqC,MAAM,CAAC,YAAD,CAA3C,CAA7B;AACA,aAAK,cAAL,CAAoB,oBAApB,EAA0C,IAA1C,EAAgD,SAAhD,EAA2D,KAA3D;AACD;AACD,WAAK,SAAL,GAAiB,KAAjB;;AAEA,UAAI,KAAK,YAAL,IAAqB,IAAzB,EAA+B;AAC7B,cAAM,IAAI,GAAG,MAAM,CAAC,IAAP,CAAY,KAAK,SAAjB,CAAb;AACA,cAAM,GAAG,GAAG,IAAI,CAAC,MAAL,IAAe,oBAAoB,CAAC,KAAK,SAAL,CAAe,IAAI,CAAC,CAAD,CAAnB,CAAD,EAA0B,KAAK,OAA/B,CAA/C;AACA,QAAA,GAAG,IAAI,GAAG,KAAK,GAAf,IAAsB,KAAK,KAAL,CAAW,eAAX,EAA4B;AAAE,UAAA,IAAI,EAAE,KAAK,SAAL,CAAe,GAAf,CAAR;AAA6B,UAAA,KAAK,EAAE;AAApC,SAA5B,CAAtB;AACD;;AACD,WAAK,SAAL,GAAiB,SAAjB;AACA,MAAA,IAAI,IAAI,KAAK,KAAL,CAAW,eAAX,EAA4B;AAAE,QAAA,IAAF;AAAQ,QAAA;AAAR,OAA5B,CAAR;AACD,KAxDM;;AAyDP,IAAA,cAAc,CAAE,KAAK,GAAG,IAAV,EAAgB,IAAI,GAAG,IAAvB,EAA6B,SAA7B,EAA6C,KAA7C,EAA0D;AACtE,YAAM,KAAK,GAAG,KAAK,GAAG,KAAK,SAAb,GAAyB,KAAzB,GAAiC,KAAK,SAApD;AACA,YAAM,GAAG,GAAG,KAAK,GAAG,KAAK,SAAb,GAAyB,KAAK,SAA9B,GAA0C,KAAtD;;AACA,WAAK,IAAI,CAAC,GAAG,KAAb,EAAoB,CAAC,IAAI,GAAzB,EAA8B,CAAC,EAA/B,EAAmC;AACjC,cAAM,WAAW,GAAG,KAAK,eAAL,CAAqB,CAArB,CAApB;AACA,cAAM,GAAG,GAAG,oBAAoB,CAAC,WAAD,EAAc,KAAK,OAAnB,CAAhC;AACA,YAAI,KAAJ,EAAW,SAAS,CAAC,GAAD,CAAT,GAAiB,WAAjB,CAAX,KACK,OAAO,SAAS,CAAC,GAAD,CAAhB;AACL,QAAA,IAAI,IAAI,KAAK,KAAL,CAAW,eAAX,EAA4B;AAAE,UAAA,WAAF;AAAe,UAAA;AAAf,SAA5B,CAAR;AACD;AACF,KAnEM;;AAoEP,IAAA,UAAU,CAAE,IAAF,EAAW;AACnB,aAAO,KAAK,SAAL,CAAe,oBAAoB,CAAC,IAAD,EAAO,KAAK,OAAZ,CAAnC,KAA4D,KAAnE;AACD,KAtEM;;AAuEP,IAAA,MAAM,CAAE,IAAF,EAAa,KAAK,GAAG,IAArB,EAAyB;AAC7B,YAAM,SAAS,GAAG,KAAK,YAAL,GAAoB,EAApB,GAAyB,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,KAAK,SAAvB,CAA3C;AACA,YAAM,GAAG,GAAG,oBAAoB,CAAC,IAAD,EAAO,KAAK,OAAZ,CAAhC;AAEA,UAAI,KAAJ,EAAW,SAAS,CAAC,GAAD,CAAT,GAAiB,IAAjB,CAAX,KACK,OAAO,SAAS,CAAC,GAAD,CAAhB;AAEL,WAAK,SAAL,GAAiB,SAAjB;AACA,WAAK,KAAL,CAAW,eAAX,EAA4B;AAAE,QAAA,IAAF;AAAQ,QAAA;AAAR,OAA5B;AACD,KAhFM;;AAiFP,IAAA,eAAe,CAAE,IAAF,EAAa,KAAb,EAA0B;AACvC,aAAO;AACL,QAAA,IADK;AAEL,QAAA,KAFK;AAGL,QAAA,MAAM,EAAG,CAAD,IAAgB,KAAK,MAAL,CAAY,IAAZ,EAAkB,CAAlB,CAHnB;AAIL,QAAA,UAAU,EAAE,KAAK,UAAL,CAAgB,IAAhB,CAJP;AAKL,QAAA,MAAM,EAAG,CAAD,IAAgB,KAAK,MAAL,CAAY,IAAZ,EAAkB,CAAlB,CALnB;AAML,QAAA,UAAU,EAAE,KAAK,UAAL,CAAgB,IAAhB,CANP;AAOL,QAAA,QAAQ,EAAE,KAAK;AAPV,OAAP;AASD,KA3FM;;AA4FP,IAAA,eAAe,CAAE,OAAF,EAAwB;AACrC,aAAO,CAAC,CAAC,KAAD,EAAQ,OAAR,CAAR;AACD,KA9FM;;AA+FP,IAAA,QAAQ,CAAE,mBAAF,EAA+B,mBAA/B,EAA0D;AAChE,UAAI,mBAAmB,KAAK,CAAxB,IAA6B,KAAK,OAAtC,EAA+C;AAC7C,cAAM,OAAO,GAAG,OAAO,CAAC,IAAD,EAAO,SAAP,CAAP,IAA4B,KAAK,QAAL,CAAc,IAAd,CAAmB,CAAnB,CAAqB,KAAK,WAA1B,CAA5C;AACA,eAAO,KAAK,eAAL,CAAqB,OAArB,CAAP;AACD,OAHD,MAGO,IAAI,mBAAmB,KAAK,CAA5B,EAA+B;AACpC,cAAM,MAAM,GAAG,OAAO,CAAC,IAAD,EAAO,QAAP,CAAP,IAA2B,KAAK,QAAL,CAAc,IAAd,CAAmB,CAAnB,CAAqB,KAAK,UAA1B,CAA1C;AACA,eAAO,KAAK,eAAL,CAAqB,MAArB,CAAP;AACD,OAHM,MAGA,IAAI,mBAAmB,KAAK,CAA5B,EAA+B;AACpC,cAAM,SAAS,GAAG,OAAO,CAAC,IAAD,EAAO,WAAP,CAAP,IAA8B,KAAK,QAAL,CAAc,IAAd,CAAmB,CAAnB,CAAqB,KAAK,aAA1B,CAAhD;AACA,eAAO,KAAK,eAAL,CAAqB,SAArB,CAAP;AACD;;AAED,aAAO,IAAP;AACD,KA5GM;;AA6GP,IAAA,QAAQ,CAAE,KAAF,EAAuB;AAC7B,YAAM,KAAK,GAAG,KAAK,QAAL,CAAc,KAAK,CAAC,mBAApB,EAAyC,KAAK,CAAC,UAAN,CAAiB,WAA1D,CAAd;AACA,UAAI,KAAJ,EAAW,OAAO,CAAC,KAAD,CAAP;;AAEX,UAAI,KAAK,MAAL,CAAY,OAAhB,EAAyB;AACvB,eAAO,KAAK,MAAL,CAAY,OAAZ,CAAoB,EACzB,GAAG,KADsB;AAEzB,UAAA,UAAU,EAAE,KAAK,UAFQ;AAGzB,UAAA,MAAM,EAAE,KAAK,MAHY;AAIzB,UAAA,UAAU,EAAE,KAAK,UAJQ;AAKzB,UAAA,QAAQ,EAAE,KAAK,QALU;AAMzB,UAAA,MAAM,EAAE,KAAK;AANY,SAApB,CAAP;AAQD;;AAED,UAAI,KAAK,MAAL,CAAY,IAAhB,EAAsB;AACpB,eAAO,KAAK,CAAC,KAAN,CAAY,GAAZ,CAAgB,CAAC,IAAD,EAAY,KAAZ,KAAsB,KAAK,MAAL,CAAY,IAAZ,CAAkB,KAAK,eAAL,CAC7D,IAD6D,EAE7D,KAF6D,CAAlB,CAAtC,CAAP;AAID;;AAED,aAAO,EAAP;AACD,KApIM;;AAqIP,IAAA,SAAS,CAAE,KAAF,EAAuB;AAC9B,UAAI,KAAK,iBAAT,EAA4B,OAAO,IAAP;AAE5B,YAAM,IAAI,GAAG,EACX,GAAG,KAAK,oBADG;AAEX,QAAA,OAAO,EAAE,KAAK,CAAC,OAFJ;AAGX,QAAA,UAAU,EAAE,KAAK,CAAC,UAHP;AAIX,4BAAqB,KAAD,IAAgB,KAAK,CAAC,aAAN,CAAoB,KAApB;AAJzB,OAAb;AAOA,YAAM,WAAW,GAAG,sBAAsB,CAAC,SAAD,EAAY,KAAK,MAAjB,CAA1C;AAEA,aAAO,CAAC,CAAC,WAAD,EAAc;AACpB,QAAA,WADoB;AAEpB,WAAG;AAFiB,OAAd,CAAR;AAID,KArJM;;AAsJP,IAAA,oBAAoB,CAAE,KAAF,EAAY;AAC9B,YAAM,UAAU,GAAG,EACjB,GAAG,KADc;AAEjB,QAAA,SAAS,EAAE,KAAK,SAFC;AAGjB,QAAA,SAAS,EAAE,KAAK,SAHC;AAIjB,QAAA,eAAe,EAAE,KAAK;AAJL,OAAnB;AAOA,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE;AADO,OAAR,EAEL,CACD,OAAO,CAAC,IAAD,EAAO,QAAP,EAAiB,UAAjB,EAA6B,IAA7B,CADN,EAED,KAAK,QAAL,CAAc,KAAd,CAFC,EAGD,KAAK,SAAL,CAAe,KAAf,CAHC,EAID,OAAO,CAAC,IAAD,EAAO,QAAP,EAAiB,UAAjB,EAA6B,IAA7B,CAJN,CAFK,CAAR;AAQD;;AAtKM,GA3IF;;AAoTP,EAAA,MAAM,GAAA;AACJ,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,KAAK,EAAE,KAAK,MADE;AAEd,MAAA,EAAE,EAAE;AACF,0BAAkB,CAAC,CAAD,EAAS,GAAT,KAAsB,CAAC,SAAS,CAAC,CAAD,EAAI,GAAJ,CAAV,IAAsB,KAAK,KAAL,CAAW,gBAAX,EAA6B,CAA7B,CAD5D;AAEF,uBAAgB,CAAD,IAAY,KAAK,KAAL,CAAW,aAAX,EAA0B,CAA1B,CAFzB;AAGF,iCAA0B,CAAD,IAAY,KAAK,KAAL,CAAW,uBAAX,EAAoC,CAApC,CAHnC;AAIF,0BAAmB,CAAD,IAAY,KAAK,KAAL,CAAW,gBAAX,EAA6B,CAA7B,CAJ5B;AAKF,4BAAqB,CAAD,IAAY,KAAK,KAAL,CAAW,kBAAX,EAA+B,CAA/B,CAL9B;AAMF,2BAAoB,CAAD,IAAY,KAAK,KAAL,CAAW,iBAAX,EAA8B,CAA9B,CAN7B;AAOF,6BAAsB,CAAD,IAAY,KAAK,KAAL,CAAW,mBAAX,EAAgC,CAAhC,CAP/B;AAQF,QAAA,UAAU,EAAE,CAAC,CAAD,EAAS,GAAT,KAAsB,CAAC,SAAS,CAAC,CAAD,EAAI,GAAJ,CAAV,IAAsB,KAAK,KAAL,CAAW,YAAX,EAAyB,CAAzB,CARtD;AASF,yBAAkB,CAAD,IAAa;AAC5B,eAAK,oBAAL,GAA4B,CAA5B;AACA,eAAK,KAAL,CAAW,eAAX,EAA4B,CAA5B;AACD,SAZC;AAaF,sBAAe,CAAD,IAAe,KAAK,KAAL,CAAW,YAAX,EAAyB,CAAzB;AAb3B,OAFU;AAiBd,MAAA,WAAW,EAAE;AACX,QAAA,OAAO,EAAE,KAAK;AADH;AAjBC,KAAR,CAAR;AAqBD;;AA1UM,CAHM,CAAf","sourcesContent":["// Components\nimport { VData } from '../VData'\nimport VDataFooter from './VDataFooter'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, camelizeObjectKeys, keyCodes } from '../../util/helpers'\nimport { breaking, removed } from '../../util/console'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { DataItemProps, DataScopeProps } from 'vuetify/types'\n\n/* @vue/component */\nexport default mixins(\n Mobile,\n Themeable\n).extend({\n name: 'v-data-iterator',\n\n props: {\n ...VData.props, // TODO: filter out props not used\n itemKey: {\n type: String,\n default: 'id',\n },\n value: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n singleSelect: Boolean,\n expanded: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n mobileBreakpoint: {\n ...Mobile.props.mobileBreakpoint,\n default: 600,\n },\n singleExpand: Boolean,\n loading: [Boolean, String],\n noResultsText: {\n type: String,\n default: '$vuetify.dataIterator.noResultsText',\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideDefaultFooter: Boolean,\n footerProps: Object,\n selectableKey: {\n type: String,\n default: 'isSelectable',\n },\n },\n\n data: () => ({\n selection: {} as Record<string, any>,\n expansion: {} as Record<string, boolean>,\n internalCurrentItems: [] as any[],\n shiftKeyDown: false,\n lastEntry: -1,\n }),\n\n computed: {\n everyItem (): boolean {\n return !!this.selectableItems.length && this.selectableItems.every((i: any) => this.isSelected(i))\n },\n someItems (): boolean {\n return this.selectableItems.some((i: any) => this.isSelected(i))\n },\n sanitizedFooterProps (): Record<string, any> {\n return camelizeObjectKeys(this.footerProps)\n },\n selectableItems (): any[] {\n return this.internalCurrentItems.filter(item => this.isSelectable(item))\n },\n },\n\n watch: {\n value: {\n handler (value: any[]) {\n this.selection = value.reduce((selection, item) => {\n selection[getObjectValueByPath(item, this.itemKey)] = item\n return selection\n }, {})\n },\n immediate: true,\n },\n selection (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(Object.keys(value), Object.keys(old))) return\n\n this.$emit('input', Object.values(value))\n },\n expanded: {\n handler (value: any[]) {\n this.expansion = value.reduce((expansion, item) => {\n expansion[getObjectValueByPath(item, this.itemKey)] = true\n return expansion\n }, {})\n },\n immediate: true,\n },\n expansion (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(value, old)) return\n const keys = Object.keys(value).filter(k => value[k])\n const expanded = !keys.length ? [] : this.items.filter(i => keys.includes(String(getObjectValueByPath(i, this.itemKey))))\n this.$emit('update:expanded', expanded)\n },\n },\n\n created () {\n const breakingProps = [\n ['disable-initial-sort', 'sort-by'],\n ['filter', 'custom-filter'],\n ['pagination', 'options'],\n ['total-items', 'server-items-length'],\n ['hide-actions', 'hide-default-footer'],\n ['rows-per-page-items', 'footer-props.items-per-page-options'],\n ['rows-per-page-text', 'footer-props.items-per-page-text'],\n ['prev-icon', 'footer-props.prev-icon'],\n ['next-icon', 'footer-props.next-icon'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const removedProps = [\n 'expand',\n 'content-class',\n 'content-props',\n 'content-tag',\n ]\n\n /* istanbul ignore next */\n removedProps.forEach(prop => {\n if (this.$attrs.hasOwnProperty(prop)) removed(prop)\n })\n },\n\n mounted () {\n window.addEventListener('keydown', this.onKeyDown)\n window.addEventListener('keyup', this.onKeyUp)\n },\n beforeUnmount () {\n window.removeEventListener('keydown', this.onKeyDown)\n window.removeEventListener('keyup', this.onKeyUp)\n },\n\n methods: {\n onKeyDown (e: KeyboardEvent): void {\n this.shiftKeyDown = e.keyCode === keyCodes.shift || e.shiftKey\n },\n onKeyUp (e: KeyboardEvent): void {\n if (e.keyCode === keyCodes.shift || !e.shiftKey) {\n this.shiftKeyDown = false\n }\n },\n toggleSelectAll (value: boolean): void {\n const selection = Object.assign({}, this.selection)\n\n for (let i = 0; i < this.selectableItems.length; i++) {\n const item = this.selectableItems[i]\n\n if (!this.isSelectable(item)) continue\n\n const key = getObjectValueByPath(item, this.itemKey)\n if (value) selection[key] = item\n else delete selection[key]\n }\n\n this.selection = selection\n this.$emit('toggle-select-all', { items: this.internalCurrentItems, value })\n },\n isSelectable (item: any): boolean {\n return getObjectValueByPath(item, this.selectableKey) !== false\n },\n isSelected (item: any): boolean {\n return !!this.selection[getObjectValueByPath(item, this.itemKey)] || false\n },\n select (item: any, value = true, emit = true): void {\n if (!this.isSelectable(item)) return\n\n const selection = this.singleSelect ? {} : Object.assign({}, this.selection)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) selection[key] = item\n else delete selection[key]\n\n const index = this.selectableItems.findIndex(x => getObjectValueByPath(x, this.itemKey) === key)\n if (this.lastEntry === -1) this.lastEntry = index\n else if (this.shiftKeyDown && !this.singleSelect && emit) {\n const lastEntryKey = getObjectValueByPath(this.selectableItems[this.lastEntry], this.itemKey)\n const lastEntryKeySelected = Object.keys(this.selection).includes(String(lastEntryKey))\n this.multipleSelect(lastEntryKeySelected, emit, selection, index)\n }\n this.lastEntry = index\n\n if (this.singleSelect && emit) {\n const keys = Object.keys(this.selection)\n const old = keys.length && getObjectValueByPath(this.selection[keys[0]], this.itemKey)\n old && old !== key && this.$emit('item-selected', { item: this.selection[old], value: false })\n }\n this.selection = selection\n emit && this.$emit('item-selected', { item, value })\n },\n multipleSelect (value = true, emit = true, selection: any, index: number): void {\n const start = index < this.lastEntry ? index : this.lastEntry\n const end = index < this.lastEntry ? this.lastEntry : index\n for (let i = start; i <= end; i++) {\n const currentItem = this.selectableItems[i]\n const key = getObjectValueByPath(currentItem, this.itemKey)\n if (value) selection[key] = currentItem\n else delete selection[key]\n emit && this.$emit('item-selected', { currentItem, value })\n }\n },\n isExpanded (item: any): boolean {\n return this.expansion[getObjectValueByPath(item, this.itemKey)] || false\n },\n expand (item: any, value = true): void {\n const expansion = this.singleExpand ? {} : Object.assign({}, this.expansion)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) expansion[key] = true\n else delete expansion[key]\n\n this.expansion = expansion\n this.$emit('item-expanded', { item, value })\n },\n createItemProps (item: any, index: number): DataItemProps {\n return {\n item,\n index,\n select: (v: boolean) => this.select(item, v),\n isSelected: this.isSelected(item),\n expand: (v: boolean) => this.expand(item, v),\n isExpanded: this.isExpanded(item),\n isMobile: this.isMobile,\n }\n },\n genEmptyWrapper (content: VNodeChildren) {\n return h('div', content)\n },\n genEmpty (originalItemsLength: number, filteredItemsLength: number) {\n if (originalItemsLength === 0 && this.loading) {\n const loading = getSlot(this, 'loading') || this.$vuetify.lang.t(this.loadingText)\n return this.genEmptyWrapper(loading)\n } else if (originalItemsLength === 0) {\n const noData = getSlot(this, 'noData') || this.$vuetify.lang.t(this.noDataText)\n return this.genEmptyWrapper(noData)\n } else if (filteredItemsLength === 0) {\n const noResults = getSlot(this, 'noResults') || this.$vuetify.lang.t(this.noResultsText)\n return this.genEmptyWrapper(noResults)\n }\n\n return null\n },\n genItems (props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n if (this.$slots.default) {\n return this.$slots.default({\n ...props,\n isSelected: this.isSelected,\n select: this.select,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n expand: this.expand,\n })\n }\n\n if (this.$slots.item) {\n return props.items.map((item: any, index) => this.$slots.item!(this.createItemProps(\n item,\n index\n )))\n }\n\n return []\n },\n genFooter (props: DataScopeProps) {\n if (this.hideDefaultFooter) return null\n\n const data = {\n ...this.sanitizedFooterProps,\n options: props.options,\n pagination: props.pagination,\n 'onUpdate:options': (value: any) => props.updateOptions(value)\n }\n\n const scopedSlots = getPrefixedScopedSlots('footer.', this.$slots)\n\n return h(VDataFooter, {\n scopedSlots,\n ...data,\n })\n },\n genDefaultScopedSlot (props: any) {\n const outerProps = {\n ...props,\n someItems: this.someItems,\n everyItem: this.everyItem,\n toggleSelectAll: this.toggleSelectAll,\n }\n\n return h('div', {\n class: 'v-data-iterator',\n }, [\n getSlot(this, 'header', outerProps, true),\n this.genItems(props),\n this.genFooter(props),\n getSlot(this, 'footer', outerProps, true),\n ])\n },\n },\n\n render (): VNode {\n return h(VData, {\n props: this.$props,\n on: {\n 'update:options': (v: any, old: any) => !deepEqual(v, old) && this.$emit('update:options', v),\n 'update:page': (v: any) => this.$emit('update:page', v),\n 'update:items-per-page': (v: any) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: any) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: any) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: any) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: any) => this.$emit('update:group-desc', v),\n pagination: (v: any, old: any) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n"],"sourceRoot":"","file":"VDataIterator.js"}
@@ -222,7 +222,7 @@ export default mixins(VDataIterator, Loadable, Mouse).extend({
222
222
  }
223
223
  },
224
224
 
225
- beforeDestroy() {
225
+ beforeUnmount() {
226
226
  if (this.calculateWidths) {
227
227
  window.removeEventListener('resize', this.calcWidths);
228
228
  }