diff --git a/packages/web/src/datagrid/ColumnHeaderControl.svelte b/packages/web/src/datagrid/ColumnHeaderControl.svelte index 48a0b88a2..17e142a40 100644 --- a/packages/web/src/datagrid/ColumnHeaderControl.svelte +++ b/packages/web/src/datagrid/ColumnHeaderControl.svelte @@ -16,6 +16,7 @@ export let setSort; export let grouping = undefined; export let order = undefined; + export let allowDefineVirtualReferences = false; export let setGrouping; const openReferencedTable = () => { @@ -62,8 +63,10 @@ { onClick: () => setGrouping('GROUP:DAY'), text: 'Group by DAY' }, ], - { divider: true }, - { onClick: handleDefineVirtualForeignKey, text: 'Define virtual foreign key' }, + allowDefineVirtualReferences && [ + { divider: true }, + { onClick: handleDefineVirtualForeignKey, text: 'Define virtual foreign key' }, + ], ]; } diff --git a/packages/web/src/datagrid/DataGridCore.svelte b/packages/web/src/datagrid/DataGridCore.svelte index 6ef9b98f0..e3f6175f1 100644 --- a/packages/web/src/datagrid/DataGridCore.svelte +++ b/packages/web/src/datagrid/DataGridCore.svelte @@ -303,6 +303,7 @@ export let errorMessage = undefined; export let pureName = undefined; export let schemaName = undefined; + export let allowDefineVirtualReferences = false; export let isLoadedAll; export let loadedTime; @@ -1425,6 +1426,7 @@ }} setGrouping={display.groupable ? groupFunc => display.setGrouping(col.uniqueName, groupFunc) : null} grouping={display.getGrouping(col.uniqueName)} + {allowDefineVirtualReferences} /> {/each} diff --git a/packages/web/src/datagrid/TableDataGrid.svelte b/packages/web/src/datagrid/TableDataGrid.svelte index c67ad4054..e2e9331c9 100644 --- a/packages/web/src/datagrid/TableDataGrid.svelte +++ b/packages/web/src/datagrid/TableDataGrid.svelte @@ -164,6 +164,7 @@ macroCondition={macro => macro.type == 'transformValue'} onReferenceSourceChanged={reference ? handleReferenceSourceChanged : null} multipleGridsOnTab={multipleGridsOnTab || !!reference} + allowDefineVirtualReferences onReferenceClick={value => { if (value && value.referenceId && reference && reference.referenceId == value.referenceId) { // reference not changed