diff --git a/src/components/dialogs/WorldDialog/WorldDialog.vue b/src/components/dialogs/WorldDialog/WorldDialog.vue index 5f4871d4..cd30dce7 100644 --- a/src/components/dialogs/WorldDialog/WorldDialog.vue +++ b/src/components/dialogs/WorldDialog/WorldDialog.vue @@ -320,7 +320,7 @@ - +
@@ -928,20 +928,44 @@ }); const worldDialogRef = ref(null); + const worldDialogTabsRef = ref(null); + const worldDialogLastActiveTab = ref(''); watch( () => worldDialog.value.loading, - (newVal) => { - if (newVal) { + () => { + if (worldDialog.value.visible) { nextTick(() => { if (worldDialogRef.value?.$el) { adjustDialogZ(worldDialogRef.value.$el); } }); + !worldDialog.value.loading && toggleLastActiveTab(); } } ); + function toggleLastActiveTab() { + if (worldDialogTabsRef.value.currentName === '0') { + worldDialogLastActiveTab.value = t('dialog.world.instances.header'); + } else if (worldDialogTabsRef.value.currentName === '1') { + worldDialogLastActiveTab.value = t('dialog.world.info.header'); + } else if (worldDialogTabsRef.value.currentName === '2') { + worldDialogLastActiveTab.value = t('dialog.world.json.header'); + refreshWorldDialogTreeData(); + } + } + + function worldDialogTabClick(obj) { + if (worldDialogLastActiveTab.value === obj.label) { + return; + } + if (obj.label === t('dialog.world.json.header')) { + refreshWorldDialogTreeData(); + } + worldDialogLastActiveTab.value = obj.label; + } + function displayPreviousImages(command) { previousImagesFileId.value = ''; previousImagesTable.value = [];