expand all in json cell

This commit is contained in:
Jan Prochazka
2022-02-10 09:16:07 +01:00
parent 219e7445e4
commit a768547e80
4 changed files with 14 additions and 6 deletions

View File

@@ -41,7 +41,7 @@
import { showModal } from '../modals/modalTools'; import { showModal } from '../modals/modalTools';
import DictionaryLookupModal from '../modals/DictionaryLookupModal.svelte'; import DictionaryLookupModal from '../modals/DictionaryLookupModal.svelte';
import { openJsonDocument } from '../tabs/JsonTab.svelte'; import { openJsonDocument } from '../tabs/JsonTab.svelte';
import openNewTab from '../utility/openNewTab'; import openNewTab from '../utility/openNewTab';
export let rowIndex; export let rowIndex;
export let col; export let col;
@@ -153,7 +153,7 @@ import openNewTab from '../utility/openNewTab';
{/if} {/if}
{#if isJson} {#if isJson}
<ShowFormButton icon="icon open-in-new" on:click={() => openJsonDocument(value)} /> <ShowFormButton icon="icon open-in-new" on:click={() => openJsonDocument(value, undefined, true)} />
{/if} {/if}
{#if _.isArray(value)} {#if _.isArray(value)}

View File

@@ -7,12 +7,13 @@
import JSONValueNode from './JSONValueNode.svelte'; import JSONValueNode from './JSONValueNode.svelte';
import ErrorNode from './ErrorNode.svelte'; import ErrorNode from './ErrorNode.svelte';
import objType from './objType'; import objType from './objType';
import { getContext } from 'svelte';
export let key; export let key;
export let value; export let value;
export let isParentExpanded; export let isParentExpanded;
export let isParentArray; export let isParentArray;
export let expanded = false; export let expanded = !!getContext('json-tree-default-expanded');
export let labelOverride = null; export let labelOverride = null;
$: nodeType = objType(value); $: nodeType = objType(value);

View File

@@ -10,13 +10,16 @@
export let key = ''; export let key = '';
export let menu = null; export let menu = null;
export let value; export let value;
export let expanded = false; export let expandAll = false;
export let expanded = expandAll;
export let labelOverride = null; export let labelOverride = null;
export let isDeleted; export let isDeleted;
export let isInserted; export let isInserted;
export let isModified; export let isModified;
setContext('json-tree-default-expanded', expandAll);
const elementData = new WeakMap(); const elementData = new WeakMap();
if (elementData) { if (elementData) {

View File

@@ -1,10 +1,13 @@
<script lang="ts" context="module"> <script lang="ts" context="module">
export function openJsonDocument(json, title = 'JSON') { export function openJsonDocument(json, title = 'JSON', expandAll = false) {
openNewTab( openNewTab(
{ {
title, title,
icon: 'img json', icon: 'img json',
tabComponent: 'JsonTab', tabComponent: 'JsonTab',
props: {
expandAll,
},
}, },
{ editor: json } { editor: json }
); );
@@ -21,6 +24,7 @@
export let selection; export let selection;
export let showWholeRow = false; export let showWholeRow = false;
export let tabid; export let tabid;
export let expandAll;
let json = null; let json = null;
let error = null; let error = null;
@@ -35,7 +39,7 @@
<div class="outer"> <div class="outer">
<div class="inner"> <div class="inner">
<JSONTree value={json} expanded /> <JSONTree value={json} {expandAll} />
</div> </div>
</div> </div>