diff --git a/src/plugins/data/public/ui/query_editor/query_editor_top_row.tsx b/src/plugins/data/public/ui/query_editor/query_editor_top_row.tsx
index 5f763d84bc79..be2cecfe11bd 100644
--- a/src/plugins/data/public/ui/query_editor/query_editor_top_row.tsx
+++ b/src/plugins/data/public/ui/query_editor/query_editor_top_row.tsx
@@ -254,9 +254,10 @@ export default function QueryEditorTopRow(props: QueryEditorTopRowProps) {
if (!shouldRenderSearchBarExtensions() || !queryEditorHeaderRef.current) return;
return (
);
}
@@ -293,9 +294,7 @@ export default function QueryEditorTopRow(props: QueryEditorTopRowProps) {
}
function shouldRenderSearchBarExtensions(): boolean {
- return Boolean(
- queryLanguage && props.queryEnhancements?.get(queryLanguage)?.searchBar?.extensions?.length
- );
+ return Boolean(queryUiEnhancement?.extensions?.length);
}
function renderUpdateButton() {
diff --git a/src/plugins/data/public/ui/search_bar/create_search_bar.tsx b/src/plugins/data/public/ui/search_bar/create_search_bar.tsx
index 37b7d3d16105..9baeab489d4b 100644
--- a/src/plugins/data/public/ui/search_bar/create_search_bar.tsx
+++ b/src/plugins/data/public/ui/search_bar/create_search_bar.tsx
@@ -210,6 +210,7 @@ export function createSearchBar({
showSaveQuery={props.showSaveQuery}
screenTitle={props.screenTitle}
indexPatterns={props.indexPatterns}
+ dataSource={props.dataSource}
indicateNoData={props.indicateNoData}
timeHistory={data.query.timefilter.history}
dateRangeFrom={timeRange.from}
diff --git a/src/plugins/data/public/ui/search_bar/search_bar.tsx b/src/plugins/data/public/ui/search_bar/search_bar.tsx
index 620a7d633e01..54e39fcb0b8d 100644
--- a/src/plugins/data/public/ui/search_bar/search_bar.tsx
+++ b/src/plugins/data/public/ui/search_bar/search_bar.tsx
@@ -33,6 +33,7 @@ import classNames from 'classnames';
import { compact, get, isEqual } from 'lodash';
import React, { Component } from 'react';
import ResizeObserver from 'resize-observer-polyfill';
+import { DataSource } from '../..';
import {
OpenSearchDashboardsReactContextValue,
withOpenSearchDashboards,
@@ -59,6 +60,7 @@ interface SearchBarInjectedDeps {
export interface SearchBarOwnProps {
indexPatterns?: IIndexPattern[];
+ dataSource?: DataSource;
isLoading?: boolean;
customSubmitButton?: React.ReactNode;
screenTitle?: string;
@@ -494,6 +496,7 @@ class SearchBarUI extends Component {
screenTitle={this.props.screenTitle}
onSubmit={this.onQueryBarSubmit}
indexPatterns={this.props.indexPatterns}
+ dataSource={this.props.dataSource}
isLoading={this.props.isLoading}
prepend={this.props.showFilterBar ? savedQueryManagement : undefined}
showDatePicker={this.props.showDatePicker}
diff --git a/src/plugins/data/public/ui/search_bar_extensions/search_bar_extension.tsx b/src/plugins/data/public/ui/search_bar_extensions/search_bar_extension.tsx
index 505846c66b08..bbcfc30b3318 100644
--- a/src/plugins/data/public/ui/search_bar_extensions/search_bar_extension.tsx
+++ b/src/plugins/data/public/ui/search_bar_extensions/search_bar_extension.tsx
@@ -7,6 +7,7 @@ import { EuiErrorBoundary } from '@elastic/eui';
import React, { useEffect, useMemo, useRef, useState } from 'react';
import ReactDOM from 'react-dom';
import { IIndexPattern } from '../../../common';
+import { DataSource } from '../../data_sources/datasource';
interface SearchBarExtensionProps {
config: SearchBarExtensionConfig;
@@ -19,6 +20,10 @@ export interface SearchBarExtensionDependencies {
* Currently selected index patterns.
*/
indexPatterns?: Array;
+ /**
+ * Currently selected data source.
+ */
+ dataSource?: DataSource;
}
export interface SearchBarExtensionConfig {
diff --git a/src/plugins/discover/public/application/view_components/canvas/top_nav.tsx b/src/plugins/discover/public/application/view_components/canvas/top_nav.tsx
index feb7b91e7c5e..134362c7b7e8 100644
--- a/src/plugins/discover/public/application/view_components/canvas/top_nav.tsx
+++ b/src/plugins/discover/public/application/view_components/canvas/top_nav.tsx
@@ -14,6 +14,7 @@ import { getTopNavLinks } from '../../components/top_nav/get_top_nav_links';
import { useDiscoverContext } from '../context';
import { getRootBreadcrumbs } from '../../helpers/breadcrumbs';
import { opensearchFilters, connectStorageToQueryState } from '../../../../../data/public';
+import { useDataSource } from '../utils/use_datasource';
export interface TopNavProps {
opts: {
@@ -24,6 +25,7 @@ export interface TopNavProps {
export const TopNav = ({ opts }: TopNavProps) => {
const { services } = useOpenSearchDashboards();
+ const dataSource = useDataSource(services);
const { inspectorAdapters, savedSearch, indexPattern } = useDiscoverContext();
const [indexPatterns, setIndexPatterns] = useState(undefined);
@@ -89,6 +91,7 @@ export const TopNav = ({ opts }: TopNavProps) => {
useDefaultBehaviors
setMenuMountPoint={opts.setHeaderActionMenu}
indexPatterns={indexPattern ? [indexPattern] : indexPatterns}
+ dataSource={dataSource}
onQuerySubmit={opts.onQuerySubmit}
/>
);