mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-20 15:56:00 +00:00
71 lines
1.7 KiB
TypeScript
71 lines
1.7 KiB
TypeScript
import { getFilterValueExpression } from 'dbgate-filterparser';
|
|
import _ from 'lodash';
|
|
import openNewTab from '../utility/openNewTab';
|
|
|
|
export default function openReferenceForm(rowData, column, conid, database) {
|
|
openNewTab(
|
|
{
|
|
title: column.foreignKey.refTableName,
|
|
icon: 'img table',
|
|
tabComponent: 'TableDataTab',
|
|
props: {
|
|
schemaName: column.foreignKey.refSchemaName,
|
|
pureName: column.foreignKey.refTableName,
|
|
conid,
|
|
database,
|
|
objectTypeField: 'tables',
|
|
},
|
|
},
|
|
{
|
|
grid: {
|
|
isFormView: true,
|
|
filters: {
|
|
[column.foreignKey.columns[0].refColumnName]: getFilterValueExpression(
|
|
rowData[column.foreignKey.columns[0].columnName],
|
|
'string'
|
|
),
|
|
},
|
|
},
|
|
},
|
|
{
|
|
forceNewTab: true,
|
|
}
|
|
);
|
|
}
|
|
|
|
export function openPrimaryKeyForm(rowData, baseTable, conid, database) {
|
|
const formViewKey = _.fromPairs(
|
|
baseTable.primaryKey.columns.map(({ columnName }) => [columnName, rowData[columnName]])
|
|
);
|
|
openNewTab(
|
|
{
|
|
title: baseTable.pureName,
|
|
icon: 'img table',
|
|
tabComponent: 'TableDataTab',
|
|
props: {
|
|
schemaName: baseTable.schemaName,
|
|
pureName: baseTable.pureName,
|
|
conid,
|
|
database,
|
|
objectTypeField: 'tables',
|
|
},
|
|
},
|
|
{
|
|
grid: {
|
|
isFormView: true,
|
|
filters: {
|
|
[baseTable.primaryKey.columns[0].columnName]: getFilterValueExpression(
|
|
rowData[baseTable.primaryKey.columns[0].columnName],
|
|
'string'
|
|
),
|
|
},
|
|
|
|
formViewKey,
|
|
},
|
|
},
|
|
{
|
|
forceNewTab: true,
|
|
}
|
|
);
|
|
}
|