query toolstip

This commit is contained in:
Jan Prochazka
2022-02-12 20:53:55 +01:00
parent 74cf073bfa
commit 488b200fcb
5 changed files with 108 additions and 77 deletions

View File

@@ -50,6 +50,9 @@
import { apiCall, apiOff, apiOn } from '../utility/api';
import registerCommand from '../commands/registerCommand';
import newQuery from '../query/newQuery';
import ToolStripContainer from '../buttons/ToolStripContainer.svelte';
import ToolStripCommandButton from '../buttons/ToolStripCommandButton.svelte';
import ToolStripExportButton, { createQuickExportHandlerRef } from '../buttons/ToolStripExportButton.svelte';
export let tabid;
export let conid;
@@ -233,53 +236,64 @@
},
];
}
const quickExportHandlerRef = createQuickExportHandlerRef();
</script>
<VerticalSplitter initialValue="70%">
<svelte:fragment slot="1">
<QueryDesigner
value={$modelState.value || {}}
{conid}
{database}
engine={$connection && $connection.engine}
onChange={handleChange}
menu={createMenu}
/>
</svelte:fragment>
<ToolStripContainer>
<VerticalSplitter initialValue="70%">
<svelte:fragment slot="1">
<QueryDesigner
value={$modelState.value || {}}
{conid}
{database}
engine={$connection && $connection.engine}
onChange={handleChange}
menu={createMenu}
/>
</svelte:fragment>
<svelte:fragment slot="2">
<ResultTabs
tabs={[
{
label: 'Columns',
component: QueryDesignColumns,
props: {
value: $modelState.value || {},
onChange: handleChange,
<svelte:fragment slot="2">
<ResultTabs
tabs={[
{
label: 'Columns',
component: QueryDesignColumns,
props: {
value: $modelState.value || {},
onChange: handleChange,
},
},
},
{
label: 'SQL',
component: SqlEditor,
props: {
engine: $connection && $connection.engine,
readOnly: true,
value: sqlPreview,
{
label: 'SQL',
component: SqlEditor,
props: {
engine: $connection && $connection.engine,
readOnly: true,
value: sqlPreview,
},
},
},
visibleResultTabs && { label: 'Messages', slot: 0 },
]}
{sessionId}
{executeNumber}
>
<svelte:fragment slot="0">
<SocketMessageView
eventName={sessionId ? `session-info-${sessionId}` : null}
{executeNumber}
showProcedure
showLine
/>
</svelte:fragment>
</ResultTabs>
visibleResultTabs && { label: 'Messages', slot: 0 },
]}
{sessionId}
{executeNumber}
>
<svelte:fragment slot="0">
<SocketMessageView
eventName={sessionId ? `session-info-${sessionId}` : null}
{executeNumber}
showProcedure
showLine
/>
</svelte:fragment>
</ResultTabs>
</svelte:fragment>
</VerticalSplitter>
<svelte:fragment slot="toolstrip">
<ToolStripCommandButton command="designer.execute" />
<ToolStripCommandButton command="designer.kill" />
<ToolStripCommandButton command="designer.openSql" />
<ToolStripCommandButton command="designer.save" />
<ToolStripExportButton command="jslTableGrid.export" {quickExportHandlerRef} label="Export result" />
</svelte:fragment>
</VerticalSplitter>
</ToolStripContainer>

View File

@@ -68,8 +68,9 @@
import StatusBarTabItem from '../widgets/StatusBarTabItem.svelte';
import { showSnackbarError } from '../utility/snackbar';
import { apiCall, apiOff, apiOn } from '../utility/api';
import ToolStripCommandButton from '../buttons/ToolStripCommandButton.svelte';
import ToolStripContainer from '../buttons/ToolStripContainer.svelte';
import ToolStripCommandButton from '../buttons/ToolStripCommandButton.svelte';
import ToolStripContainer from '../buttons/ToolStripContainer.svelte';
import ToolStripExportButton, { createQuickExportHandlerRef } from '../buttons/ToolStripExportButton.svelte';
export let tabid;
export let conid;
@@ -85,6 +86,7 @@ import ToolStripContainer from '../buttons/ToolStripContainer.svelte';
let executeNumber = 0;
let visibleResultTabs = false;
let sessionId = null;
let resultCount;
let domEditor;
@@ -270,6 +272,8 @@ import ToolStripContainer from '../buttons/ToolStripContainer.svelte';
{ command: 'query.replace' },
];
}
const quickExportHandlerRef = createQuickExportHandlerRef();
</script>
<ToolStripContainer>
@@ -306,7 +310,7 @@ import ToolStripContainer from '../buttons/ToolStripContainer.svelte';
{/if}
</svelte:fragment>
<svelte:fragment slot="2">
<ResultTabs tabs={[{ label: 'Messages', slot: 0 }]} {sessionId} {executeNumber}>
<ResultTabs tabs={[{ label: 'Messages', slot: 0 }]} {sessionId} {executeNumber} bind:resultCount>
<svelte:fragment slot="0">
<SocketMessageView
eventName={sessionId ? `session-info-${sessionId}` : null}
@@ -324,6 +328,9 @@ import ToolStripContainer from '../buttons/ToolStripContainer.svelte';
<ToolStripCommandButton command="query.kill" />
<ToolStripCommandButton command="query.save" />
<ToolStripCommandButton command="query.formatCode" />
{#if resultCount == 1}
<ToolStripExportButton command="jslTableGrid.export" {quickExportHandlerRef} label="Export result" />
{/if}
</svelte:fragment>
</ToolStripContainer>