mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-24 06:06:00 +00:00
form view - open reference
This commit is contained in:
@@ -353,6 +353,7 @@ export abstract class GridDisplay {
|
|||||||
this.setConfig(cfg => ({
|
this.setConfig(cfg => ({
|
||||||
...cfg,
|
...cfg,
|
||||||
filters: _.omit(cfg.filters, [uniqueName]),
|
filters: _.omit(cfg.filters, [uniqueName]),
|
||||||
|
formFilterColumns: (cfg.formFilterColumns || []).filter(x => x != uniqueName),
|
||||||
}));
|
}));
|
||||||
this.reload();
|
this.reload();
|
||||||
}
|
}
|
||||||
@@ -720,22 +721,23 @@ export abstract class GridDisplay {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
switchToFormView(rowData) {
|
switchToFormView(rowIndex) {
|
||||||
if (!this.baseTable) return;
|
// if (!this.baseTable) return;
|
||||||
const { primaryKey } = this.baseTable;
|
// const { primaryKey } = this.baseTable;
|
||||||
if (!primaryKey) return;
|
// if (!primaryKey) return;
|
||||||
const { columns } = primaryKey;
|
// const { columns } = primaryKey;
|
||||||
|
|
||||||
this.setConfig(cfg => ({
|
this.setConfig(cfg => ({
|
||||||
...cfg,
|
...cfg,
|
||||||
isFormView: true,
|
isFormView: true,
|
||||||
formViewKey: rowData
|
formViewRecordNumber: rowIndex,
|
||||||
? _.pick(
|
// formViewKey: rowData
|
||||||
rowData,
|
// ? _.pick(
|
||||||
columns.map(x => x.columnName)
|
// rowData,
|
||||||
)
|
// columns.map(x => x.columnName)
|
||||||
: null,
|
// )
|
||||||
formViewKeyRequested: null,
|
// : null,
|
||||||
|
// formViewKeyRequested: null,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -123,7 +123,7 @@
|
|||||||
|
|
||||||
export function switchToView(view) {
|
export function switchToView(view) {
|
||||||
if (view == 'form') {
|
if (view == 'form') {
|
||||||
display.switchToFormView(selectedCellsPublished()[0]?.rowData);
|
display.switchToFormView(selectedCellsPublished()[0]?.row);
|
||||||
}
|
}
|
||||||
if (view == 'table') {
|
if (view == 'table') {
|
||||||
setConfig(cfg => ({
|
setConfig(cfg => ({
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
|
import { getFilterValueExpression } from 'dbgate-filterparser';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import openNewTab from '../utility/openNewTab';
|
import openNewTab from '../utility/openNewTab';
|
||||||
|
|
||||||
export default function openReferenceForm(rowData, column, conid, database) {
|
export default function openReferenceForm(rowData, column, conid, database) {
|
||||||
const formViewKey = _.fromPairs(
|
|
||||||
column.foreignKey.columns.map(({ refColumnName, columnName }) => [refColumnName, rowData[columnName]])
|
|
||||||
);
|
|
||||||
openNewTab(
|
openNewTab(
|
||||||
{
|
{
|
||||||
title: column.foreignKey.refTableName,
|
title: column.foreignKey.refTableName,
|
||||||
@@ -21,7 +19,12 @@ export default function openReferenceForm(rowData, column, conid, database) {
|
|||||||
{
|
{
|
||||||
grid: {
|
grid: {
|
||||||
isFormView: true,
|
isFormView: true,
|
||||||
formViewKey,
|
filters: {
|
||||||
|
[column.foreignKey.columns[0].refColumnName]: getFilterValueExpression(
|
||||||
|
rowData[column.foreignKey.columns[0].columnName],
|
||||||
|
'string'
|
||||||
|
),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -50,6 +53,13 @@ export function openPrimaryKeyForm(rowData, baseTable, conid, database) {
|
|||||||
{
|
{
|
||||||
grid: {
|
grid: {
|
||||||
isFormView: true,
|
isFormView: true,
|
||||||
|
filters: {
|
||||||
|
[baseTable.primaryKey.columns[0].columnName]: getFilterValueExpression(
|
||||||
|
rowData[baseTable.primaryKey.columns[0].columnName],
|
||||||
|
'string'
|
||||||
|
),
|
||||||
|
},
|
||||||
|
|
||||||
formViewKey,
|
formViewKey,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user