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