tree loader

This commit is contained in:
SPRINX0\prochazka
2025-05-14 10:32:42 +02:00
parent 0af38c6e0e
commit b16b02c3f1
5 changed files with 56 additions and 42 deletions

View File

@@ -26,7 +26,7 @@
export let database;
export let connection;
export let root;
export let key;
export let item;
export let indentLevel = 0;
@@ -36,7 +36,7 @@
export let model: DbKeysTreeModel;
export let changeModel: DbKeysChangeModelFunction;
$: isExpanded = model.dirsByKey[item.root]?.isExpanded;
$: isExpanded = model.dirsByKey[item.key]?.isExpanded;
// $: console.log(item.text, indentLevel);
function createMenu() {
@@ -55,7 +55,7 @@
args: [item.key],
});
changeModel(m => dbKeys_reloadFolder(m, root));
changeModel(m => dbKeys_reloadFolder(m, key));
},
});
},
@@ -76,7 +76,7 @@
args: [item.key, newName],
});
changeModel(m => dbKeys_reloadFolder(m, root));
changeModel(m => dbKeys_reloadFolder(m, key));
},
});
},
@@ -85,7 +85,7 @@
!connection?.isReadOnly && {
label: 'Reload',
onClick: () => {
changeModel(m => dbKeys_reloadFolder(m, root));
changeModel(m => dbKeys_reloadFolder(m, key));
},
},
item.type == 'dir' &&
@@ -103,7 +103,7 @@
args: [branch],
});
changeModel(m => dbKeys_reloadFolder(m, root));
changeModel(m => dbKeys_reloadFolder(m, key));
},
});
},
@@ -141,12 +141,12 @@
expandIcon={item.type == 'dir' ? plusExpandIcon(isExpanded) : 'icon invisible-box'}
on:expand={() => {
if (item.type == 'dir') {
changeModel(tree => dbKeys_markNodeExpanded(tree, item.root, !isExpanded));
changeModel(tree => dbKeys_markNodeExpanded(tree, item.key, !isExpanded));
}
}}
on:click={() => {
if (item.type == 'dir') {
changeModel(tree => dbKeys_markNodeExpanded(tree, item.root, !isExpanded));
changeModel(tree => dbKeys_markNodeExpanded(tree, item.key, !isExpanded));
} else {
openNewTab({
tabComponent: 'DbKeyDetailTab',
@@ -184,7 +184,7 @@
<DbKeysSubTree
{conid}
{database}
root={item.root}
key={item.key}
indentLevel={indentLevel + 1}
{connection}
{filter}