diff --git a/packages/web/src/appobj/AppObjectList.svelte b/packages/web/src/appobj/AppObjectList.svelte
index ed5477b3c..7644d5469 100644
--- a/packages/web/src/appobj/AppObjectList.svelte
+++ b/packages/web/src/appobj/AppObjectList.svelte
@@ -15,6 +15,8 @@
export let checkedObjectsStore = null;
export let disableContextMenu = false;
export let passProps;
+ export let getIsExpanded = null;
+ export let setIsExpanded = null;
export let groupFunc = undefined;
@@ -34,7 +36,6 @@
})
: null;
-
// let filtered = [];
// $: {
@@ -77,6 +78,8 @@
{disableContextMenu}
{filter}
{passProps}
+ {getIsExpanded}
+ {setIsExpanded}
/>
{/each}
{:else}
@@ -95,6 +98,8 @@
{filter}
isExpandedBySearch={childrenMatched.includes(data)}
{passProps}
+ {getIsExpanded}
+ {setIsExpanded}
/>
{/each}
{/if}
diff --git a/packages/web/src/appobj/AppObjectListItem.svelte b/packages/web/src/appobj/AppObjectListItem.svelte
index d3af18c99..ad8690ccf 100644
--- a/packages/web/src/appobj/AppObjectListItem.svelte
+++ b/packages/web/src/appobj/AppObjectListItem.svelte
@@ -22,23 +22,28 @@
export let disableContextMenu = false;
export let isExpandedBySearch = false;
export let passProps;
+ export let getIsExpanded = null;
+ export let setIsExpanded = null;
- let isExpanded = false;
+ let isExpandedCore = false;
async function handleExpand() {
if (subItemsComponent && expandOnClick) {
await tick();
- isExpanded = !isExpanded;
+ handleExpandButton();
}
}
function handleExpandButton() {
- isExpanded = !isExpanded;
+ if (getIsExpanded && setIsExpanded) {
+ setIsExpanded(data, !isExpanded);
+ } else {
+ isExpandedCore = !isExpandedCore;
+ }
}
$: expandable = data && isExpandable && isExpandable(data);
-
- $: if (!expandable && isExpanded) isExpanded = false;
+ $: isExpanded = expandable ? (getIsExpanded && setIsExpanded ? getIsExpanded(data) : isExpandedCore) : false;
{#if !isHidden}
diff --git a/packages/web/src/appobj/ConnectionAppObject.svelte b/packages/web/src/appobj/ConnectionAppObject.svelte
index b21604e85..7f680fb78 100644
--- a/packages/web/src/appobj/ConnectionAppObject.svelte
+++ b/packages/web/src/appobj/ConnectionAppObject.svelte
@@ -25,6 +25,7 @@
conid: connection._id,
keepOpen: true,
});
+ expandedConnections.update(x => _.uniq([...x, connection._id]));
}
}
@@ -32,7 +33,14 @@
+