1
- import React , { useEffect , useState } from 'react'
2
- import { InlineSwitch , FieldSet , InlineField , SecretInput , Input , InlineFieldRow , InlineLabel , TextArea } from '@grafana/ui'
3
- import { DataSourcePluginOptionsEditorProps , SelectableValue } from '@grafana/data'
1
+ import React from 'react'
2
+ import { InlineSwitch , FieldSet , InlineField , SecretInput , Input , TextArea } from '@grafana/ui'
3
+ import { DataSourcePluginOptionsEditorProps } from '@grafana/data'
4
4
import { FlightSQLDataSourceOptions , SecureJsonData } from '../types'
5
5
import {
6
6
onHostChange ,
7
7
onSecureChange ,
8
8
onUsernameChange ,
9
9
onPasswordChange ,
10
- onAuthTypeChange ,
11
- onKeyChange ,
12
- onValueChange ,
13
- addMetaData ,
14
- removeMetaData ,
15
10
onResetPassword ,
16
11
} from './utils'
17
12
@@ -20,31 +15,9 @@ export function ConfigEditor(props: DataSourcePluginOptionsEditorProps<FlightSQL
20
15
const { jsonData} = options
21
16
const { secureJsonData, secureJsonFields} = options
22
17
23
- const [ selectedAuthType ] = useState < SelectableValue < string > > ( {
24
- value : jsonData ?. selectedAuthType ,
25
- label : jsonData ?. selectedAuthType ,
26
- } )
27
- const existingMetastate = jsonData ?. metadata ?. length && jsonData ?. metadata ?. map ( ( m : any ) => ( { key : Object . keys ( m ) [ 0 ] , value : Object . values ( m ) [ 0 ] } ) )
28
- const [ metaDataArr , setMetaData ] = useState ( existingMetastate || [ { key : '' , value : '' } ] )
29
- useEffect ( ( ) => {
30
- onAuthTypeChange ( selectedAuthType , options , onOptionsChange )
31
- // eslint-disable-next-line react-hooks/exhaustive-deps
32
- } , [ selectedAuthType ] )
33
-
34
- useEffect ( ( ) => {
35
- const { onOptionsChange, options} = props
36
- const mapData = metaDataArr ?. map ( ( m : any ) => ( { [ m . key ] : m . value } ) )
37
- const jsonData = {
38
- ...options . jsonData ,
39
- metadata : mapData ,
40
- }
41
- onOptionsChange ( { ...options , jsonData} )
42
- // eslint-disable-next-line react-hooks/exhaustive-deps
43
- } , [ metaDataArr ] )
44
-
45
18
return (
46
19
< div >
47
- < FieldSet label = "FlightSQL Connection" width = { 400 } >
20
+ < FieldSet label = "Datalayers Connection" width = { 400 } >
48
21
< InlineField labelWidth = { 20 } label = "Host:Port" >
49
22
< Input
50
23
width = { 40 }
@@ -78,7 +51,22 @@ export function ConfigEditor(props: DataSourcePluginOptionsEditorProps<FlightSQL
78
51
isConfigured = { secureJsonFields ?. password }
79
52
> </ SecretInput >
80
53
</ InlineField >
81
-
54
+ < InlineField labelWidth = { 20 } label = "Database" >
55
+ < Input
56
+ width = { 40 }
57
+ name = "database"
58
+ type = "text"
59
+ placeholder = "database name"
60
+ onChange = { ( e ) => {
61
+ const jsonData = {
62
+ ...options . jsonData ,
63
+ database : e . currentTarget . value ,
64
+ }
65
+ onOptionsChange ( { ...options , jsonData } )
66
+ } }
67
+ value = { jsonData . database || '' }
68
+ > </ Input >
69
+ </ InlineField >
82
70
< InlineField labelWidth = { 20 } label = "Require TLS / SSL" >
83
71
< InlineSwitch
84
72
label = ""
@@ -98,49 +86,6 @@ export function ConfigEditor(props: DataSourcePluginOptionsEditorProps<FlightSQL
98
86
}
99
87
100
88
</ FieldSet >
101
- < FieldSet label = "MetaData" width = { 400 } >
102
- { metaDataArr ?. map ( ( _ : any , i : any ) => (
103
- < InlineFieldRow key = { i } style = { { flexFlow : 'row' } } >
104
- < InlineField labelWidth = { 20 } label = "Key" >
105
- < Input
106
- key = { i }
107
- width = { 40 }
108
- name = "key"
109
- type = "text"
110
- value = { metaDataArr [ i ] ?. key || '' }
111
- placeholder = "key"
112
- onChange = { ( e ) => onKeyChange ( e , metaDataArr , i , setMetaData ) }
113
- > </ Input >
114
- </ InlineField >
115
- < InlineField labelWidth = { 20 } label = "Value" >
116
- < Input
117
- key = { i }
118
- width = { 40 }
119
- name = "value"
120
- type = "text"
121
- value = { metaDataArr [ i ] ?. value || '' }
122
- placeholder = "value"
123
- onChange = { ( e ) => onValueChange ( e , metaDataArr , i , setMetaData ) }
124
- > </ Input >
125
- </ InlineField >
126
- { i + 1 >= metaDataArr . length && (
127
- < InlineLabel as = "button" className = "" onClick = { ( ) => addMetaData ( setMetaData , metaDataArr ) } width = "auto" >
128
- +
129
- </ InlineLabel >
130
- ) }
131
- { i > 0 && (
132
- < InlineLabel
133
- as = "button"
134
- className = ""
135
- width = "auto"
136
- onClick = { ( ) => removeMetaData ( i , setMetaData , metaDataArr ) }
137
- >
138
- -
139
- </ InlineLabel >
140
- ) }
141
- </ InlineFieldRow >
142
- ) ) }
143
- </ FieldSet >
144
89
</ div >
145
90
)
146
91
}
0 commit comments