diff --git a/packages/web/src/appobj/AppObjectCore.svelte b/packages/web/src/appobj/AppObjectCore.svelte index dc82c4e3e..629f71a03 100644 --- a/packages/web/src/appobj/AppObjectCore.svelte +++ b/packages/web/src/appobj/AppObjectCore.svelte @@ -8,8 +8,8 @@ export let icon; export let title; - export let data; - export let module; + export let data = null; + export let module = null; export let isBold = false; export let isBusy = false; @@ -24,8 +24,10 @@ export let onPin = null; export let onUnpin = null; export let showPinnedInsteadOfUnpin = false; + export let indentLevel = 0; - $: isChecked = checkedObjectsStore && $checkedObjectsStore.find(x => module.extractKey(data) == module.extractKey(x)); + $: isChecked = + checkedObjectsStore && $checkedObjectsStore.find(x => module?.extractKey(data) == module?.extractKey(x)); function handleExpand() { dispatch('expand'); @@ -33,7 +35,7 @@ function handleClick() { if (checkedObjectsStore) { if (isChecked) { - checkedObjectsStore.update(x => x.filter(y => module.extractKey(data) != module.extractKey(y))); + checkedObjectsStore.update(x => x.filter(y => module?.extractKey(data) != module?.extractKey(y))); } else { checkedObjectsStore.update(x => [...x, data]); } @@ -52,12 +54,14 @@ function setChecked(value) { if (!value && isChecked) { - checkedObjectsStore.update(x => x.filter(y => module.extractKey(data) != module.extractKey(y))); + checkedObjectsStore.update(x => x.filter(y => module?.extractKey(data) != module?.extractKey(y))); } if (value && !isChecked) { checkedObjectsStore.update(x => [...x, data]); } } + + $: console.log(title, indentLevel);
{/if} + {#if indentLevel} + + {/if} {#if isBusy} {:else} @@ -188,5 +195,4 @@ float: right; color: var(--theme-font-2); } - diff --git a/packages/web/src/icons/FontIcon.svelte b/packages/web/src/icons/FontIcon.svelte index c308bb22b..1ff16ff98 100644 --- a/packages/web/src/icons/FontIcon.svelte +++ b/packages/web/src/icons/FontIcon.svelte @@ -167,6 +167,16 @@ 'img link': 'mdi mdi-link', 'img filter': 'mdi mdi-filter', 'img group': 'mdi mdi-group', + + 'img folder': 'mdi mdi-folder color-icon-yellow', + 'img type-string': 'mdi mdi-alphabetical color-icon-blue', + 'img type-hash': 'mdi mdi-pound color-icon-blue', + 'img type-set': 'mdi mdi-format-list-bulleted color-icon-blue', + 'img type-list': 'mdi mdi-format-list-numbered color-icon-blue', + 'img type-zset': 'mdi mdi-format-list-checks color-icon-blue', + 'img type-stream': 'mdi mdi-view-stream color-icon-blue', + 'img type-binary': 'mdi mdi-file color-icon-blue', + 'img type-rejson': 'mdi mdi-color-json color-icon-blue', }; diff --git a/packages/web/src/widgets/DbKeysSubTree.svelte b/packages/web/src/widgets/DbKeysSubTree.svelte index ac9b664de..9a0270c20 100644 --- a/packages/web/src/widgets/DbKeysSubTree.svelte +++ b/packages/web/src/widgets/DbKeysSubTree.svelte @@ -6,10 +6,11 @@ export let database; export let root; + export let indentLevel = 0; $: items = useDatabaseKeys({ conid, database, root }); {#each $items || [] as item} - + {/each} diff --git a/packages/web/src/widgets/DbKeysTree.svelte b/packages/web/src/widgets/DbKeysTree.svelte index b3303b17b..944c91540 100644 --- a/packages/web/src/widgets/DbKeysTree.svelte +++ b/packages/web/src/widgets/DbKeysTree.svelte @@ -1,8 +1,29 @@ - + + + + + + + + + + diff --git a/packages/web/src/widgets/DbKeysTreeNode.svelte b/packages/web/src/widgets/DbKeysTreeNode.svelte index d315238c1..d339bda8c 100644 --- a/packages/web/src/widgets/DbKeysTreeNode.svelte +++ b/packages/web/src/widgets/DbKeysTreeNode.svelte @@ -1,4 +1,8 @@ -
(isExpanded = !isExpanded)}> + { + isExpanded = !isExpanded; + }} + {indentLevel} +/> + {#if isExpanded} - + {/if}