@@ -15,6 +15,7 @@ import type { FilterManager, SavedQuery, SavedQueryTimeFilter } from '@kbn/data-
1515import styled from '@emotion/styled' ;
1616import type { DataViewSpec } from '@kbn/data-views-plugin/common' ;
1717import { useEnableExperimental } from '../../../../common/hooks/use_experimental_features' ;
18+ import { useDataView } from '../../../../data_view_manager/hooks/use_data_view' ;
1819import { useDataViewSpec } from '../../../../data_view_manager/hooks/use_data_view_spec' ;
1920import { InputsModelId } from '../../../../common/store/inputs/constants' ;
2021import { SourcererScopeName } from '../../../../sourcerer/store/model' ;
@@ -119,13 +120,21 @@ export const QueryBarTimeline = memo<QueryBarTimelineComponentProps>(
119120 useSourcererDataView ( SourcererScopeName . timeline ) ;
120121
121122 const { newDataViewPickerEnabled } = useEnableExperimental ( ) ;
123+ const { dataView : experimentalDataView } = useDataView ( SourcererScopeName . timeline ) ;
122124 const { dataViewSpec : experimentalDataViewSpec } = useDataViewSpec ( SourcererScopeName . timeline ) ;
123125 const experimentalBrowserFields = useBrowserFields ( SourcererScopeName . timeline ) ;
124126
125127 const dataViewSpec : DataViewSpec = useMemo (
126128 ( ) => ( newDataViewPickerEnabled ? experimentalDataViewSpec : oldSourcererDataViewSpec ) ,
127129 [ experimentalDataViewSpec , newDataViewPickerEnabled , oldSourcererDataViewSpec ]
128130 ) ;
131+ const dataViewBase = useMemo ( ( ) => dataViewSpecToViewBase ( dataViewSpec ) , [ dataViewSpec ] ) ;
132+ const dataView = useMemo (
133+ ( ) =>
134+ newDataViewPickerEnabled && experimentalDataView ? experimentalDataView : dataViewBase ,
135+ [ newDataViewPickerEnabled , experimentalDataView , dataViewBase ]
136+ ) ;
137+
129138 const browserFields = useMemo (
130139 ( ) => ( newDataViewPickerEnabled ? experimentalBrowserFields : oldBrowserFields ) ,
131140 [ experimentalBrowserFields , newDataViewPickerEnabled , oldBrowserFields ]
@@ -138,10 +147,8 @@ export const QueryBarTimeline = memo<QueryBarTimelineComponentProps>(
138147 } ) ;
139148 const queryBarFilters = useMemo ( ( ) => getNonDropAreaFilters ( filters ) , [ filters ] ) ;
140149
141- const indexPattern = useMemo ( ( ) => dataViewSpecToViewBase ( dataViewSpec ) , [ dataViewSpec ] ) ;
142-
143150 const [ dataProvidersDsl , setDataProvidersDsl ] = useState < string > (
144- convertKueryToElasticSearchQuery ( buildGlobalQuery ( dataProviders , browserFields ) , indexPattern )
151+ convertKueryToElasticSearchQuery ( buildGlobalQuery ( dataProviders , browserFields ) , dataViewBase )
145152 ) ;
146153 const savedQueryServices = useSavedQueryServices ( ) ;
147154
@@ -155,11 +162,11 @@ export const QueryBarTimeline = memo<QueryBarTimelineComponentProps>(
155162 kind,
156163 expression,
157164 } ,
158- serializedQuery : convertKueryToElasticSearchQuery ( expression , indexPattern ) ,
165+ serializedQuery : convertKueryToElasticSearchQuery ( expression , dataViewBase ) ,
159166 } ,
160167 } )
161168 ) ,
162- [ dispatch , indexPattern , timelineId ]
169+ [ dispatch , dataViewBase , timelineId ]
163170 ) ;
164171
165172 useEffect ( ( ) => {
@@ -173,10 +180,10 @@ export const QueryBarTimeline = memo<QueryBarTimelineComponentProps>(
173180 setDataProvidersDsl (
174181 convertKueryToElasticSearchQuery (
175182 buildGlobalQuery ( dataProviders , browserFields ) ,
176- indexPattern
183+ dataViewBase
177184 )
178185 ) ;
179- } , [ dataProviders , browserFields , indexPattern ] ) ;
186+ } , [ dataProviders , browserFields , dataViewBase ] ) ;
180187
181188 useEffect ( ( ) => {
182189 if ( fromStr != null && toStr != null ) {
@@ -286,7 +293,7 @@ export const QueryBarTimeline = memo<QueryBarTimelineComponentProps>(
286293 [ dataProvidersDsl , savedQueryId , savedQueryServices ]
287294 ) ;
288295
289- if ( ! indexPattern ) {
296+ if ( ! dataView ) {
290297 return null ;
291298 }
292299
@@ -296,7 +303,7 @@ export const QueryBarTimeline = memo<QueryBarTimelineComponentProps>(
296303 dateRangeFrom = { dateRangeFrom }
297304 dateRangeTo = { dateRangeTo }
298305 hideSavedQuery = { kqlMode === 'search' }
299- indexPattern = { indexPattern }
306+ indexPattern = { dataView }
300307 isRefreshPaused = { isRefreshPaused }
301308 filterQuery = { filterQueryConverted }
302309 filterManager = { filterManager }
@@ -307,6 +314,7 @@ export const QueryBarTimeline = memo<QueryBarTimelineComponentProps>(
307314 onSavedQuery = { onSavedQuery }
308315 dataTestSubj = { 'timelineQueryInput' }
309316 displayStyle = "inPage"
317+ preventCacheClearOnUnmount = { newDataViewPickerEnabled }
310318 />
311319 </ SearchBarContainer >
312320 ) ;
0 commit comments