SSH info in connection refactor - do not save default values

This commit is contained in:
Jan Prochazka
2024-07-10 16:29:05 +02:00
parent cb0a11fda9
commit 8f0b44ade9
5 changed files with 26 additions and 12 deletions

View File

@@ -8,6 +8,7 @@
export let name;
export let disabled = false;
export let defaultFileName = '';
const { values, setFieldValue } = getFormContext();
@@ -25,6 +26,6 @@
</script>
<div class="flex">
<TextField {...$$restProps} value={$values[name]} on:click={handleBrowse} readOnly {disabled} />
<TextField {...$$restProps} value={$values[name] || defaultFileName} on:click={handleBrowse} readOnly {disabled} />
<InlineButton on:click={handleBrowse} {disabled}>Browse</InlineButton>
</div>

View File

@@ -10,6 +10,7 @@
export let options;
export let isClearable = false;
export let selectFieldComponent = SelectField;
export let defaultSelectValue;
const { values, setFieldValue } = getFormContext();
</script>
@@ -17,7 +18,7 @@
<svelte:component
this={selectFieldComponent}
{...$$restProps}
value={$values && $values[name]}
value={($values && $values[name]) || defaultSelectValue}
options={_.compact(options)}
on:change={e => {
setFieldValue(name, e.detail);

View File

@@ -19,11 +19,11 @@
$: useSshTunnel = $values.useSshTunnel;
$: platformInfo = usePlatformInfo();
$: {
if (!$values.sshMode) setFieldValue('sshMode', 'userPassword');
// if (!$values.sshPort) setFieldValue('sshPort', '22');
if (!$values.sshKeyfile && $platformInfo) setFieldValue('sshKeyfile', $platformInfo.defaultKeyfile);
}
// $: {
// if (!$values.sshMode) setFieldValue('sshMode', 'userPassword');
// // if (!$values.sshPort) setFieldValue('sshPort', '22');
// if (!$values.sshKeyfile && $platformInfo) setFieldValue('sshKeyfile', $platformInfo.defaultKeyfile);
// }
$: isConnected = $openedConnections.includes($values._id) || $openedSingleDatabaseConnections.includes($values._id);
</script>
@@ -55,6 +55,7 @@
label="SSH Authentication"
name="sshMode"
isNative
defaultSelectValue="userPassword"
disabled={isConnected || !useSshTunnel}
options={[
{ value: 'userPassword', label: 'Username & password' },
@@ -63,11 +64,11 @@
]}
/>
{#if $values.sshMode != 'userPassword'}
{#if ($values.sshMode || 'userPassword') != 'userPassword'}
<FormTextField label="Login" name="sshLogin" disabled={isConnected || !useSshTunnel} />
{/if}
{#if $values.sshMode == 'userPassword'}
{#if ($values.sshMode || 'userPassword') == 'userPassword'}
<div class="row">
<div class="col-6 mr-1">
<FormTextField
@@ -96,6 +97,7 @@
name="sshKeyfile"
disabled={isConnected || !useSshTunnel}
templateProps={{ noMargin: true }}
defaultFileName={$platformInfo?.defaultKeyfile}
/>
</div>
<div class="col-6">

View File

@@ -38,6 +38,8 @@
export let conid;
export let connectionStore = undefined;
export let onlyTestButton;
let isTesting;
let sqlConnectResult;
@@ -207,7 +209,13 @@
{#if driver}
<div class="flex">
<div class="buttons">
{#if isConnected}
{#if onlyTestButton}
{#if isTesting}
<FormButton value="Cancel test" on:click={handleCancelTest} />
{:else}
<FormButton value="Test connection" on:click={handleTest} />
{/if}
{:else if isConnected}
<FormButton value="Disconnect" on:click={handleDisconnect} />
{:else}
<FormButton value="Connect" on:click={handleConnect} />