mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-28 07:16:00 +00:00
SSH info in connection refactor - do not save default values
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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} />
|
||||
|
||||
Reference in New Issue
Block a user