From d283429f40790386aefa8a1227a69cfe2bd9338b Mon Sep 17 00:00:00 2001 From: Jan Prochazka Date: Sun, 5 Mar 2023 12:14:43 +0100 Subject: [PATCH] open new tab - corrent multiTabIndex --- packages/web/src/query/newQuery.ts | 11 ++++++----- packages/web/src/tabpanel/TabsPanel.svelte | 2 +- packages/web/src/utility/openNewTab.ts | 7 ++++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/web/src/query/newQuery.ts b/packages/web/src/query/newQuery.ts index 5aa810823..f348587d6 100644 --- a/packages/web/src/query/newQuery.ts +++ b/packages/web/src/query/newQuery.ts @@ -1,6 +1,5 @@ import _ from 'lodash'; -import { get } from 'svelte/store'; -import { currentDatabase } from '../stores'; +import { getCurrentDatabase } from '../stores'; import getConnectionLabel from '../utility/getConnectionLabel'; import openNewTab from '../utility/openNewTab'; @@ -9,11 +8,12 @@ export default function newQuery({ icon = 'img sql-file', title = undefined, initialData = undefined, + multiTabIndex = undefined, ...props } = {}) { - const $currentDatabase = get(currentDatabase); - const connection = _.get($currentDatabase, 'connection') || {}; - const database = _.get($currentDatabase, 'name'); + const currentDb = getCurrentDatabase(); + const connection = currentDb?.connection || {}; + const database = currentDb?.name; const tooltip = `${getConnectionLabel(connection)}\n${database}`; @@ -23,6 +23,7 @@ export default function newQuery({ icon, tooltip, tabComponent, + multiTabIndex, props: { ...props, conid: connection._id, diff --git a/packages/web/src/tabpanel/TabsPanel.svelte b/packages/web/src/tabpanel/TabsPanel.svelte index 940492cd9..479aaef2a 100644 --- a/packages/web/src/tabpanel/TabsPanel.svelte +++ b/packages/web/src/tabpanel/TabsPanel.svelte @@ -565,7 +565,7 @@ {/if} -
newQuery({})} title="New query"> +
newQuery({ multiTabIndex })} title="New query">
diff --git a/packages/web/src/utility/openNewTab.ts b/packages/web/src/utility/openNewTab.ts index 080557fee..fbb8a642d 100644 --- a/packages/web/src/utility/openNewTab.ts +++ b/packages/web/src/utility/openNewTab.ts @@ -1,7 +1,6 @@ import _ from 'lodash'; import uuidv1 from 'uuid/v1'; -import { get } from 'svelte/store'; -import { getOpenedTabs, openedTabs } from '../stores'; +import { getActiveTab, getOpenedTabs, openedTabs } from '../stores'; import tabs from '../tabs'; import { setSelectedTabFunc } from './common'; import localforage from 'localforage'; @@ -17,7 +16,8 @@ function findFreeNumber(numbers: number[]) { } export default async function openNewTab(newTab, initialData = undefined, options = undefined) { - const oldTabs = get(openedTabs); + const oldTabs = getOpenedTabs(); + const activeTab = getActiveTab(); let existing = null; @@ -98,6 +98,7 @@ export default async function openNewTab(newTab, initialData = undefined, option ...newTab, tabid, selected: true, + multiTabIndex: newTab?.multiTabIndex ?? activeTab?.multiTabIndex ?? 0, tabOrder: _.findIndex(items, y => y.tabid == tabid), }, ];