fix: some problems with properties and data tabs when changing database from sidebar

This commit is contained in:
Fabio Di Stasio 2020-11-18 18:21:15 +01:00
parent db577bfef0
commit 0fe71572a5
2 changed files with 12 additions and 5 deletions

View File

@ -122,7 +122,13 @@ export default {
return this.selectedWorkspace === this.connection.uid;
},
selectedTab () {
return this.queryTabs.find(tab => tab.uid === this.workspace.selected_tab) || ['data', 'prop'].includes(this.workspace.selected_tab) ? this.workspace.selected_tab : this.queryTabs[0].uid;
if (this.workspace.breadcrumbs.table === null)
return this.queryTabs[0].uid;
return this.queryTabs.find(tab => tab.uid === this.workspace.selected_tab) ||
['data', 'prop'].includes(this.workspace.selected_tab)
? this.workspace.selected_tab
: this.queryTabs[0].uid;
},
queryTabs () {
return this.workspace.tabs.filter(tab => tab.type === 'query');

View File

@ -3,7 +3,7 @@ import Connection from '@/ipc-api/Connection';
import Database from '@/ipc-api/Database';
import { uidGen } from 'common/libs/uidGen';
const tabIndex = [];
let lastSchema = '';
let lastBreadcrumb = '';
export default {
namespaced: true,
@ -291,12 +291,13 @@ export default {
dispatch('newTab', uid);
},
changeBreadcrumbs ({ commit, getters }, payload) {
if (lastSchema !== payload.schema) {
if (lastBreadcrumb.schema === payload.schema && lastBreadcrumb.table !== null && payload.table === null) return;
if (lastBreadcrumb.schema !== payload.schema)
Database.useSchema({ uid: getters.getSelected, schema: payload.schema });
lastSchema = payload.schema;
}
commit('CHANGE_BREADCRUMBS', { uid: getters.getSelected, breadcrumbs: payload });
lastBreadcrumb = { ...payload };
},
newTab ({ commit }, uid) {
commit('NEW_TAB', uid);