diff --git a/packages/web/src/commands/stdCommands.ts b/packages/web/src/commands/stdCommands.ts index c89aaae1c..e4739aee4 100644 --- a/packages/web/src/commands/stdCommands.ts +++ b/packages/web/src/commands/stdCommands.ts @@ -942,6 +942,14 @@ registerCommand({ onClick: () => showModal(UploadErrorModal), }); +registerCommand({ + id: 'app.unsetCurrentDatabase', + category: 'Application', + name: 'Unset current database', + testEnabled: () => getCurrentDatabase() != null, + onClick: () => currentDatabase.set(null), +}); + const electron = getElectron(); if (electron) { electron.addEventListener('run-command', (e, commandId) => runCommand(commandId)); diff --git a/packages/web/src/widgets/DatabaseWidget.svelte b/packages/web/src/widgets/DatabaseWidget.svelte index 6550dd5db..257bb08e5 100644 --- a/packages/web/src/widgets/DatabaseWidget.svelte +++ b/packages/web/src/widgets/DatabaseWidget.svelte @@ -1,12 +1,10 @@ @@ -62,6 +70,9 @@ - +{#if differentFocusedDb} + +{/if} + diff --git a/packages/web/src/widgets/FocusedConnectionInfoWidget.svelte b/packages/web/src/widgets/FocusedConnectionInfoWidget.svelte new file mode 100644 index 000000000..4b9d6e852 --- /dev/null +++ b/packages/web/src/widgets/FocusedConnectionInfoWidget.svelte @@ -0,0 +1,81 @@ + + +
+ {#if $focusedConnectionOrDatabase?.database} + {#if database} +
Current database:
+
+ {database} +
+ {/if} + + switchCurrentDatabase({ + connection: $focusedConnectionOrDatabase?.connection, + name: $focusedConnectionOrDatabase?.database, + })} + /> + {#if database} + { + $focusedConnectionOrDatabase = { + conid, + database, + connection, + }; + }} + /> + {/if} + {:else} + {#if connection} +
Current connection:
+
+ {getConnectionLabel(connection)} +
+ {/if} + {#if !$openedConnections.includes($focusedConnectionOrDatabase?.conid) && $focusedConnectionOrDatabase?.conid} + openConnection($focusedConnectionOrDatabase?.connection)} + /> + {/if} + {#if connection} + { + $focusedConnectionOrDatabase = { + conid, + connection, + }; + }} + /> + {/if} + {/if} +
+ + diff --git a/packages/web/src/widgets/SqlObjectList.svelte b/packages/web/src/widgets/SqlObjectList.svelte index 2ab501e46..22cd74169 100644 --- a/packages/web/src/widgets/SqlObjectList.svelte +++ b/packages/web/src/widgets/SqlObjectList.svelte @@ -31,17 +31,16 @@ import { chevronExpandIcon } from '../icons/expandIcons'; import ErrorInfo from '../elements/ErrorInfo.svelte'; import LoadingInfo from '../elements/LoadingInfo.svelte'; - import { getObjectTypeFieldLabel, switchCurrentDatabase } from '../utility/common'; + import { getObjectTypeFieldLabel } from '../utility/common'; import DropDownButton from '../buttons/DropDownButton.svelte'; import FontIcon from '../icons/FontIcon.svelte'; import CloseSearchButton from '../buttons/CloseSearchButton.svelte'; - import { findEngineDriver, getConnectionLabel } from 'dbgate-tools'; + import { findEngineDriver } from 'dbgate-tools'; import { currentDatabase, extensions, focusedConnectionOrDatabase, getSelectedDatabaseObjectAppObject, - openedConnections, selectedDatabaseObjectAppObject, } from '../stores'; import newQuery from '../query/newQuery'; @@ -52,9 +51,7 @@ 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'; - import { openConnection } from '../appobj/ConnectionAppObject.svelte'; + import FocusedConnectionInfoWidget from './FocusedConnectionInfoWidget.svelte'; export let conid; export let database; @@ -200,56 +197,7 @@ /> {#if differentFocusedDb} -
- {#if $focusedConnectionOrDatabase?.database} -
Current database:
-
- {database} -
- - switchCurrentDatabase({ - connection: $focusedConnectionOrDatabase?.connection, - name: $focusedConnectionOrDatabase?.database, - })} - /> - { - $focusedConnectionOrDatabase = { - conid, - database, - connection: $connection, - }; - }} - /> - {:else} -
Current connection:
-
- {getConnectionLabel($connection)} -
- {#if !$openedConnections.includes($focusedConnectionOrDatabase?.conid)} - openConnection($focusedConnectionOrDatabase?.connection)} - /> - {/if} - { - $focusedConnectionOrDatabase = { - conid, - connection: $connection, - }; - }} - /> - {/if} -
+ {/if} @@ -291,12 +239,3 @@ {/if} {/if} - -