@dimailn/vuetify 2.7.2-alpha11 → 2.7.2-alpha12
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.
- package/dist/vuetify.js +2 -1
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VDataIterator/VDataIterator.js +1 -0
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/framework.js +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +1 -0
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/framework.js +1 -1
- package/package.json +1 -1
- package/src/components/VDataIterator/VDataIterator.ts +2 -0
|
@@ -124,6 +124,7 @@ var _default2 = (0, _mixins.default)(_mobile.default, _themeable.default).extend
|
|
|
124
124
|
handler: function handler(value) {
|
|
125
125
|
var _this4 = this;
|
|
126
126
|
|
|
127
|
+
if (!value) return;
|
|
127
128
|
this.selection = value.reduce(function (selection, item) {
|
|
128
129
|
selection[(0, _helpers.getObjectValueByPath)(item, _this4.itemKey)] = item;
|
|
129
130
|
return selection;
|
|
@@ -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 modelValue: {\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('update:modelValue', 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"}
|
|
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 modelValue: {\n handler (value: any[]) {\n if(!value) return\n\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('update:modelValue', 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"}
|
package/es5/framework.js
CHANGED
|
@@ -79,7 +79,7 @@ var Vuetify = /*#__PURE__*/function () {
|
|
|
79
79
|
exports.default = Vuetify;
|
|
80
80
|
Vuetify.install = _install.install;
|
|
81
81
|
Vuetify.installed = false;
|
|
82
|
-
Vuetify.version = "2.7.2-
|
|
82
|
+
Vuetify.version = "2.7.2-alpha12";
|
|
83
83
|
Vuetify.config = {
|
|
84
84
|
silent: false
|
|
85
85
|
};
|
|
@@ -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 modelValue: {\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('update:modelValue', 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"}
|
|
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 modelValue: {\n handler (value: any[]) {\n if(!value) return\n\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('update:modelValue', 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"}
|
package/lib/framework.js
CHANGED
package/package.json
CHANGED