MPR references

This commit is contained in:
Jan Prochazka
2025-10-26 18:23:07 +01:00
parent 9f0107c002
commit f974c00a63
4 changed files with 25 additions and 14 deletions

View File

@@ -39,7 +39,8 @@ export class TableGridDisplay extends GridDisplay {
public getDictionaryDescription: DictionaryDescriptionFunc = null, public getDictionaryDescription: DictionaryDescriptionFunc = null,
isReadOnly = false, isReadOnly = false,
public isRawMode = false, public isRawMode = false,
public currentSettings = null public currentSettings = null,
public areReferencesAllowed = true
) { ) {
super(config, setConfig, cache, setCache, driver, dbinfo, serverVersion, currentSettings); super(config, setConfig, cache, setCache, driver, dbinfo, serverVersion, currentSettings);
@@ -248,6 +249,7 @@ export class TableGridDisplay extends GridDisplay {
} }
processReferences(select: Select, displayedColumnInfo: DisplayedColumnInfo, options) { processReferences(select: Select, displayedColumnInfo: DisplayedColumnInfo, options) {
if (!this.areReferencesAllowed) return;
this.addJoinsFromExpandedColumns(select, this.columns, 'basetbl', displayedColumnInfo); this.addJoinsFromExpandedColumns(select, this.columns, 'basetbl', displayedColumnInfo);
if (!options.isExport && this.displayOptions.showHintColumns) { if (!options.isExport && this.displayOptions.showHintColumns) {
this.addHintsToSelect(select); this.addHintsToSelect(select);

View File

@@ -95,8 +95,10 @@
{ divider: true }, { divider: true },
isProApp() &&
allowDefineVirtualReferences && { onClick: handleDefineVirtualForeignKey, text: 'Define virtual foreign key' }, allowDefineVirtualReferences && { onClick: handleDefineVirtualForeignKey, text: 'Define virtual foreign key' },
column.foreignKey && { column.foreignKey &&
isProApp() && {
onClick: handleCustomizeDescriptions, onClick: handleCustomizeDescriptions,
text: 'Customize description', text: 'Customize description',
}, },

View File

@@ -7,6 +7,7 @@
import { showModal } from '../modals/modalTools'; import { showModal } from '../modals/modalTools';
import ColumnEditorModal from '../tableeditor/ColumnEditorModal.svelte'; import ColumnEditorModal from '../tableeditor/ColumnEditorModal.svelte';
import { editorDeleteColumn } from 'dbgate-tools'; import { editorDeleteColumn } from 'dbgate-tools';
import { isProApp } from '../utility/proTools';
export let column; export let column;
export let display; export let display;
@@ -59,13 +60,17 @@
on:mouseup on:mouseup
> >
<div> <div>
{#if isProApp()}
<span class="expandColumnIcon" style={`margin-right: ${5 + (column.uniquePath.length - 1) * 10}px`}> <span class="expandColumnIcon" style={`margin-right: ${5 + (column.uniquePath.length - 1) * 10}px`}>
<FontIcon <FontIcon
icon={column.isExpandable ? plusExpandIcon(display.isExpandedColumn(column.uniqueName)) : 'icon invisible-box'} icon={column.isExpandable
? plusExpandIcon(display.isExpandedColumn(column.uniqueName))
: 'icon invisible-box'}
on:click={() => display.toggleExpandedColumn(column.uniqueName)} on:click={() => display.toggleExpandedColumn(column.uniqueName)}
data-testid="ColumnManagerRow_expand_{column.uniqueName}" data-testid="ColumnManagerRow_expand_{column.uniqueName}"
/> />
</span> </span>
{/if}
{#if isJsonView} {#if isJsonView}
<FontIcon icon="img column" /> <FontIcon icon="img column" />
{:else} {:else}

View File

@@ -30,6 +30,7 @@
import SqlFormView from '../formview/SqlFormView.svelte'; import SqlFormView from '../formview/SqlFormView.svelte';
import { getBoolSettingsValue } from '../settings/settingsTools'; import { getBoolSettingsValue } from '../settings/settingsTools';
import { getDictionaryDescription } from '../utility/dictionaryDescriptionTools'; import { getDictionaryDescription } from '../utility/dictionaryDescriptionTools';
import { isProApp } from '../utility/proTools';
export let conid; export let conid;
export let database; export let database;
@@ -82,7 +83,8 @@
extendedDbInfo?.tables?.find(x => x.pureName == pureName && x.schemaName == schemaName) extendedDbInfo?.tables?.find(x => x.pureName == pureName && x.schemaName == schemaName)
?.tablePermissionRole == 'read', ?.tablePermissionRole == 'read',
isRawMode, isRawMode,
$settingsValue $settingsValue,
isProApp()
) )
: null; : null;