diff --git a/packages/api/src/controllers/plugins.js b/packages/api/src/controllers/plugins.js index 65d1a1051..3e494afcc 100644 --- a/packages/api/src/controllers/plugins.js +++ b/packages/api/src/controllers/plugins.js @@ -162,6 +162,7 @@ module.exports = { authTypes_meta: true, async authTypes({ engine }) { const packageName = extractPackageName(engine); + if (!packageName) return null; const content = requirePlugin(packageName); const driver = content.drivers.find(x => x.engine == engine); if (!driver || !driver.getAuthTypes) return null; diff --git a/packages/tools/src/driverBase.ts b/packages/tools/src/driverBase.ts index a35cf2ab9..9037df9b2 100644 --- a/packages/tools/src/driverBase.ts +++ b/packages/tools/src/driverBase.ts @@ -111,4 +111,6 @@ export const driverBase = { dumpSqlSelect(dmp, select); return this.readQuery(pool, dmp.s, structure); }, + showConnectionField: (field, values) => false, + showConnectionTab: (field) => true, }; diff --git a/packages/web/src/commands/stdCommands.ts b/packages/web/src/commands/stdCommands.ts index 297ecf155..4bd0e058b 100644 --- a/packages/web/src/commands/stdCommands.ts +++ b/packages/web/src/commands/stdCommands.ts @@ -87,7 +87,13 @@ registerCommand({ toolbarOrder: 1, name: 'Connection', testEnabled: () => !getCurrentConfig()?.runAsPortal, - onClick: () => showModal(ConnectionModal), + onClick: () => { + openNewTab({ + title: 'New Connection', + icon: 'img connection', + tabComponent: 'ConnectionTab', + }); + }, }); registerCommand({ diff --git a/packages/web/src/elements/TabControl.svelte b/packages/web/src/elements/TabControl.svelte index 38bae2213..f6e09b1ee 100644 --- a/packages/web/src/elements/TabControl.svelte +++ b/packages/web/src/elements/TabControl.svelte @@ -13,6 +13,8 @@ export let value = 0; export let menu = null; export let isInline = false; + export let containerMaxWidth = undefined; + export let flex1 = true; export function setValue(index) { value = index; @@ -22,7 +24,7 @@ } -
+
{#each _.compact(tabs) as tab, index}
(value = index)}> @@ -38,7 +40,7 @@
{#each _.compact(tabs) as tab, index} -
+
{#if tab.slot != null} {#if tab.slot == 0} @@ -59,10 +61,13 @@ diff --git a/packages/web/src/tabs/index.js b/packages/web/src/tabs/index.js index eabdc6a53..e629a1fbf 100644 --- a/packages/web/src/tabs/index.js +++ b/packages/web/src/tabs/index.js @@ -23,6 +23,7 @@ import * as ChangelogTab from './ChangelogTab.svelte'; import * as DiagramTab from './DiagramTab.svelte'; import * as DbKeyDetailTab from './DbKeyDetailTab.svelte'; import * as QueryDataTab from './QueryDataTab.svelte'; +import * as ConnectionTab from './ConnectionTab.svelte'; export default { TableDataTab, @@ -50,4 +51,5 @@ export default { DiagramTab, DbKeyDetailTab, QueryDataTab, + ConnectionTab, };