mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
dbeaver/pro#9171 adds ability to open sql editor with context from Generate SQL dialog (#4488)
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
This commit is contained in:
co-authored by
Daria Marutkina
parent
6042f16342
commit
16dda810d7
+4
-2
@@ -121,6 +121,8 @@ export class DataGridContextMenuGenerateSqlService {
|
||||
return;
|
||||
}
|
||||
|
||||
const options = model.source.options as IDataContainerOptions | undefined;
|
||||
const nodePath = options?.containerNodePath;
|
||||
const select = model.source.tryGetAction(resultIndex, IDatabaseDataSelectAction, GridSelectAction);
|
||||
const projectId = model.source.executionContext?.context?.projectId;
|
||||
const connectionId = model.source.executionContext?.context?.connectionId;
|
||||
@@ -162,7 +164,7 @@ export class DataGridContextMenuGenerateSqlService {
|
||||
|
||||
await this.commonDialogService.open(GeneratedSqlDialog, {
|
||||
query,
|
||||
nodeId: connectionId,
|
||||
nodeId: nodePath ?? connectionId,
|
||||
options: getDefaultQueryGeneratorOptions(),
|
||||
regenerateQuery: options =>
|
||||
this.generateQuery({
|
||||
@@ -215,7 +217,7 @@ export class DataGridContextMenuGenerateSqlService {
|
||||
|
||||
await this.commonDialogService.open(GeneratedSqlDialog, {
|
||||
query,
|
||||
nodeId: connectionId,
|
||||
nodeId: nodePathList,
|
||||
options: getDefaultQueryGeneratorOptions(),
|
||||
regenerateQuery: genOptions => this.sqlGenerationResource.generateEntityQuery(createGenerator.id, nodePathList, genOptions),
|
||||
});
|
||||
|
||||
@@ -23,6 +23,7 @@ import {
|
||||
import { ConnectionDialectResource, ConnectionInfoResource, createConnectionParam } from '@cloudbeaver/core-connections';
|
||||
import { useService } from '@cloudbeaver/core-di';
|
||||
import type { DialogComponentProps } from '@cloudbeaver/core-dialogs';
|
||||
import { NavNodeManagerService } from '@cloudbeaver/core-navigation-tree';
|
||||
import { useCodemirrorExtensions } from '@cloudbeaver/plugin-codemirror6';
|
||||
import { SqlEditorNavigatorService } from '@cloudbeaver/plugin-sql-editor-navigation-tab';
|
||||
import { SQLCodeEditor, useSqlDialectExtension } from '@cloudbeaver/plugin-sql-editor-codemirror';
|
||||
@@ -80,6 +81,7 @@ export const GeneratedSqlDialog = observer<DialogComponentProps<Payload>>(functi
|
||||
|
||||
const connectionInfoResource = useService(ConnectionInfoResource);
|
||||
const sqlEditorNavigatorService = useService(SqlEditorNavigatorService);
|
||||
const navNodeManagerService = useService(NavNodeManagerService);
|
||||
const connection = connectionInfoResource.getConnectionForNode(payload.nodeId);
|
||||
|
||||
const connectionDialectResource = useResource(GeneratedSqlDialog, ConnectionDialectResource, connection ? createConnectionParam(connection) : null);
|
||||
@@ -94,8 +96,12 @@ export const GeneratedSqlDialog = observer<DialogComponentProps<Payload>>(functi
|
||||
|
||||
async function handleOpenInEditor() {
|
||||
try {
|
||||
const container = navNodeManagerService.getNodeContainerInfo(payload.nodeId);
|
||||
|
||||
await sqlEditorNavigatorService.openNewEditor({
|
||||
connectionKey: connection ? createConnectionParam(connection) : undefined,
|
||||
catalogId: container.catalogId,
|
||||
schemaId: container.schemaId,
|
||||
query: state.query,
|
||||
});
|
||||
rejectDialog();
|
||||
|
||||
Reference in New Issue
Block a user