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 @@
+
+