From 41d3bb4adc67f7d1df237c644677238ac6027699 Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Mon, 2 Feb 2026 14:11:23 +0000 Subject: [PATCH 1/3] convert into a deep watcher --- resources/js/components/blueprints/Tabs.vue | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/resources/js/components/blueprints/Tabs.vue b/resources/js/components/blueprints/Tabs.vue index afe5fcc47e..420b8b8a45 100644 --- a/resources/js/components/blueprints/Tabs.vue +++ b/resources/js/components/blueprints/Tabs.vue @@ -142,10 +142,15 @@ export default { }, watch: { - tabs(tabs) { - this.$emit('updated', tabs); - this.makeSortable(); - }, + tabs: { + deep: true, + handler(tabs) { + console.log('deep hello', tabs) + + this.$emit('updated', tabs); + this.makeSortable(); + }, + }, }, mounted() { From a09115b26118727f57651c79ede92cb0bb8d2f4a Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Mon, 2 Feb 2026 14:11:37 +0000 Subject: [PATCH 2/3] clone initial tabs state --- resources/js/components/blueprints/Tabs.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/js/components/blueprints/Tabs.vue b/resources/js/components/blueprints/Tabs.vue index 420b8b8a45..e814926445 100644 --- a/resources/js/components/blueprints/Tabs.vue +++ b/resources/js/components/blueprints/Tabs.vue @@ -128,7 +128,7 @@ export default { data() { return { - tabs: this.initialTabs, + tabs: clone(this.initialTabs), currentTab: this.initialTabs.length ? this.initialTabs[0]._id : null, lastInteractedTab: null, hiddenTabs: [], From d2d03a933470e0a318b9df40785343dba3621875 Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Mon, 2 Feb 2026 14:13:31 +0000 Subject: [PATCH 3/3] whoops. remove `console.log` --- resources/js/components/blueprints/Tabs.vue | 2 -- 1 file changed, 2 deletions(-) diff --git a/resources/js/components/blueprints/Tabs.vue b/resources/js/components/blueprints/Tabs.vue index e814926445..9d702199f2 100644 --- a/resources/js/components/blueprints/Tabs.vue +++ b/resources/js/components/blueprints/Tabs.vue @@ -145,8 +145,6 @@ export default { tabs: { deep: true, handler(tabs) { - console.log('deep hello', tabs) - this.$emit('updated', tabs); this.makeSortable(); },