diff --git a/packages/web/src/tabs/SqlObjectTab.svelte b/packages/web/src/tabs/SqlObjectTab.svelte index cbb03c674..57cffea99 100644 --- a/packages/web/src/tabs/SqlObjectTab.svelte +++ b/packages/web/src/tabs/SqlObjectTab.svelte @@ -26,13 +26,13 @@ import LoadingInfo from '../elements/LoadingInfo.svelte'; import ToolStripCommandButton from '../buttons/ToolStripCommandButton.svelte'; import SelectField from '../forms/SelectField.svelte'; + import { changeTab } from '../utility/common'; export let tabid; export let appObjectData; - export let initialScriptTemplate; + export let scriptTemplate; - let scriptTemplate = - initialScriptTemplate ?? getSupportedScriptTemplates(appObjectData.objectTypeField)?.[0]?.scriptTemplate; + $: defaultScriptTemplate = getSupportedScriptTemplates(appObjectData.objectTypeField)?.[0]?.scriptTemplate; $: connection = useConnectionInfo({ conid: appObjectData.conid }); $: driver = findEngineDriver($connection, $extensions); @@ -58,11 +58,12 @@ - {#await applyScriptTemplate(scriptTemplate, $extensions, appObjectData)} + {#await applyScriptTemplate(scriptTemplate ?? defaultScriptTemplate, $extensions, appObjectData)} {:then sql} { activator.activate(); @@ -75,16 +76,21 @@ {/await} - ({ label: x.label, value: x.scriptTemplate, }))} on:change={e => { - scriptTemplate = e.detail; + changeTab(tabid, tab => ({ + ...tab, + props: { + ...tab.props, + scriptTemplate: e.detail, + }, + })); }} />