From dfc5a9f040538263e5236abc7505fc82ff416aeb Mon Sep 17 00:00:00 2001 From: Deep Tailor Date: Thu, 28 Mar 2019 17:45:07 -0700 Subject: [PATCH] Tabs view fixes plus elements pool (#2340) * use reorder api * fix regression where elements pool doesnt update on remove * fix issue where tabs was not updating when changes are discarded --- src/plugins/tabs/components/tabs.vue | 12 +++++++++++- src/ui/inspector/Elements.vue | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/plugins/tabs/components/tabs.vue b/src/plugins/tabs/components/tabs.vue index e617be218c..9f35b01f27 100644 --- a/src/plugins/tabs/components/tabs.vue +++ b/src/plugins/tabs/components/tabs.vue @@ -26,7 +26,8 @@ v-for="(tab, index) in tabsList" :key="index" :class="{'invisible': !isCurrent(tab)}"> -
{{currentTab.domainObject.name}} @@ -146,6 +147,13 @@ export default { this.showTab(this.tabsList[this.tabsList.length - 1]); } }, + onReorder(reorderPlan) { + let oldTabs = this.tabsList.slice(); + + reorderPlan.forEach(reorderEvent => { + this.$set(this.tabsList, reorderEvent.newIndex, oldTabs[reorderEvent.oldIndex]); + }); + }, onDrop(e) { this.setCurrentTab = true; }, @@ -172,6 +180,7 @@ export default { if (this.composition) { this.composition.on('add', this.addItem); this.composition.on('remove', this.removeItem); + this.composition.on('reorder', this.onReorder); this.composition.load(); } @@ -188,6 +197,7 @@ export default { destroyed() { this.composition.off('add', this.addItem); this.composition.off('remove', this.removeItem); + this.composition.off('reorder', this.onReorder); document.removeEventListener('dragstart', this.dragstart); document.removeEventListener('dragend', this.dragend); diff --git a/src/ui/inspector/Elements.vue b/src/ui/inspector/Elements.vue index fc1be71198..ea3c9b8345 100644 --- a/src/ui/inspector/Elements.vue +++ b/src/ui/inspector/Elements.vue @@ -142,7 +142,7 @@ export default { this.applySearch(this.currentSearch); }, removeElement(identifier) { - let keyString = this.openmct.objects.makeKeyString(element.identifier); + let keyString = this.openmct.objects.makeKeyString(identifier); delete this.elementsCache[keyString]; this.applySearch(this.currentSearch); },