open SQL command in query designer

This commit is contained in:
Jan Prochazka
2022-01-01 11:12:29 +01:00
parent 7ba8ef01c5
commit f6f0108e17

View File

@@ -1,6 +1,17 @@
<script lang="ts" context="module"> <script lang="ts" context="module">
const getCurrentEditor = () => getActiveComponent('QueryDesignTab'); const getCurrentEditor = () => getActiveComponent('QueryDesignTab');
registerCommand({
id: 'designer.openSql',
category: 'Designer',
icon: 'icon sql-file',
name: 'Open SQL',
toolbar: true,
isRelatedToTab: true,
testEnabled: () => getCurrentEditor() != null,
onClick: () => getCurrentEditor().openSql(),
});
registerFileCommands({ registerFileCommands({
idPrefix: 'designer', idPrefix: 'designer',
category: 'Designer', category: 'Designer',
@@ -37,6 +48,8 @@
import useTimerLabel from '../utility/useTimerLabel'; import useTimerLabel from '../utility/useTimerLabel';
import createActivator, { getActiveComponent } from '../utility/createActivator'; import createActivator, { getActiveComponent } from '../utility/createActivator';
import { apiCall, apiOff, apiOn } from '../utility/api'; import { apiCall, apiOff, apiOn } from '../utility/api';
import registerCommand from '../commands/registerCommand';
import newQuery from '../query/newQuery';
export let tabid; export let tabid;
export let conid; export let conid;
@@ -148,6 +161,10 @@
dispatchModel({ type: 'redo' }); dispatchModel({ type: 'redo' });
} }
export function openSql() {
newQuery({ initialData: sqlPreview });
}
const generatePreview = (value, engine) => { const generatePreview = (value, engine) => {
if (!engine || !value) return; if (!engine || !value) return;
const sql = generateDesignedQuery(value, engine); const sql = generateDesignedQuery(value, engine);
@@ -191,6 +208,7 @@
return [ return [
{ command: 'designer.execute' }, { command: 'designer.execute' },
{ command: 'designer.kill' }, { command: 'designer.kill' },
{ command: 'designer.openSql' },
{ divider: true }, { divider: true },
{ command: 'designer.save' }, { command: 'designer.save' },
{ command: 'designer.saveAs' }, { command: 'designer.saveAs' },