From 1cecc85fc574bf9cd56084b1e2e23d89da80cb15 Mon Sep 17 00:00:00 2001 From: YuShifan <894402575bt@gmail.com> Date: Fri, 29 Nov 2024 17:34:08 +0800 Subject: [PATCH] refactor: update json data for datalayers --- provisioning/datasources/datalayers.yml | 3 - src/components/ConfigEditor.tsx | 95 ++++++------------------- src/mock-datasource.ts | 2 - src/types.ts | 5 +- 4 files changed, 22 insertions(+), 83 deletions(-) diff --git a/provisioning/datasources/datalayers.yml b/provisioning/datasources/datalayers.yml index 872758b..62d5073 100644 --- a/provisioning/datasources/datalayers.yml +++ b/provisioning/datasources/datalayers.yml @@ -6,10 +6,7 @@ datasources: uid: 'datalayersio-datasource' jsonData: host: 'your_host_ip:8360' - selectedAuthType: 'username/password' username: 'admin' - metadata: - - database: 'demo' secureJsonData: password: 'public' version: 1 diff --git a/src/components/ConfigEditor.tsx b/src/components/ConfigEditor.tsx index b046cfd..55ab6ed 100644 --- a/src/components/ConfigEditor.tsx +++ b/src/components/ConfigEditor.tsx @@ -1,17 +1,12 @@ -import React, {useEffect, useState} from 'react' -import {InlineSwitch, FieldSet, InlineField, SecretInput, Input, InlineFieldRow, InlineLabel, TextArea} from '@grafana/ui' -import {DataSourcePluginOptionsEditorProps, SelectableValue} from '@grafana/data' +import React from 'react' +import {InlineSwitch, FieldSet, InlineField, SecretInput, Input, TextArea} from '@grafana/ui' +import {DataSourcePluginOptionsEditorProps} from '@grafana/data' import {FlightSQLDataSourceOptions, SecureJsonData} from '../types' import { onHostChange, onSecureChange, onUsernameChange, onPasswordChange, - onAuthTypeChange, - onKeyChange, - onValueChange, - addMetaData, - removeMetaData, onResetPassword, } from './utils' @@ -20,31 +15,9 @@ export function ConfigEditor(props: DataSourcePluginOptionsEditorProps>({ - value: jsonData?.selectedAuthType, - label: jsonData?.selectedAuthType, - }) - const existingMetastate = jsonData?.metadata?.length && jsonData?.metadata?.map((m: any) => ({key: Object.keys(m)[0], value: Object.values(m)[0]})) - const [metaDataArr, setMetaData] = useState(existingMetastate || [{key: '', value: ''}]) - useEffect(() => { - onAuthTypeChange(selectedAuthType, options, onOptionsChange) - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [selectedAuthType]) - - useEffect(() => { - const {onOptionsChange, options} = props - const mapData = metaDataArr?.map((m: any) => ({[m.key]: m.value})) - const jsonData = { - ...options.jsonData, - metadata: mapData, - } - onOptionsChange({...options, jsonData}) - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [metaDataArr]) - return (
-
+
- + + { + const jsonData = { + ...options.jsonData, + database: e.currentTarget.value, + } + onOptionsChange({ ...options, jsonData }) + }} + value={jsonData.database || ''} + > + -
- {metaDataArr?.map((_: any, i: any) => ( - - - onKeyChange(e, metaDataArr, i, setMetaData)} - > - - - onValueChange(e, metaDataArr, i, setMetaData)} - > - - {i + 1 >= metaDataArr.length && ( - addMetaData(setMetaData, metaDataArr)} width="auto"> - + - - )} - {i > 0 && ( - removeMetaData(i, setMetaData, metaDataArr)} - > - - - - )} - - ))} -
) } diff --git a/src/mock-datasource.ts b/src/mock-datasource.ts index db0f169..06dffd3 100644 --- a/src/mock-datasource.ts +++ b/src/mock-datasource.ts @@ -55,8 +55,6 @@ export const mockDatasourceOptions: DataSourcePluginOptionsEditorProps = {} */ export interface FlightSQLDataSourceOptions extends DataSourceJsonData { host?: string - token?: string secure?: boolean username?: string password?: string - selectedAuthType?: string - metadata?: any + database?: string + token?: string } export interface SecureJsonData {