+ {setting.label}{' '}
+ {!setting.optional && (
+
+
+
+ )}
+
+ }
+ action={
+
+ ) =>
+ handleChange(e, setting)
+ }
+ />
+ {setting.tips && (
+
+ )}
+
+ }
+ />
+ );
+ })}
+
+
+
+
+
+ setShowSSH(state)} />
+
+ {showSSH &&
+ sshSetting.map((sshParam, index) => (
+
+ {sshParam.label}{' '}
+ {!sshParam.optional && (
+
+
+
+ )}
+
+ }
+ action={
+
+ ) =>
+ sshParam.stateHandler(e.target.value, setSSHConfig)
+ }
+ type={sshParam.type}
+ defaultValue={
+ (sshConfig as SSHConfig)[
+ sshParam.label === 'BASE64 Private Key'
+ ? 'privateKey'
+ : (sshParam.label.toLowerCase() as
+ | 'host'
+ | 'port'
+ | 'user'
+ | 'password'
+ | 'privateKey')
+ ] || ''
+ }
+ />
+ {sshParam.tips && }
+
+ }
+ />
+ ))}
+ >
+ );
+}
\ No newline at end of file
diff --git a/ui/components/SelectSource.tsx b/ui/components/SelectSource.tsx
index a83b7d64ab..a3f848bb3a 100644
--- a/ui/components/SelectSource.tsx
+++ b/ui/components/SelectSource.tsx
@@ -31,7 +31,9 @@ export default function SelectSource({
(value === 'POSTGRES' ||
value === 'SNOWFLAKE' ||
value === 'BIGQUERY' ||
- value === 'S3')
+ value === 'S3' ||
+ value === 'CLICKHOUSE'
+ )
)
.map((value) => ({ label: value, value }));
diff --git a/ui/public/svgs/ch.svg b/ui/public/svgs/ch.svg
new file mode 100644
index 0000000000..f2144b5d7e
--- /dev/null
+++ b/ui/public/svgs/ch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file