This commit is contained in:
SPRINX0\prochazka
2024-11-26 09:30:37 +01:00
parent 170ff77eec
commit c823b8d19a
2 changed files with 27 additions and 2 deletions

View File

@@ -451,8 +451,10 @@ await dbgateApi.dropAllDbObjects(${JSON.stringify(
getExtensions, getExtensions,
getOpenedTabs, getOpenedTabs,
loadingSchemaLists, loadingSchemaLists,
lockedDatabaseMode,
openedConnections, openedConnections,
openedSingleDatabaseConnections, openedSingleDatabaseConnections,
openedTabs,
pinnedDatabases, pinnedDatabases,
selectedWidget, selectedWidget,
visibleWidgetSideBar, visibleWidgetSideBar,
@@ -483,6 +485,7 @@ await dbgateApi.dropAllDbObjects(${JSON.stringify(
import ExportDbModelModal from '../modals/ExportDbModelModal.svelte'; import ExportDbModelModal from '../modals/ExportDbModelModal.svelte';
import ChooseArchiveFolderModal from '../modals/ChooseArchiveFolderModal.svelte'; import ChooseArchiveFolderModal from '../modals/ChooseArchiveFolderModal.svelte';
import { extractShellConnection } from '../impexp/createImpExpScript'; import { extractShellConnection } from '../impexp/createImpExpScript';
import { getNumberIcon } from '../icons/FontIcon.svelte';
export let data; export let data;
export let passProps; export let passProps;
@@ -530,7 +533,15 @@ await dbgateApi.dropAllDbObjects(${JSON.stringify(
.find(x => x.isNewQuery) .find(x => x.isNewQuery)
.onClick(); .onClick();
}} }}
statusIcon={isLoadingSchemas ? 'icon loading' : ''} statusIcon={isLoadingSchemas
? 'icon loading'
: $lockedDatabaseMode
? getNumberIcon(
$openedTabs.filter(
x => !x.closedTime && x.props.conid == data?.connection?._id && x.props.database == data?.name
).length
)
: ''}
menu={createMenu} menu={createMenu}
showPinnedInsteadOfUnpin={passProps?.showPinnedInsteadOfUnpin} showPinnedInsteadOfUnpin={passProps?.showPinnedInsteadOfUnpin}
onPin={isPinned ? null : () => pinnedDatabases.update(list => [...list, data])} onPin={isPinned ? null : () => pinnedDatabases.update(list => [...list, data])}

View File

@@ -1,6 +1,6 @@
<script lang="ts"> <script lang="ts">
import { findEngineDriver } from 'dbgate-tools'; import { findEngineDriver } from 'dbgate-tools';
import { currentDatabase, extensions, pinnedDatabases, pinnedTables } from '../stores'; import { currentDatabase, extensions, pinnedDatabases, pinnedTables, focusedConnectionOrDatabase } from '../stores';
import { useConfig, useConnectionInfo } from '../utility/metadataLoaders'; import { useConfig, useConnectionInfo } from '../utility/metadataLoaders';
import ConnectionList from './ConnectionList.svelte'; import ConnectionList from './ConnectionList.svelte';
@@ -14,6 +14,8 @@
import DbKeysTree from './DbKeysTree.svelte'; import DbKeysTree from './DbKeysTree.svelte';
import SingleConnectionDatabaseList from './SingleConnectionDatabaseList.svelte'; import SingleConnectionDatabaseList from './SingleConnectionDatabaseList.svelte';
import _ from 'lodash'; import _ from 'lodash';
import FormStyledButton from '../buttons/FormStyledButton.svelte';
import { switchCurrentDatabase } from '../utility/common';
export let hidden = false; export let hidden = false;
let domSqlObjectList = null; let domSqlObjectList = null;
@@ -79,6 +81,18 @@
> >
<WidgetsInnerContainer> <WidgetsInnerContainer>
<ErrorInfo message="Database not selected" icon="img alert" /> <ErrorInfo message="Database not selected" icon="img alert" />
{#if $focusedConnectionOrDatabase?.database}
<FormStyledButton
value={`Switch to ${$focusedConnectionOrDatabase?.database}`}
skipWidth
on:click={() =>
switchCurrentDatabase({
connection: $focusedConnectionOrDatabase?.connection,
name: $focusedConnectionOrDatabase?.database,
})}
/>
{/if}
</WidgetsInnerContainer> </WidgetsInnerContainer>
</WidgetColumnBarItem> </WidgetColumnBarItem>
</WidgetColumnBar> </WidgetColumnBar>