From a7bbe4d6777a7b3f20567aa0ecdd91407de975c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9?= Date: Thu, 11 Jan 2018 02:31:06 +0100 Subject: [PATCH] #2841 remove occurences of "all" property in data-iterable mixin (#2972) * #2841 remove occurences of "all" property in data-iterable mixin as it duplicates"everyItem" * #2841 add tests for usage of 'everyItem' --- src/components/VDataTable/VDataTable.spec.js | 24 ++++++++++++++++++++ src/components/VDataTable/mixins/head.js | 4 ++-- src/mixins/data-iterable.js | 10 -------- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/components/VDataTable/VDataTable.spec.js b/src/components/VDataTable/VDataTable.spec.js index 0548171f5c5..3e7f54631bc 100644 --- a/src/components/VDataTable/VDataTable.spec.js +++ b/src/components/VDataTable/VDataTable.spec.js @@ -239,4 +239,28 @@ test('VDataTable.vue', ({ mount, compileToFunctions }) => { expect('Unable to locate target [data-app]').toHaveBeenTipped() }) + + it('should initialize everyItem state', async () => { + const data = dataTableTestData() + data.propsData.value = data.propsData.items + const wrapper = mount(VDataTable, data) + + expect(wrapper.vm.everyItem).toBe(true); + expect('Unable to locate target [data-app]').toHaveBeenTipped() + }) + + it('should update everyItem state', async () => { + const data = dataTableTestData() + data.propsData.itemKey = 'other'; + const wrapper = mount(VDataTable, data) + + expect(wrapper.vm.everyItem).toBe(false); + wrapper.vm.value.push(wrapper.vm.items[0]); + expect(wrapper.vm.everyItem).toBe(false); + + wrapper.vm.value.push(wrapper.vm.items[1]); + wrapper.vm.value.push(wrapper.vm.items[2]); + expect(wrapper.vm.everyItem).toBe(true); + expect('Unable to locate target [data-app]').toHaveBeenTipped() + }) }) diff --git a/src/components/VDataTable/mixins/head.js b/src/components/VDataTable/mixins/head.js index ad9a5236ee0..a50ff2c12b7 100644 --- a/src/components/VDataTable/mixins/head.js +++ b/src/components/VDataTable/mixins/head.js @@ -11,7 +11,7 @@ export default { const row = this.$scopedSlots.headers({ headers: this.headers, indeterminate: this.indeterminate, - all: this.all + all: this.everyItem }) children = [this.needsTR(row) ? this.genTR(row) : row, this.genTProgress()] @@ -23,7 +23,7 @@ export default { light: this.light, color: this.selectAll === true ? '' : this.selectAll, hideDetails: true, - inputValue: this.all, + inputValue: this.everyItem, indeterminate: this.indeterminate }, on: { change: this.toggle } diff --git a/src/mixins/data-iterable.js b/src/mixins/data-iterable.js index 8621b9c5c91..e1b48443c22 100644 --- a/src/mixins/data-iterable.js +++ b/src/mixins/data-iterable.js @@ -29,7 +29,6 @@ export default { data () { return { - all: false, searchLength: 0, defaultPagination: { descending: false, @@ -211,17 +210,8 @@ export default { }, watch: { - indeterminate (val) { - if (val) this.all = true - }, - someItems (val) { - if (!val) this.all = false - }, search () { this.updatePagination({ page: 1, totalItems: this.itemsLength }) - }, - everyItem (val) { - if (val) this.all = true } },