diff --git a/packages/web/src/appobj/DatabaseAppObject.svelte b/packages/web/src/appobj/DatabaseAppObject.svelte
index 654fbe0df..620b8441a 100644
--- a/packages/web/src/appobj/DatabaseAppObject.svelte
+++ b/packages/web/src/appobj/DatabaseAppObject.svelte
@@ -519,7 +519,7 @@ await dbgateApi.dropAllDbObjects(${JSON.stringify(
}}
on:click={() => {
// switchCurrentDatabase(data);
- $focusedConnectionOrDatabase = { conid: data.connection?._id, database: data.name };
+ $focusedConnectionOrDatabase = { conid: data.connection?._id, database: data.name, connection: data.connection };
}}
on:dragstart
on:dragenter
diff --git a/packages/web/src/buttons/FormStyledButton.svelte b/packages/web/src/buttons/FormStyledButton.svelte
index ac731ee02..00a97d20d 100644
--- a/packages/web/src/buttons/FormStyledButton.svelte
+++ b/packages/web/src/buttons/FormStyledButton.svelte
@@ -7,6 +7,7 @@
export let disabled = false;
export let value;
export let title = null;
+ export let skipWidth = false;
function handleClick() {
if (!disabled) dispatch('click');
@@ -19,19 +20,22 @@
}
-
+
diff --git a/packages/web/src/widgets/ConnectionList.svelte b/packages/web/src/widgets/ConnectionList.svelte
index a9fab2af8..1e860b2cb 100644
--- a/packages/web/src/widgets/ConnectionList.svelte
+++ b/packages/web/src/widgets/ConnectionList.svelte
@@ -97,10 +97,7 @@
res.push({
conid: con._id,
database: db.name,
- dbobj: {
- connection: con,
- name: db.name,
- },
+ connection: con,
});
}
}
@@ -202,7 +199,7 @@
list={getFocusFlatList}
selectedObjectStore={focusedConnectionOrDatabase}
getSelectedObject={getFocusedConnectionOrDatabase}
- selectedObjectMatcher={(o1, o2) => o1.conid == o2.conid && o1.database == o2.database}
+ selectedObjectMatcher={(o1, o2) => o1?.conid == o2?.conid && o1?.database == o2?.database}
onScrollTop={() => {
domContainer?.scrollTop();
}}
@@ -212,7 +209,7 @@
handleObjectClick={(data, options) => {
if (data.database) {
if (options.focusTab) {
- switchCurrentDatabase(data.dbobj);
+ switchCurrentDatabase({ connection: data.connection, name: data.database });
// console.log('FOCUSING DB', passProps);
// passProps?.onFocusSqlObjectList?.();
}
diff --git a/packages/web/src/widgets/SqlObjectList.svelte b/packages/web/src/widgets/SqlObjectList.svelte
index ad608e44f..8956eeb5c 100644
--- a/packages/web/src/widgets/SqlObjectList.svelte
+++ b/packages/web/src/widgets/SqlObjectList.svelte
@@ -31,7 +31,7 @@
import { chevronExpandIcon } from '../icons/expandIcons';
import ErrorInfo from '../elements/ErrorInfo.svelte';
import LoadingInfo from '../elements/LoadingInfo.svelte';
- import { getObjectTypeFieldLabel } from '../utility/common';
+ import { getObjectTypeFieldLabel, switchCurrentDatabase } from '../utility/common';
import DropDownButton from '../buttons/DropDownButton.svelte';
import FontIcon from '../icons/FontIcon.svelte';
import CloseSearchButton from '../buttons/CloseSearchButton.svelte';
@@ -39,6 +39,7 @@
import {
currentDatabase,
extensions,
+ focusedConnectionOrDatabase,
getSelectedDatabaseObjectAppObject,
selectedDatabaseObjectAppObject,
} from '../stores';
@@ -50,6 +51,8 @@
import { appliedCurrentSchema } from '../stores';
import AppObjectListHandler from './AppObjectListHandler.svelte';
import { matchDatabaseObjectAppObject } from '../appobj/appObjectTools';
+ import FormStyledButton from '../buttons/FormStyledButton.svelte';
+ import clickOutside from '../utility/clickOutside';
export let conid;
export let database;
@@ -129,6 +132,11 @@
export function focus() {
domListHandler?.focusFirst();
}
+
+ $: differentFocusedDb =
+ $focusedConnectionOrDatabase &&
+ $focusedConnectionOrDatabase?.database &&
+ ($focusedConnectionOrDatabase.conid != conid || $focusedConnectionOrDatabase?.database != database);
{#if $status && $status.name == 'error'}
@@ -189,7 +197,25 @@
negativeMarginTop
/>
-
+ {#if differentFocusedDb}
+
+
Current database:
+
+ {database}
+
+
+ switchCurrentDatabase({
+ connection: $focusedConnectionOrDatabase?.connection,
+ name: $focusedConnectionOrDatabase?.database,
+ })}
+ />
+
+ {/if}
+
+
{#if ($status && ($status.name == 'pending' || $status.name == 'checkStructure' || $status.name == 'loadStructure') && $objects) || !$objects}
{:else}
@@ -228,3 +254,12 @@
{/if}
{/if}
+
+
diff --git a/packages/web/src/widgets/WidgetsInnerContainer.svelte b/packages/web/src/widgets/WidgetsInnerContainer.svelte
index 76f7f2895..262c1856c 100644
--- a/packages/web/src/widgets/WidgetsInnerContainer.svelte
+++ b/packages/web/src/widgets/WidgetsInnerContainer.svelte
@@ -1,12 +1,14 @@
-
+