diff --git a/packages/web/src/appobj/AppObjectCore.svelte b/packages/web/src/appobj/AppObjectCore.svelte
index d89cc1f87..1ffedd020 100644
--- a/packages/web/src/appobj/AppObjectCore.svelte
+++ b/packages/web/src/appobj/AppObjectCore.svelte
@@ -1,18 +1,19 @@
- {prefix || ''}
+ {prefix}
{#if isBusy}
{:else}
@@ -41,7 +42,6 @@
}
.main:hover {
background-color: var(--theme-bg-hover);
-
}
.isBold {
font-weight: bold;
diff --git a/packages/web/src/appobj/AppObjectList.svelte b/packages/web/src/appobj/AppObjectList.svelte
index 67d53a1ee..c47af2563 100644
--- a/packages/web/src/appobj/AppObjectList.svelte
+++ b/packages/web/src/appobj/AppObjectList.svelte
@@ -1,11 +1,14 @@
{#each list as data}
-
+
{/each}
diff --git a/packages/web/src/appobj/AppObjectListItem.svelte b/packages/web/src/appobj/AppObjectListItem.svelte
index dafc4b693..adc02ba99 100644
--- a/packages/web/src/appobj/AppObjectListItem.svelte
+++ b/packages/web/src/appobj/AppObjectListItem.svelte
@@ -1,8 +1,20 @@
-
+
+
+{#if isExpanded && subItemsComponent}
+
+{/if}
diff --git a/packages/web/src/appobj/ConnectionAppObject.svelte b/packages/web/src/appobj/ConnectionAppObject.svelte
index 5a817310e..3bca202ea 100644
--- a/packages/web/src/appobj/ConnectionAppObject.svelte
+++ b/packages/web/src/appobj/ConnectionAppObject.svelte
@@ -31,5 +31,6 @@
isBold={_.get($currentDatabase, 'connection._id') == data._id}
statusIcon={statusIcon}
statusTitle={statusTitle}
+ on:click
on:click={() => ($openedConnections = _.uniq([...$openedConnections, data._id]))}
/>
diff --git a/packages/web/src/appobj/DatabaseAppObject.svelte b/packages/web/src/appobj/DatabaseAppObject.svelte
new file mode 100644
index 000000000..1e04fcefc
--- /dev/null
+++ b/packages/web/src/appobj/DatabaseAppObject.svelte
@@ -0,0 +1,20 @@
+
+
+
($currentDatabase = data)}
+/>
diff --git a/packages/web/src/appobj/SubDatabaseList.svelte b/packages/web/src/appobj/SubDatabaseList.svelte
new file mode 100644
index 000000000..18c20fd53
--- /dev/null
+++ b/packages/web/src/appobj/SubDatabaseList.svelte
@@ -0,0 +1,11 @@
+
+
+ ({ ...db, connection: data }))} component={DatabaseAppObject} />
diff --git a/packages/web/src/widgets/ConnectionList.svelte b/packages/web/src/widgets/ConnectionList.svelte
index c36e7752f..194ad92ca 100644
--- a/packages/web/src/widgets/ConnectionList.svelte
+++ b/packages/web/src/widgets/ConnectionList.svelte
@@ -7,6 +7,7 @@
import SearchBoxWrapper from './SearchBoxWrapper.svelte';
import AppObjectList from '../appobj/AppObjectList.svelte';
import ConnectionAppObject from '../appobj/ConnectionAppObject.svelte';
+ import SubDatabaseList from '../appobj/SubDatabaseList.svelte';
const connections = useConnectionList();
const serverStatus = useServerStatus();
@@ -25,5 +26,7 @@
(displayName || server || '').toUpperCase())}
component={ConnectionAppObject}
+ subItemsComponent={SubDatabaseList}
+ expandOnClick
/>
diff --git a/packages/web/src/widgets/InlineButton.svelte b/packages/web/src/widgets/InlineButton.svelte
index e0b4ebf8a..494affec7 100644
--- a/packages/web/src/widgets/InlineButton.svelte
+++ b/packages/web/src/widgets/InlineButton.svelte
@@ -1,6 +1,6 @@