diff --git a/frontend/src/lib/components/propertyPicker/ObjectViewer.svelte b/frontend/src/lib/components/propertyPicker/ObjectViewer.svelte
index 5e760c91f6..9a89332e34 100644
--- a/frontend/src/lib/components/propertyPicker/ObjectViewer.svelte
+++ b/frontend/src/lib/components/propertyPicker/ObjectViewer.svelte
@@ -11,24 +11,17 @@
export let level = 0
export let currentPath: string = ''
export let pureViewer = false
- export let collapsed = level == 3 || Array.isArray(json)
+ export let collapsed = level % 3 == 0 || Array.isArray(json)
export let rawKey = false
export let topBrackets = false
export let topLevelNode = false
export let allowCopy = true
const collapsedSymbol = '...'
- let keys: string | any[]
- let isArray: boolean
- let openBracket: string
- let closeBracket: string
-
- $: {
- keys = getTypeAsString(json) === 'object' ? Object.keys(json) : []
- isArray = Array.isArray(json)
- openBracket = isArray ? '[' : '{'
- closeBracket = isArray ? ']' : '}'
- }
+ $: keys = getTypeAsString(json) === 'object' ? Object.keys(json) : []
+ $: isArray = Array.isArray(json)
+ $: openBracket = isArray ? '[' : '{'
+ $: closeBracket = isArray ? ']' : '}'
export function getTypeAsString(arg: any): string {
if (arg === null) {
@@ -53,82 +46,86 @@
dispatch('select', rawKey ? key : computeKey(key, isArray, currentPath))
}
- let keyLimit = 100
+ $: keyLimit = isArray ? 1 : 100
{#if keys.length > 0}
-
- {#if level != 0}
-
-
- -
-
- {/if}
- {#if level == 0 && topBrackets}{openBracket}{/if}
-
- {#each keys.length > keyLimit ? keys.slice(0, keyLimit) : keys as key, index (key)}
-
- {#if level == 0 && topBrackets}{closeBracket}{/if}
-
+ {#if level == 0 && topBrackets}{openBracket}{/if}
+