From 768a2db0ec64bf944166e78e3f61519b7a049ed3 Mon Sep 17 00:00:00 2001 From: Ray Foss Date: Tue, 24 Jul 2018 10:32:02 -0500 Subject: [PATCH 1/4] comp(mdTable): nextTick selection data The current implementation couldn't handle selection data and table data at the same time #1866 --- src/components/MdTable/MdTable.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/MdTable/MdTable.vue b/src/components/MdTable/MdTable.vue index d075588a9..3f8364894 100644 --- a/src/components/MdTable/MdTable.vue +++ b/src/components/MdTable/MdTable.vue @@ -255,7 +255,8 @@ this.select(val) } }, - mdSelectedValue () { + mdSelectedValue: async function () { + await this.$nextTick() // render the table first this.syncSelectedValue() } }, From 42ce8fcc2ebf38986d9d09d5cf296ecce93212d3 Mon Sep 17 00:00:00 2001 From: Ray Foss Date: Tue, 24 Jul 2018 12:13:19 -0500 Subject: [PATCH 2/4] comp(MdTable): also handle case #2 AOT providing selection data Ahead of Time, aka, ahead of table data, will also break MdTable. This handles both cases. --- src/components/MdTable/MdTable.vue | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/MdTable/MdTable.vue b/src/components/MdTable/MdTable.vue index 3f8364894..797c5f361 100644 --- a/src/components/MdTable/MdTable.vue +++ b/src/components/MdTable/MdTable.vue @@ -255,8 +255,10 @@ this.select(val) } }, - mdSelectedValue: async function () { - await this.$nextTick() // render the table first + mdSelectedValue () { + this.syncSelectedValue() + }, + value () { this.syncSelectedValue() } }, @@ -333,7 +335,8 @@ this.$emit('update:mdSelectedValue', val) this.$emit('md-selected', val) }, - syncSelectedValue () { + syncSelectedValue: async function () { + await this.$nextTick() // render the table first if (this.MdTable.selectingMode === 'single') { this.MdTable.singleSelection = this.mdSelectedValue } else if (this.MdTable.selectingMode === 'multiple') { From 7845bf69fcb8a1f401d117b35d4fc1a4ee29cbfc Mon Sep 17 00:00:00 2001 From: Ray Foss Date: Tue, 24 Jul 2018 13:44:40 -0500 Subject: [PATCH 3/4] comp(MdTable): remove redundant nextTick --- src/components/MdTable/MdTable.vue | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/components/MdTable/MdTable.vue b/src/components/MdTable/MdTable.vue index 797c5f361..08b36b5b0 100644 --- a/src/components/MdTable/MdTable.vue +++ b/src/components/MdTable/MdTable.vue @@ -335,6 +335,7 @@ this.$emit('update:mdSelectedValue', val) this.$emit('md-selected', val) }, +<<<<<<< Updated upstream syncSelectedValue: async function () { await this.$nextTick() // render the table first if (this.MdTable.selectingMode === 'single') { @@ -342,6 +343,16 @@ } else if (this.MdTable.selectingMode === 'multiple') { this.MdTable.selectedItems = this.mdSelectedValue || [] } +======= + syncSelectedValue () { + this.$nextTick().then(() => { // render the table first + if (this.MdTable.selectingMode === 'single') { + this.MdTable.singleSelection = this.mdSelectedValue + } else if (this.MdTable.selectingMode === 'multiple') { + this.MdTable.selectedItems = this.mdSelectedValue || [] + } + }) +>>>>>>> Stashed changes }, setWidth () { if (this.mdFixedHeader) { @@ -354,9 +365,7 @@ this.sortTable() } - this.$nextTick().then(() => { - this.syncSelectedValue() - }) + this.syncSelectedValue() }, mounted () { this.setContentEl() From 5e76f88d15446d1257b9233c072c570cac4ea37e Mon Sep 17 00:00:00 2001 From: Ray Foss Date: Tue, 24 Jul 2018 13:58:53 -0500 Subject: [PATCH 4/4] comp(MdTable): merge glitch fix --- src/components/MdTable/MdTable.vue | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/components/MdTable/MdTable.vue b/src/components/MdTable/MdTable.vue index 08b36b5b0..c39984f40 100644 --- a/src/components/MdTable/MdTable.vue +++ b/src/components/MdTable/MdTable.vue @@ -335,15 +335,6 @@ this.$emit('update:mdSelectedValue', val) this.$emit('md-selected', val) }, -<<<<<<< Updated upstream - syncSelectedValue: async function () { - await this.$nextTick() // render the table first - if (this.MdTable.selectingMode === 'single') { - this.MdTable.singleSelection = this.mdSelectedValue - } else if (this.MdTable.selectingMode === 'multiple') { - this.MdTable.selectedItems = this.mdSelectedValue || [] - } -======= syncSelectedValue () { this.$nextTick().then(() => { // render the table first if (this.MdTable.selectingMode === 'single') { @@ -352,7 +343,6 @@ this.MdTable.selectedItems = this.mdSelectedValue || [] } }) ->>>>>>> Stashed changes }, setWidth () { if (this.mdFixedHeader) {