diff --git a/packages/datalib/src/JslGridDisplay.ts b/packages/datalib/src/JslGridDisplay.ts index 99149c994..b77724e19 100644 --- a/packages/datalib/src/JslGridDisplay.ts +++ b/packages/datalib/src/JslGridDisplay.ts @@ -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; diff --git a/packages/web/src/datagrid/JslDataGrid.svelte b/packages/web/src/datagrid/JslDataGrid.svelte index da9acad6a..9081b001d 100644 --- a/packages/web/src/datagrid/JslDataGrid.svelte +++ b/packages/web/src/datagrid/JslDataGrid.svelte @@ -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} diff --git a/packages/web/src/query/ResultTabs.svelte b/packages/web/src/query/ResultTabs.svelte index eb9fc0ba1..8597cc652 100644 --- a/packages/web/src/query/ResultTabs.svelte +++ b/packages/web/src/query/ResultTabs.svelte @@ -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 }, }))), ]; diff --git a/packages/web/src/tabs/QueryTab.svelte b/packages/web/src/tabs/QueryTab.svelte index ee9ad245d..3ec0ed36d 100644 --- a/packages/web/src/tabs/QueryTab.svelte +++ b/packages/web/src/tabs/QueryTab.svelte @@ -398,7 +398,7 @@ {/if} - +