diff --git a/packages/web/src/formview/CollectionJsonRow.svelte b/packages/web/src/formview/CollectionJsonRow.svelte index b64f32b01..7a64ad48d 100644 --- a/packages/web/src/formview/CollectionJsonRow.svelte +++ b/packages/web/src/formview/CollectionJsonRow.svelte @@ -31,6 +31,9 @@ export let rowIndex; export let grider; + export let expandAll = false; + let expandKey = 0; + $: rowData = grider.getRowData(rowIndex); $: rowStatus = grider.getRowStatus(rowIndex); @@ -43,18 +46,27 @@ copyTextToClipboard(JSON.stringify(rowData, undefined, 2)); } + function handleExpandDocument() { + expandAll = true; + expandKey += 1; + } + registerMenu([ { text: 'Copy JSON document', onClick: handleCopyJsonDocument }, { text: 'Edit document', onClick: handleEditDocument }, { text: 'Delete document', onClick: () => grider.deleteRow(rowIndex) }, { text: 'Revert row changes', onClick: () => grider.revertRowChanges(rowIndex) }, + { text: 'Expand document', onClick: handleExpandDocument }, ]); - +{#key expandKey} + +{/key} diff --git a/packages/web/src/formview/CollectionJsonView.svelte b/packages/web/src/formview/CollectionJsonView.svelte index 68390b5bf..28d669e36 100644 --- a/packages/web/src/formview/CollectionJsonView.svelte +++ b/packages/web/src/formview/CollectionJsonView.svelte @@ -1,5 +1,24 @@
@@ -68,9 +106,11 @@ display.reload()} />
- {#each _.range(0, grider.rowCount) as rowIndex} - - {/each} + {#key expandKey} + {#each _.range(0, grider.rowCount) as rowIndex} + + {/each} + {/key}
diff --git a/packages/web/src/icons/FontIcon.svelte b/packages/web/src/icons/FontIcon.svelte index ebf3aacfb..b1f956c37 100644 --- a/packages/web/src/icons/FontIcon.svelte +++ b/packages/web/src/icons/FontIcon.svelte @@ -204,6 +204,8 @@ 'icon type-unknown': 'mdi mdi-help-box', 'icon at': 'mdi mdi-at', + 'icon expand-all': 'mdi mdi-expand-all', + 'icon collapse-all': 'mdi mdi-collapse-all', 'img ok': 'mdi mdi-check-circle color-icon-green', 'img ok-inv': 'mdi mdi-check-circle color-icon-inv-green', diff --git a/packages/web/src/tabs/CollectionDataTab.svelte b/packages/web/src/tabs/CollectionDataTab.svelte index 03f9fa85d..088ea1dec 100644 --- a/packages/web/src/tabs/CollectionDataTab.svelte +++ b/packages/web/src/tabs/CollectionDataTab.svelte @@ -216,5 +216,7 @@ + +