diff --git a/changelogs/fragments/8492.yml b/changelogs/fragments/8492.yml new file mode 100644 index 000000000000..49f8b1690b43 --- /dev/null +++ b/changelogs/fragments/8492.yml @@ -0,0 +1,2 @@ +fix: +- Updated DataSource Management to redirect to Discover as well as display the type of the DataSource ([#8492](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8492)) \ No newline at end of file diff --git a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_details_flyout.tsx b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_details_flyout.tsx index e3cd6f99b211..811202e294cf 100644 --- a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_details_flyout.tsx +++ b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_details_flyout.tsx @@ -30,6 +30,7 @@ import { // eslint-disable-next-line @osd/eslint/no-restricted-paths import { OpenSearchDashboardsResponse } from '../../../../../../core/server/http/router'; import { DSL_BASE } from '../../../../framework/utils/shared'; +import { getUiSettings } from '../../utils'; export interface AccelerationDetailsFlyoutProps { acceleration: CachedAcceleration; @@ -231,8 +232,15 @@ export const AccelerationDetailsFlyout = (props: AccelerationDetailsFlyoutProps) const DiscoverIcon = () => { return ( { + try { + return !getUiSettings().get('query:enhancements:enabled'); + } catch (e) { + return false; + } + })()} onClick={() => { - onDiscoverIconClick(acceleration, dataSourceName, application); + onDiscoverIconClick(acceleration, dataSourceName, dataSourceMDSId, application); resetFlyout(); }} > diff --git a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_table.tsx b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_table.tsx index a92313d74a07..5437032ee6b6 100644 --- a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_table.tsx +++ b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_table.tsx @@ -42,6 +42,7 @@ import { getRenderAccelerationDetailsFlyout, getRenderCreateAccelerationFlyout, } from '../../../plugin'; +import { getUiSettings } from '../../utils'; interface AccelerationTableProps { dataSourceName: string; @@ -206,11 +207,18 @@ export const AccelerationTable = ({ const tableActions = [ { name: 'Query Data', - description: 'Query in Observability Logs', + description: 'Query in Discover', icon: 'discoverApp', type: 'icon', onClick: (acc: CachedAcceleration) => { - onDiscoverIconClick(acc, dataSourceName, application); + onDiscoverIconClick(acc, dataSourceName, dataSourceMDSId, application); + }, + enabled: () => { + try { + return getUiSettings().get('query:enhancements:enabled'); + } catch (e) { + return false; + } }, }, { diff --git a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_util.test.tsx b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_util.test.tsx index 0fd3002a1d31..65abcec1fef1 100644 --- a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_util.test.tsx +++ b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_util.test.tsx @@ -200,14 +200,10 @@ describe('acceleration_utils', () => { navigateToApp: jest.fn(), } as unknown) as ApplicationStart; - onDiscoverIconClick(acceleration, 'test_data_source', application); - expect(application.navigateToApp).toHaveBeenCalledWith('observability-logs', { - path: '#/explorer', - state: { - datasourceName: 'test_data_source', - datasourceType: 's3glue', - queryToRun: 'source = test_data_source.default.test_table | head 10', - }, + onDiscoverIconClick(acceleration, 'test_data_source', 'testMDSId', application); + expect(application.navigateToApp).toHaveBeenCalledWith('data-explorer', { + path: + "discover#?_a=(discover:(columns:!(_source),isDirty:!f,sort:!()),metadata:(view:discover))&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))&_q=(filters:!(),query:(dataset:(dataSource:(id:'testMDSId',meta:(name:test_data_source,type:CUSTOM),title:'',type:DATA_SOURCE),id:'testMDSId::test_data_source.default.test_table',title:test_data_source.default.test_table,type:S3),language:SQL,query:'SELECT%20*%20FROM%20test_data_source.default.test_table%20LIMIT%2010'))", }); }); @@ -226,14 +222,10 @@ describe('acceleration_utils', () => { navigateToApp: jest.fn(), } as unknown) as ApplicationStart; - onDiscoverIconClick(acceleration, 'test_data_source', application); - expect(application.navigateToApp).toHaveBeenCalledWith('observability-logs', { - path: '#/explorer', - state: { - datasourceName: 'Default cluster', - datasourceType: 'DEFAULT_INDEX_PATTERNS', - queryToRun: 'source = flint_index | head 10', - }, + onDiscoverIconClick(acceleration, 'test_data_source', 'testMDSId', application); + expect(application.navigateToApp).toHaveBeenCalledWith('data-explorer', { + path: + "discover#?_a=(discover:(columns:!(_source),isDirty:!f,sort:!()),metadata:(view:discover))&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))&_q=(filters:!(),query:(dataset:(dataSource:(id:'testMDSId',title:'',type:DATA_SOURCE),id:'testMDSId::flint_index',title:flint_index,type:INDEXES),language:SQL,query:'SELECT%20*%20FROM%20flint_index%20LIMIT%2010'))", }); }); }); diff --git a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_utils.tsx b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_utils.tsx index 750e8bb8bbe8..aa49093b3473 100644 --- a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_utils.tsx +++ b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/acceleration_management/acceleration_utils.tsx @@ -9,8 +9,8 @@ import { ApplicationStart } from 'opensearch-dashboards/public'; import { DATA_SOURCE_TYPES } from '../../../../framework/constants'; import { CachedAcceleration, RenderAccelerationFlyoutParams } from '../../../../framework/types'; import { - redirectToExplorerOSIdx, - redirectToExplorerWithDataSrc, + redirectToDiscoverOSIdx, + redirectToDiscoverWithDataSrc, } from '../associated_object_management/utils/associated_objects_tab_utils'; export const ACC_PANEL_TITLE = 'Accelerations'; export const ACC_PANEL_DESC = @@ -168,19 +168,20 @@ export const AccelerationHealth = ({ health }: { health: string }) => { export const onDiscoverIconClick = ( acceleration: CachedAcceleration, dataSourceName: string, + dataSourceMDSId: string | undefined, application: ApplicationStart ) => { // boolean determining whether its a skipping index table or mv/ci if (acceleration.type === undefined) return; if (acceleration.type === 'skipping') { - redirectToExplorerWithDataSrc( + redirectToDiscoverWithDataSrc( dataSourceName, - DATA_SOURCE_TYPES.S3Glue, + dataSourceMDSId, acceleration.database, acceleration.table, application ); } else { - redirectToExplorerOSIdx(acceleration.flintIndexName, application); + redirectToDiscoverOSIdx(acceleration.flintIndexName, dataSourceMDSId, application); } }; diff --git a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_details_flyout.test.tsx b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_details_flyout.test.tsx index ce7149686df5..87745c3c5873 100644 --- a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_details_flyout.test.tsx +++ b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_details_flyout.test.tsx @@ -106,13 +106,9 @@ describe('AssociatedObjectsDetailsFlyout', () => { renderComponent(); fireEvent.click(screen.getAllByRole('button')[0]); await waitFor(() => { - expect(mockApplication.navigateToApp).toHaveBeenCalledWith('observability-logs', { - path: '#/explorer', - state: { - datasourceName: 'testDatasource', - datasourceType: 's3glue', - queryToRun: 'source = testDatasource.testDatabase.testTable | head 10', - }, + expect(mockApplication.navigateToApp).toHaveBeenCalledWith('data-explorer', { + path: + "discover#?_a=(discover:(columns:!(_source),isDirty:!f,sort:!()),metadata:(view:discover))&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))&_q=(filters:!(),query:(dataset:(dataSource:(id:'',meta:(name:testDatasource,type:CUSTOM),title:'',type:DATA_SOURCE),id:'::testDatasource.testDatabase.testTable',title:testDatasource.testDatabase.testTable,type:S3),language:SQL,query:'SELECT%20*%20FROM%20testDatasource.testDatabase.testTable%20LIMIT%2010'))", }); }); }); diff --git a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_details_flyout.tsx b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_details_flyout.tsx index 7610cd6005ca..5d9dce0b496d 100644 --- a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_details_flyout.tsx +++ b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_details_flyout.tsx @@ -45,8 +45,9 @@ import { } from '../acceleration_management/acceleration_utils'; import { isCatalogCacheFetching, - redirectToExplorerWithDataSrc, + redirectToDiscoverWithDataSrc, } from './utils/associated_objects_tab_utils'; +import { getUiSettings } from '../../utils'; export interface AssociatedObjectsFlyoutProps { tableDetail: AssociatedObject; @@ -76,11 +77,18 @@ export const AssociatedObjectsDetailsFlyout = ({ const DiscoverButton = () => { return ( { + try { + return !getUiSettings().get('query:enhancements:enabled'); + } catch (e) { + return false; + } + })()} onClick={() => { if (tableDetail.type !== 'table') return; - redirectToExplorerWithDataSrc( + redirectToDiscoverWithDataSrc( tableDetail.datasource, - DATA_SOURCE_TYPES.S3Glue, + dataSourceMDSId, tableDetail.database, tableDetail.name, application diff --git a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_table.test.tsx b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_table.test.tsx index b82055d8d2ff..e0b44bca2792 100644 --- a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_table.test.tsx +++ b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_table.test.tsx @@ -13,6 +13,8 @@ import { getRenderAssociatedObjectsDetailsFlyout, getRenderCreateAccelerationFlyout, } from '../../../plugin'; +import * as utils from '../../utils'; +import { coreMock } from '../../../../../../core/public/mocks'; // Mock the imported functions jest.mock('../../../plugin', () => ({ @@ -106,7 +108,11 @@ describe('AssociatedObjectsTable', () => { }); /* eslint-dsiable no-shadow */ - it('should call the correct action when clicking on the "Discover" button', async () => { + it.skip('should call the correct action when clicking on the "Discover" button', async () => { + // TODO: need to enable MDS + const { uiSettings } = coreMock.createSetup(); + spyOn(utils, 'getUiSettings').and.returnValue(uiSettings); + renderComponent(props); const discoverButton = screen.getAllByRole('button', { name: /Discover/i })[0]; @@ -116,4 +122,11 @@ describe('AssociatedObjectsTable', () => { expect(mockApplication.navigateToApp).toHaveBeenCalled(); }); }); + + it('should call the correct action when clicking on the "Discover" button without query enhancements enabled', async () => { + renderComponent(props); + + const discoverButton = screen.getAllByRole('button', { name: /Discover/i })[0]; + expect(discoverButton).toBeDisabled(); + }); }); diff --git a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_table.tsx b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_table.tsx index 9cb38c89d15b..fd5fedf946d5 100644 --- a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_table.tsx +++ b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/associated_objects_table.tsx @@ -12,7 +12,7 @@ import { import { i18n } from '@osd/i18n'; import React, { useEffect, useState } from 'react'; import { ApplicationStart } from 'opensearch-dashboards/public'; -import { ACCELERATION_INDEX_TYPES, DATA_SOURCE_TYPES } from '../../../../framework/constants'; +import { ACCELERATION_INDEX_TYPES } from '../../../../framework/constants'; import { AssociatedObject, CachedAcceleration } from '../../../../framework/types'; import { getRenderAccelerationDetailsFlyout, @@ -24,9 +24,10 @@ import { ASSC_OBJ_TABLE_ACC_COLUMN_NAME, ASSC_OBJ_TABLE_SEARCH_HINT, ASSC_OBJ_TABLE_SUBJ, - redirectToExplorerOSIdx, - redirectToExplorerWithDataSrc, + redirectToDiscoverOSIdx, + redirectToDiscoverWithDataSrc, } from './utils/associated_objects_tab_utils'; +import { getUiSettings } from '../../utils'; interface AssociatedObjectsTableProps { datasourceName: string; @@ -177,9 +178,16 @@ export const AssociatedObjectsTable = (props: AssociatedObjectsTableProps) => { description: i18n.translate( 'dataSourcesManagement.associatedObjectsTab.action.discover.description', { - defaultMessage: 'Query in Observability Logs', + defaultMessage: 'Query in Discover', } ), + enabled: () => { + try { + return getUiSettings().get('query:enhancements:enabled'); + } catch (e) { + return false; + } + }, type: 'icon', icon: 'discoverApp', onClick: (asscObj: AssociatedObject) => { @@ -188,11 +196,11 @@ export const AssociatedObjectsTable = (props: AssociatedObjectsTableProps) => { const acceleration = cachedAccelerations.find( (acc) => getAccelerationName(acc) === asscObj.name ); - redirectToExplorerOSIdx(acceleration!.flintIndexName, application); + redirectToDiscoverOSIdx(acceleration!.flintIndexName, dataSourceMDSId, application); } else if (asscObj.type === 'table' || asscObj.type === 'skipping') { - redirectToExplorerWithDataSrc( + redirectToDiscoverWithDataSrc( asscObj.datasource, - DATA_SOURCE_TYPES.S3Glue, + dataSourceMDSId, asscObj.database, asscObj.tableName, application diff --git a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/utils/associated_objects_tab_utils.test.tsx b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/utils/associated_objects_tab_utils.test.tsx index e0cbbd00d31f..ce1ab2b18f25 100644 --- a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/utils/associated_objects_tab_utils.test.tsx +++ b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/utils/associated_objects_tab_utils.test.tsx @@ -7,9 +7,8 @@ import { ApplicationStart } from 'opensearch-dashboards/public'; import { DirectQueryLoadingStatus } from '../../../../../framework/types'; import { isCatalogCacheFetching, - redirectToExplorerWithDataSrc, - redirectToExplorerOSIdx, - redirectToExplorerS3, + redirectToDiscoverWithDataSrc, + redirectToDiscoverOSIdx, } from './associated_objects_tab_utils'; import { DEFAULT_DATA_SOURCE_NAME, @@ -41,54 +40,47 @@ describe('AssociatedObjectsTab utils', () => { }); }); - describe('redirectToExplorerWithDataSrc', () => { + describe('redirectToDiscoverWithDataSrc', () => { it('navigates to the explorer with the correct state', () => { const mockNavigateToApp = jest.fn(); const application = ({ navigateToApp: mockNavigateToApp } as unknown) as ApplicationStart; - redirectToExplorerWithDataSrc( + redirectToDiscoverWithDataSrc( 'testDataSource', - 'testType', + 'testMDSID', 'testDatabase', 'testTable', application ); - expect(mockNavigateToApp).toHaveBeenCalledWith(observabilityLogsID, { - path: '#/explorer', - state: { - datasourceName: 'testDataSource', - datasourceType: 'testType', - queryToRun: 'source = testDataSource.testDatabase.testTable | head 10', - }, + expect(mockNavigateToApp).toHaveBeenCalledWith('data-explorer', { + path: + "discover#?_a=(discover:(columns:!(_source),isDirty:!f,sort:!()),metadata:(view:discover))&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))&_q=(filters:!(),query:(dataset:(dataSource:(id:'testMDSID',meta:(name:testDataSource,type:CUSTOM),title:'',type:DATA_SOURCE),id:'testMDSID::testDataSource.testDatabase.testTable',title:testDataSource.testDatabase.testTable,type:S3),language:SQL,query:'SELECT%20*%20FROM%20testDataSource.testDatabase.testTable%20LIMIT%2010'))", }); }); }); - describe('redirectToExplorerOSIdx', () => { + describe('redirectToDiscoverOSIdx', () => { it('navigates to the explorer with the correct state', () => { const mockNavigateToApp = jest.fn(); const application = ({ navigateToApp: mockNavigateToApp } as unknown) as ApplicationStart; - redirectToExplorerOSIdx('testIndex', application); + redirectToDiscoverOSIdx('testIndex', 'testMDSId', application); - expect(mockNavigateToApp).toHaveBeenCalledWith(observabilityLogsID, { - path: '#/explorer', - state: { - datasourceName: DEFAULT_DATA_SOURCE_NAME, - datasourceType: DEFAULT_DATA_SOURCE_TYPE, - queryToRun: 'source = testIndex | head 10', - }, + expect(mockNavigateToApp).toHaveBeenCalledWith('data-explorer', { + path: + "discover#?_a=(discover:(columns:!(_source),isDirty:!f,sort:!()),metadata:(view:discover))&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))&_q=(filters:!(),query:(dataset:(dataSource:(id:'testMDSId',title:'',type:DATA_SOURCE),id:'testMDSId::testIndex',title:testIndex,type:INDEXES),language:SQL,query:'SELECT%20*%20FROM%20testIndex%20LIMIT%2010'))", }); }); }); - describe('redirectToExplorerS3', () => { + describe.skip('redirectToExplorerS3', () => { it('navigates to the explorer with the correct state', () => { const mockNavigateToApp = jest.fn(); const application = ({ navigateToApp: mockNavigateToApp } as unknown) as ApplicationStart; - redirectToExplorerS3('testDataSource', application); + // TODO: test when redirection to discover accepts only datasource + // redirectToExplorerS3('testDataSource', application); expect(mockNavigateToApp).toHaveBeenCalledWith(observabilityLogsID, { path: '#/explorer', diff --git a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/utils/associated_objects_tab_utils.tsx b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/utils/associated_objects_tab_utils.tsx index 2ed68555e4d4..2c45b82d1e6f 100644 --- a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/utils/associated_objects_tab_utils.tsx +++ b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/associated_object_management/utils/associated_objects_tab_utils.tsx @@ -43,49 +43,38 @@ export const isCatalogCacheFetching = (...statuses: DirectQueryLoadingStatus[]) ); }; -export const redirectToExplorerWithDataSrc = ( +export const redirectToDiscoverWithDataSrc = ( datasourceName: string, - datasourceType: string, + datasourceMDSId: string | undefined, databaseName: string, tableName: string, application: ApplicationStart ) => { - const queryIndex = `${datasourceName}.${databaseName}.${tableName}`; - redirectToExplorerWithQuery(datasourceName, datasourceType, queryIndex, application); -}; - -export const redirectToExplorerOSIdx = (indexName: string, application: ApplicationStart) => { - redirectToExplorerWithQuery( - DEFAULT_DATA_SOURCE_NAME, - DEFAULT_DATA_SOURCE_TYPE, - indexName, - application - ); -}; - -export const redirectToExplorerS3 = (datasourceName: string, application: ApplicationStart) => { - application.navigateToApp(observabilityLogsID, { - path: `#/explorer`, - state: { - datasourceName, - datasourceType: DATA_SOURCE_TYPES.S3Glue, - }, + application.navigateToApp('data-explorer', { + path: `discover#?_a=(discover:(columns:!(_source),isDirty:!f,sort:!()),metadata:(view:discover))&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))&_q=(filters:!(),query:(dataset:(dataSource:(id:'${ + datasourceMDSId ?? '' + }',meta:(name:${datasourceName},type:CUSTOM),title:'',type:DATA_SOURCE),id:'${ + datasourceMDSId ?? '' + }::${datasourceName}.${databaseName}.${tableName}',title:${datasourceName}.${databaseName}.${tableName},type:S3),language:SQL,query:'SELECT%20*%20FROM%20${datasourceName}.${databaseName}.${tableName}%20LIMIT%2010'))`, }); }; -const redirectToExplorerWithQuery = ( - datasourceName: string, - datasourceType: string, - queriedIndex: string, +export const redirectToDiscoverOSIdx = ( + indexName: string, + datasourceMDSId: string | undefined, application: ApplicationStart ) => { - // navigate to explorer - application.navigateToApp(observabilityLogsID, { - path: `#/explorer`, - state: { - datasourceName, - datasourceType, - queryToRun: `source = ${queriedIndex} | head 10`, - }, + application.navigateToApp('data-explorer', { + path: `discover#?_a=(discover:(columns:!(_source),isDirty:!f,sort:!()),metadata:(view:discover))&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))&_q=(filters:!(),query:(dataset:(dataSource:(id:'${ + datasourceMDSId ?? '' + }',title:'',type:DATA_SOURCE),id:'${ + datasourceMDSId ?? '' + }::${indexName}',title:${indexName},type:INDEXES),language:SQL,query:'SELECT%20*%20FROM%20${indexName}%20LIMIT%2010'))`, + }); +}; + +export const redirectToDiscover = (application: ApplicationStart) => { + application.navigateToApp('data-explorer', { + path: `discover#`, }); }; diff --git a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/connection_detail/direct_query_connection_detail.test.tsx b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/connection_detail/direct_query_connection_detail.test.tsx index c4b82fc5156f..7e1a46a22c89 100644 --- a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/connection_detail/direct_query_connection_detail.test.tsx +++ b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/connection_detail/direct_query_connection_detail.test.tsx @@ -66,7 +66,7 @@ jest.mock('../associated_object_management/associated_objects_tab', () => ({ })); jest.mock('../associated_object_management/utils/associated_objects_tab_utils', () => ({ - redirectToExplorerS3: jest.fn(), + redirectToDiscover: jest.fn(), })); const mockApplication = coreMock.createSetup().application; diff --git a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/connection_detail/direct_query_connection_detail.tsx b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/connection_detail/direct_query_connection_detail.tsx index 8c8ea54a4854..f32d7f7a8331 100644 --- a/src/plugins/data_source_management/public/components/direct_query_data_sources_components/connection_detail/direct_query_connection_detail.tsx +++ b/src/plugins/data_source_management/public/components/direct_query_data_sources_components/connection_detail/direct_query_connection_detail.tsx @@ -16,6 +16,7 @@ import { EuiPanel, EuiSpacer, EuiTabbedContent, + EuiTitle, EuiText, } from '@elastic/eui'; import { escapeRegExp } from 'lodash'; @@ -46,7 +47,7 @@ import { createDataSourceMenu, DataSourceViewConfig } from '../../data_source_me import { getDataSourcesWithFields, isPluginInstalled } from '../../utils'; import { AccelerationTable } from '../acceleration_management/acceleration_table'; import { AssociatedObjectsTab } from '../associated_object_management/associated_objects_tab'; -import { redirectToExplorerS3 } from '../associated_object_management/utils/associated_objects_tab_utils'; +import { redirectToDiscover } from '../associated_object_management/utils/associated_objects_tab_utils'; import { InstalledIntegrationsTable, InstallIntegrationFlyout, @@ -54,6 +55,8 @@ import { import { AccessControlTab } from './access_control_tab'; import { InactiveDataConnectionCallout } from './utils/inactive_data_connection_callout'; import { NoAccess } from './utils/no_access_page'; +import prometheusSvg from '../../direct_query_data_sources_components/icons/prometheus_logo.svg'; +import s3Svg from '../../direct_query_data_sources_components/icons/s3_logo.svg'; interface DirectQueryDataConnectionDetailProps { featureFlagStatus: boolean; @@ -92,7 +95,7 @@ export const DirectQueryDataConnectionDetail: React.FC { - redirectToExplorerS3(dataSourceName, application); + redirectToDiscover(application); }; const dataSourceMenuView = useMemo(() => { @@ -304,7 +307,7 @@ export const DirectQueryDataConnectionDetail: React.FC @@ -339,6 +342,25 @@ export const DirectQueryDataConnectionDetail: React.FC ( + + + + Data Source Type + + + + + + + + +

Amazon S3

+
+
+
+
+
+
@@ -369,6 +391,25 @@ export const DirectQueryDataConnectionDetail: React.FC ( + + + + Data Source Type + + + + + + + + +

Prometheus

+
+
+
+
+
+
diff --git a/src/plugins/data_source_management/public/plugin.ts b/src/plugins/data_source_management/public/plugin.ts index 3cf8c6a9eb5b..17928517c2ab 100644 --- a/src/plugins/data_source_management/public/plugin.ts +++ b/src/plugins/data_source_management/public/plugin.ts @@ -116,6 +116,7 @@ export class DataSourceManagementPlugin ) { const opensearchDashboardsSection = management.sections.section.opensearchDashboards; const uiSettings = core.uiSettings; + setUiSettings(uiSettings); if (!opensearchDashboardsSection) { throw new Error('`opensearchDashboards` management section not found.'); @@ -207,7 +208,6 @@ export class DataSourceManagementPlugin } setHideLocalCluster({ enabled: dataSource!.hideLocalCluster }); - setUiSettings(uiSettings); // This instance will be got in each data source selector component. setDataSourceSelection(this.dataSourceSelection);