{#if driver?.databaseEngineTypes?.includes('sql')} { setEditorData(e.detail); if (isInitialized) { markTabUnsaved(tabid); } errorMessages = []; }} on:focus={() => { activator.activate(); domToolStrip?.activate(); invalidateCommands(); setTimeout(() => { isInitialized = true; }, 100); }} bind:this={domEditor} onExecuteFragment={(sql, startLine) => executeCore(sql, startLine)} {errorMessages} /> {:else} setEditorData(e.detail)} on:focus={() => { activator.activate(); domToolStrip?.activate(); invalidateCommands(); }} bind:this={domEditor} /> {/if} { isAiAssistantVisible = false; }} text={$editorValue} getLine={() => domEditor.getEditor().getSelectionRange().start.row} onInsertAtCursor={text => { const editor = domEditor.getEditor(); editor.session.insert(editor.getCursorPosition(), text); domEditor?.getEditor()?.focus(); }} getTextOrSelectedText={() => domEditor.getEditor().getSelectedText() || $editorValue} onSetSelectedText={text => { const editor = domEditor.getEditor(); if (editor.getSelectedText()) { const range = editor.selection.getRange(); editor.session.replace(range, text); } else { editor.setValue(text); } }} {tabid} /> {#if resultCount == 1} {/if} QUERY_PARAMETER_STYLES.map(param => ({ label: param.text, onClick: () => { queryParameterStyle = param.value; localStorage.setItem(`tabdata_queryParamStyle_${tabid}`, queryParameterStyle); }, }))} label={QUERY_PARAMETER_STYLES.find(x => x.value == queryParameterStyle)?.text} icon="icon at" title="Query parameter style" /> AI Assistant {#if sessionId} {/if}