(i === index ? e.target['value'] : v));
setFieldValue(name, newValues);
}}
+ disabled={isReadOnly}
/>
{
setFieldValue(name, [...stringList.slice(0, index), ...stringList.slice(index + 1)]);
}}
+ disabled={isReadOnly}
>
@@ -45,11 +48,12 @@
on:click={() => {
setFieldValue(name, [...stringList, '']);
}}
+ disabled={isReadOnly}
/>
\ No newline at end of file
+ .input-line-flex {
+ display: flex;
+ }
+
diff --git a/packages/web/src/settings/ConnectionAdvancedDriverFields.svelte b/packages/web/src/settings/ConnectionAdvancedDriverFields.svelte
index 43ff82431..91388767b 100644
--- a/packages/web/src/settings/ConnectionAdvancedDriverFields.svelte
+++ b/packages/web/src/settings/ConnectionAdvancedDriverFields.svelte
@@ -6,6 +6,8 @@
import FormArgumentList from '../forms/FormArgumentList.svelte';
import { _t } from '../translations';
+ export let isFormReadOnly;
+
const { values } = getFormContext();
$: engine = $values.engine;
@@ -17,9 +19,18 @@
$: advancedFields = driver?.getAdvancedConnectionFields ? driver?.getAdvancedConnectionFields() : null;
-
-
+
+
{#if advancedFields}
-
+
{/if}
diff --git a/packages/web/src/settings/ConnectionDriverFields.svelte b/packages/web/src/settings/ConnectionDriverFields.svelte
index 144325c5d..45a2907b7 100644
--- a/packages/web/src/settings/ConnectionDriverFields.svelte
+++ b/packages/web/src/settings/ConnectionDriverFields.svelte
@@ -23,6 +23,7 @@
export let getDatabaseList;
export let currentConnection;
+ export let isFormReadOnly;
const { values, setFieldValue } = getFormContext();
const electron = getElectron();
@@ -90,10 +91,10 @@
label={_t('connection.type', { defaultMessage: 'Connection type' })}
name="engine"
isNative
- disabled={isConnected}
+ disabled={isConnected || isFormReadOnly}
data-testid="ConnectionDriverFields_connectionType"
options={[
- { label: _t('connection.selectType', { defaultMessage: '(select connection type)' })},
+ { label: _t('connection.selectType', { defaultMessage: '(select connection type)' }) },
..._.sortBy(
$extensions.drivers
// .filter(driver => !driver.isElectronOnly || electron)
@@ -113,7 +114,7 @@
data-testid="ConnectionDriverFields_authType"
name="authType"
isNative
- disabled={isConnected}
+ disabled={isConnected || isFormReadOnly}
defaultValue={driver?.defaultAuthTypeName}
options={$authTypes.map(auth => ({
value: auth.name,
@@ -127,16 +128,18 @@
{/if}
{#if driver?.showConnectionField('autoDetectNatMap', $values, showConnectionFieldArgs)}
{/if}
@@ -146,13 +149,13 @@
{:else}
{/if}
{/if}
@@ -160,11 +163,15 @@
{#if driver?.showConnectionField('useDatabaseUrl', $values, showConnectionFieldArgs)}
!!option.value == !!value}
options={[
- { label: _t('connection.fillDetails', { defaultMessage: 'Fill database connection details' }), value: '', default: true },
+ {
+ label: _t('connection.fillDetails', { defaultMessage: 'Fill database connection details' }),
+ value: '',
+ default: true,
+ },
{ label: _t('connection.useUrl', { defaultMessage: 'Use database URL' }), value: '1' },
]}
/>
@@ -177,7 +184,7 @@
name="databaseUrl"
data-testid="ConnectionDriverFields_databaseUrl"
placeholder={driver?.databaseUrlPlaceholder}
- disabled={isConnected || disabledFields.includes('databaseUrl')}
+ disabled={isConnected || isFormReadOnly || disabledFields.includes('databaseUrl')}
/>
{/if}
@@ -187,7 +194,7 @@
name="localDataCenter"
data-testid="ConnectionDriverFields_localDataCenter"
placeholder={driver?.defaultLocalDataCenter}
- disabled={isConnected || disabledFields.includes('localDataCenter')}
+ disabled={isConnected || isFormReadOnly || disabledFields.includes('localDataCenter')}
/>
{/if}
@@ -196,7 +203,7 @@
label={_t('connection.authToken', { defaultMessage: 'Auth token' })}
name="authToken"
data-testid="ConnectionDriverFields_authToken"
- disabled={isConnected || disabledFields.includes('authToken')}
+ disabled={isConnected || isFormReadOnly || disabledFields.includes('authToken')}
/>
{/if}
@@ -207,7 +214,7 @@
data-testid="ConnectionDriverFields_authType"
name="authType"
isNative
- disabled={isConnected}
+ disabled={isConnected || isFormReadOnly}
defaultValue={driver?.defaultAuthTypeName}
options={$authTypes.map(auth => ({
value: auth.name,
@@ -219,9 +226,9 @@
{#if driver?.showConnectionField('endpoint', $values, showConnectionFieldArgs)}
{/if}
@@ -230,7 +237,7 @@
{/if}
@@ -239,7 +246,7 @@
{/if}
@@ -250,7 +257,7 @@
@@ -260,7 +267,7 @@
- { _t('connection.dockerWarning', { defaultMessage: 'Under docker, localhost and 127.0.0.1 will not work, use dockerhost instead' }) }
+ {_t('connection.dockerWarning', {
+ defaultMessage: 'Under docker, localhost and 127.0.0.1 will not work, use dockerhost instead',
+ })}
{/if}
{/if}
@@ -280,9 +289,11 @@
@@ -293,7 +304,7 @@
isNative
name="serviceNameType"
defaultValue="serviceName"
- disabled={isConnected}
+ disabled={isConnected || isFormReadOnly}
templateProps={{ noMargin: true }}
options={[
{ value: 'serviceName', label: _t('connection.serviceName', { defaultMessage: 'Service name' }) },
@@ -309,7 +320,7 @@
@@ -322,7 +333,7 @@
@@ -333,7 +344,7 @@
@@ -345,7 +356,7 @@
{/if}
@@ -353,7 +364,7 @@
{/if}
@@ -380,7 +391,7 @@
@@ -391,7 +402,7 @@
@@ -405,12 +416,15 @@
isNative
name="passwordMode"
defaultValue="saveEncrypted"
- disabled={isConnected}
+ disabled={isConnected || isFormReadOnly}
options={[
{ value: 'saveEncrypted', label: _t('connection.saveEncrypted', { defaultMessage: 'Save and encrypt' }) },
{ value: 'saveRaw', label: _t('connection.saveRaw', { defaultMessage: 'Save raw (UNSAFE!!)' }) },
{ value: 'askPassword', label: _t('connection.askPassword', { defaultMessage: "Don't save, ask for password" }) },
- { value: 'askUser', label: _t('connection.askUser', { defaultMessage: "Don't save, ask for login and password" }) },
+ {
+ value: 'askUser',
+ label: _t('connection.askUser', { defaultMessage: "Don't save, ask for login and password" }),
+ },
]}
data-testid="ConnectionDriverFields_passwordMode"
/>
@@ -420,7 +434,7 @@
@@ -430,7 +444,7 @@
{/if}
@@ -439,7 +453,7 @@
{/if}
@@ -448,7 +462,7 @@
{/if}
@@ -457,33 +471,42 @@
{/if}
{#if defaultDatabase && driver?.showConnectionField('singleDatabase', $values, showConnectionFieldArgs)}
{/if}
{#if driver?.showConnectionField('useSeparateSchemas', $values, showConnectionFieldArgs)}
{/if}
{#if driver?.showConnectionField('connectionDefinition', $values, showConnectionFieldArgs)}
-
+
{/if}
{#if driver}
@@ -493,7 +516,7 @@
label={_t('connection.displayName', { defaultMessage: 'Display name' })}
name="displayName"
templateProps={{ noMargin: true }}
- disabled={isConnected}
+ disabled={isConnected || isFormReadOnly}
data-testid="ConnectionDriverFields_displayName"
placeholder={getConnectionLabel(currentConnection)}
/>
@@ -505,7 +528,7 @@
name="connectionColor"
emptyLabel="(not selected)"
templateProps={{ noMargin: true }}
- disabled={isConnected}
+ disabled={isConnected || isFormReadOnly}
data-testid="ConnectionDriverFields_connectionColor"
/>
diff --git a/packages/web/src/settings/ConnectionSshTunnelFields.svelte b/packages/web/src/settings/ConnectionSshTunnelFields.svelte
index df51c2180..10d257890 100644
--- a/packages/web/src/settings/ConnectionSshTunnelFields.svelte
+++ b/packages/web/src/settings/ConnectionSshTunnelFields.svelte
@@ -14,6 +14,8 @@
import { extensions, openedConnections, openedSingleDatabaseConnections } from '../stores';
import { _t } from '../translations';
+ export let isFormReadOnly;
+
const { values, setFieldValue } = getFormContext();
const electron = getElectron();
@@ -30,9 +32,9 @@
@@ -41,7 +43,7 @@
@@ -50,23 +52,30 @@