mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-29 15:43:59 +00:00
query result - use editor behaviour from driver
This commit is contained in:
@@ -3,6 +3,7 @@ import { GridDisplay, ChangeCacheFunc, ChangeConfigFunc } from './GridDisplay';
|
||||
import { GridConfig, GridCache } from './GridConfig';
|
||||
import { analyseCollectionDisplayColumns } from './CollectionGridDisplay';
|
||||
import { evalFilterBehaviour } from 'dbgate-tools';
|
||||
import { EngineDriver } from 'dbgate-types';
|
||||
|
||||
export class JslGridDisplay extends GridDisplay {
|
||||
constructor(
|
||||
@@ -15,9 +16,10 @@ export class JslGridDisplay extends GridDisplay {
|
||||
rows: any,
|
||||
isDynamicStructure: boolean,
|
||||
supportsReload: boolean,
|
||||
editable: boolean = false
|
||||
editable: boolean = false,
|
||||
driver: EngineDriver = null
|
||||
) {
|
||||
super(config, setConfig, cache, setCache, null);
|
||||
super(config, setConfig, cache, setCache, driver);
|
||||
|
||||
this.filterable = true;
|
||||
this.sortable = true;
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
export let allowChangeChangeSetStructure = false;
|
||||
export let infoLoadCounter = 0;
|
||||
|
||||
export let driver;
|
||||
|
||||
let loadedRows;
|
||||
let infoCounter = 0;
|
||||
|
||||
@@ -68,7 +70,8 @@
|
||||
loadedRows,
|
||||
infoUsed?.__isDynamicStructure,
|
||||
supportsReload,
|
||||
!!changeSetState
|
||||
!!changeSetState,
|
||||
driver
|
||||
);
|
||||
|
||||
function handleSetLoadedRows(rows) {
|
||||
@@ -99,22 +102,24 @@
|
||||
preprocessLoadedRow={changeSetState?.value?.dataUpdateCommands
|
||||
? row => processJsonDataUpdateCommands(row, changeSetState?.value?.dataUpdateCommands)
|
||||
: null}
|
||||
dataEditorTypesBehaviourOverride={{
|
||||
parseJsonNull: true,
|
||||
parseJsonBoolean: true,
|
||||
parseNumber: true,
|
||||
parseJsonArray: true,
|
||||
parseJsonObject: true,
|
||||
dataEditorTypesBehaviourOverride={driver
|
||||
? null
|
||||
: {
|
||||
parseJsonNull: true,
|
||||
parseJsonBoolean: true,
|
||||
parseNumber: true,
|
||||
parseJsonArray: true,
|
||||
parseJsonObject: true,
|
||||
|
||||
explicitDataType: true,
|
||||
explicitDataType: true,
|
||||
|
||||
supportNumberType: true,
|
||||
supportStringType: true,
|
||||
supportBooleanType: true,
|
||||
supportNullType: true,
|
||||
supportJsonType: true,
|
||||
supportNumberType: true,
|
||||
supportStringType: true,
|
||||
supportBooleanType: true,
|
||||
supportNullType: true,
|
||||
supportJsonType: true,
|
||||
|
||||
supportFieldRemoval: true,
|
||||
}}
|
||||
supportFieldRemoval: true,
|
||||
}}
|
||||
/>
|
||||
{/key}
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
export let tabs = [];
|
||||
export let sessionId;
|
||||
export let executeNumber;
|
||||
export let driver;
|
||||
|
||||
export let resultCount;
|
||||
|
||||
@@ -54,7 +55,7 @@
|
||||
label: `Result ${index + 1}`,
|
||||
isResult: true,
|
||||
component: JslDataGrid,
|
||||
props: { jslid: info.jslid },
|
||||
props: { jslid: info.jslid, driver },
|
||||
}))),
|
||||
];
|
||||
|
||||
|
||||
@@ -398,7 +398,7 @@
|
||||
{/if}
|
||||
</svelte:fragment>
|
||||
<svelte:fragment slot="2">
|
||||
<ResultTabs tabs={[{ label: 'Messages', slot: 0 }]} {sessionId} {executeNumber} bind:resultCount>
|
||||
<ResultTabs tabs={[{ label: 'Messages', slot: 0 }]} {sessionId} {executeNumber} bind:resultCount {driver}>
|
||||
<svelte:fragment slot="0">
|
||||
<SocketMessageView
|
||||
eventName={sessionId ? `session-info-${sessionId}` : null}
|
||||
|
||||
Reference in New Issue
Block a user