3
3
* SPDX-License-Identifier: Apache-2.0
4
4
*/
5
5
6
- import React , { useEffect } from 'react' ;
6
+ import React , { useEffect , useState } from 'react' ;
7
+ import semver from 'semver' ;
7
8
import { EuiFlexGroup , EuiFlexItem , EuiHorizontalRule } from '@elastic/eui' ;
8
9
import { ConfigureSearchRequest } from './configure_search_request' ;
9
10
import { EnrichSearchRequest } from './enrich_search_request' ;
@@ -15,6 +16,7 @@ import {
15
16
} from '../../../../../common' ;
16
17
import { catIndices , useAppDispatch } from '../../../../store' ;
17
18
import { getDataSourceId } from '../../../../utils' ;
19
+ import { getEffectiveVersion } from '../../../workflows/new_workflow/new_workflow' ;
18
20
19
21
interface SearchInputsProps {
20
22
uiConfig : WorkflowConfig ;
@@ -28,13 +30,29 @@ interface SearchInputsProps {
28
30
export function SearchInputs ( props : SearchInputsProps ) {
29
31
const dispatch = useAppDispatch ( ) ;
30
32
const dataSourceId = getDataSourceId ( ) ;
33
+ const [ showTransformQuery , setShowTransformQuery ] = useState ( true ) ;
34
+
31
35
// re-fetch indices on initial load. When users are first creating,
32
36
// they may enter this page without getting the updated index info
33
37
// for a newly-created index, so we re-fetch that here.
34
38
useEffect ( ( ) => {
35
39
dispatch ( catIndices ( { pattern : OMIT_SYSTEM_INDEX_PATTERN , dataSourceId } ) ) ;
36
40
} , [ ] ) ;
37
41
42
+ useEffect ( ( ) => {
43
+ const checkVersion = async ( ) => {
44
+ try {
45
+ const version = await getEffectiveVersion ( dataSourceId ) ;
46
+ setShowTransformQuery ( semver . gte ( version , '2.19.0' ) ) ;
47
+ } catch ( error ) {
48
+ console . error ( 'Error checking version:' , error ) ;
49
+ setShowTransformQuery ( true ) ;
50
+ }
51
+ } ;
52
+
53
+ checkVersion ( ) ;
54
+ } , [ dataSourceId ] ) ;
55
+
38
56
return (
39
57
< EuiFlexGroup direction = "column" >
40
58
< EuiFlexItem grow = { false } >
@@ -43,16 +61,20 @@ export function SearchInputs(props: SearchInputsProps) {
43
61
< EuiFlexItem grow = { false } >
44
62
< EuiHorizontalRule margin = "m" />
45
63
</ EuiFlexItem >
46
- < EuiFlexItem grow = { false } >
47
- < EnrichSearchRequest
48
- uiConfig = { props . uiConfig }
49
- setUiConfig = { props . setUiConfig }
50
- setCachedFormikState = { props . setCachedFormikState }
51
- />
52
- </ EuiFlexItem >
53
- < EuiFlexItem grow = { false } >
54
- < EuiHorizontalRule margin = "m" />
55
- </ EuiFlexItem >
64
+ { showTransformQuery && (
65
+ < >
66
+ < EuiFlexItem grow = { false } >
67
+ < EnrichSearchRequest
68
+ uiConfig = { props . uiConfig }
69
+ setUiConfig = { props . setUiConfig }
70
+ setCachedFormikState = { props . setCachedFormikState }
71
+ />
72
+ </ EuiFlexItem >
73
+ < EuiFlexItem grow = { false } >
74
+ < EuiHorizontalRule margin = "m" />
75
+ </ EuiFlexItem >
76
+ </ >
77
+ ) }
56
78
< EuiFlexItem grow = { false } >
57
79
< EnrichSearchResponse
58
80
uiConfig = { props . uiConfig }
0 commit comments