From f7dd422917b375f1fc94ab87d17c6d509640b889 Mon Sep 17 00:00:00 2001 From: Adam Tackett Date: Wed, 7 Aug 2024 11:33:00 -0700 Subject: [PATCH 1/5] first step of MDS Signed-off-by: Adam Tackett --- public/components/getting_started/home.tsx | 78 ++++++++++++++++++++-- 1 file changed, 74 insertions(+), 4 deletions(-) diff --git a/public/components/getting_started/home.tsx b/public/components/getting_started/home.tsx index e41a4c504..182bf1333 100644 --- a/public/components/getting_started/home.tsx +++ b/public/components/getting_started/home.tsx @@ -3,16 +3,23 @@ * SPDX-License-Identifier: Apache-2.0 */ -import React from 'react'; +import React, { useState, useMemo } from 'react'; import { HashRouter, Route, RouteComponentProps, Switch } from 'react-router-dom'; -import { TraceAnalyticsCoreDeps } from '../trace_analytics/home'; import { ChromeBreadcrumb, ChromeStart, HttpStart, + MountPoint, NotificationsStart, + SavedObjectsStart, } from '../../../../../src/core/public'; +import { + DataSourceManagementPluginSetup, + DataSourceSelectableConfig, +} from '../../../../../src/plugins/data_source_management/public'; +import { TraceAnalyticsCoreDeps } from '../trace_analytics/home'; import { NewGettingStarted } from './components/getting_started'; +import { dataSourceFilterFn } from '../../../common/utils/shared'; export type AppAnalyticsCoreDeps = TraceAnalyticsCoreDeps; @@ -22,26 +29,89 @@ export interface HomeProps extends RouteComponentProps { http: HttpStart; chrome: ChromeStart; notifications: NotificationsStart; + dataSourceEnabled: boolean; + dataSourceManagement: DataSourceManagementPluginSetup; + savedObjectsMDSClient: SavedObjectsStart; + setActionMenu: (menuMount: MountPoint | undefined) => void; + // selectedDataSourceId: string; } export const Home = (props: HomeProps) => { - const { http, chrome, pplService, notifications } = props; + const { + http, + chrome, + pplService, + notifications, + dataSourceEnabled, + dataSourceManagement, + savedObjectsMDSClient, + parentBreadcrumb, + setActionMenu, + } = props; + + const [selectedDataSourceId, setSelectedDataSourceId] = useState(''); + + const onSelectedDataSourceChange = (e: any) => { + const dataSourceId = e[0] ? e[0].id : undefined; + setSelectedDataSourceId(dataSourceId); + // DELETE BEFORE PR + console.log('Selected Data Source ID:', dataSourceId); // DELETE BEFORE PR + }; + + const DataSourceMenu = useMemo(() => { + if (dataSourceEnabled && dataSourceManagement?.ui) { + return dataSourceManagement.ui.getDataSourceMenu(); + } + return null; + }, [dataSourceManagement, dataSourceEnabled]); + + const dataSourceMenuComponent = useMemo(() => { + if (DataSourceMenu) { + return ( + + ); + } + return null; + }, [savedObjectsMDSClient.client, notifications, DataSourceMenu, setActionMenu]); const commonProps = { http, chrome, pplService, notifications, + dataSourceEnabled, + dataSourceManagement, + savedObjectsMDSClient, + parentBreadcrumb, + selectedDataSourceId, + setActionMenu, }; + // DO i need to unmount it if it is disabled. + // useEffect(() => { + // return () => { + // setActionMenu(undefined); + // }; + // }, [setActionMenu]); return (
+ {dataSourceMenuComponent} } + render={(routerProps) => } /> From 1673f92481a1e534ed20467beaf10119e4ff7b9b Mon Sep 17 00:00:00 2001 From: Adam Tackett Date: Thu, 8 Aug 2024 16:10:04 -0700 Subject: [PATCH 2/5] add mds support to getting started Signed-off-by: Adam Tackett --- .../components/getting_started.tsx | 22 +++--- .../getting_started_collectData.tsx | 13 +++- .../getting_started_queryAndAnalyze.tsx | 40 +++++++---- .../getting_started/components/utils.tsx | 23 ++++--- public/components/getting_started/home.tsx | 15 ++-- .../getting_started/getting_started_router.ts | 68 +++++++++++++++++-- 6 files changed, 132 insertions(+), 49 deletions(-) diff --git a/public/components/getting_started/components/getting_started.tsx b/public/components/getting_started/components/getting_started.tsx index bc050bb74..ce7e2b57e 100644 --- a/public/components/getting_started/components/getting_started.tsx +++ b/public/components/getting_started/components/getting_started.tsx @@ -10,13 +10,17 @@ import { GettingStartedConnectionsHeader } from './getting_started_header'; import { CollectAndShipData } from './getting_started_collectData'; import { QueryAndAnalyze } from './getting_started_queryAndAnalyze'; -export const NewGettingStarted = (props: HomeProps) => { - const { chrome } = props; +interface ExtendedHomeProps extends HomeProps { + selectedDataSourceId: string; + selectedDataSourceLabel: string; +} + +export const NewGettingStarted = (props: ExtendedHomeProps) => { + const { chrome, selectedDataSourceId, selectedDataSourceLabel } = props; const [selectedSource, setSelectedSource] = useState(''); const [isPickYourSourceOpen, setIsPickYourSourceOpen] = useState(true); const [isQueryDataOpen, setIsQueryDataOpen] = useState(false); - const [indexPatterns, setIndexPatterns] = useState([]); - const [isSampleDataset, setIsSampleDataset] = useState(false); // New state + const [isSampleDataset, setIsSampleDataset] = useState(false); useEffect(() => { chrome.setBreadcrumbs([ @@ -25,7 +29,7 @@ export const NewGettingStarted = (props: HomeProps) => { href: '#/', }, ]); - }, []); + }, [chrome]); const handleSelectSource = (source: string) => { setSelectedSource(source); @@ -42,10 +46,9 @@ export const NewGettingStarted = (props: HomeProps) => { setIsQueryDataOpen(isOpen); }; - const setQueryDataOpen = (patterns: string[]) => { + const setQueryDataOpen = () => { setIsPickYourSourceOpen(false); setIsQueryDataOpen(true); - setIndexPatterns(patterns); }; const handleCardSelectionChange = (isSample: boolean) => { @@ -64,6 +67,8 @@ export const NewGettingStarted = (props: HomeProps) => { onMoveToQueryData={setQueryDataOpen} onSelectSource={handleSelectSource} onCardSelectionChange={handleCardSelectionChange} + selectedDataSourceId={selectedDataSourceId} + selectedDataSourceLabel={selectedDataSourceLabel} /> {!isSampleDataset && ( @@ -71,7 +76,8 @@ export const NewGettingStarted = (props: HomeProps) => { isOpen={isQueryDataOpen} onToggle={toggleQueryData} selectedTechnology={selectedSource} - indexPatterns={indexPatterns} + selectedDataSourceId={selectedDataSourceId} + selectedDataSourceLabel={selectedDataSourceLabel} /> )} diff --git a/public/components/getting_started/components/getting_started_collectData.tsx b/public/components/getting_started/components/getting_started_collectData.tsx index 81e15af37..30f7e45bd 100644 --- a/public/components/getting_started/components/getting_started_collectData.tsx +++ b/public/components/getting_started/components/getting_started_collectData.tsx @@ -40,6 +40,13 @@ interface CollectAndShipDataProps { onMoveToQueryData: (indexPatterns: string[]) => void; onSelectSource: (source: string) => void; onCardSelectionChange: (isSampleDataset: boolean) => void; + selectedDataSourceId: string; + selectedDataSourceLabel: string; +} + +interface CollectorOption { + label: string; + value: string; } export const CollectAndShipData: React.FC = ({ @@ -48,6 +55,8 @@ export const CollectAndShipData: React.FC = ({ onMoveToQueryData, onSelectSource, onCardSelectionChange, + selectedDataSourceId, + selectedDataSourceLabel, }) => { const [collectionMethod, setCollectionMethod] = useState(''); const [specificMethod, setSpecificMethod] = useState(''); @@ -56,7 +65,7 @@ export const CollectAndShipData: React.FC = ({ const [_selectedWorkflow, setSelectedWorkflow] = useState(''); const [workflows, setWorkflows] = useState([]); const [selectedCard, setSelectedCard] = useState(''); - const [collectorOptions, setCollectorOptions] = useState([]); + const [collectorOptions, setCollectorOptions] = useState([]); const technologyJsonMap: Record = { otel: otelJson, @@ -267,7 +276,7 @@ export const CollectAndShipData: React.FC = ({ { - await UploadAssets(specificMethod); + await UploadAssets(specificMethod, selectedDataSourceId, selectedDataSourceLabel); }} fill > diff --git a/public/components/getting_started/components/getting_started_queryAndAnalyze.tsx b/public/components/getting_started/components/getting_started_queryAndAnalyze.tsx index 8baa5c676..6ab77ff2b 100644 --- a/public/components/getting_started/components/getting_started_queryAndAnalyze.tsx +++ b/public/components/getting_started/components/getting_started_queryAndAnalyze.tsx @@ -19,20 +19,32 @@ import { import { coreRefs } from '../../../../public/framework/core_refs'; import { fetchDashboardIds, fetchIndexPatternIds } from './utils'; +interface Pattern { + id: string; + title: string; +} + +interface Dashboard { + id: string; + title: string; +} + interface QueryAndAnalyzeProps { isOpen: boolean; onToggle: (isOpen: boolean) => void; selectedTechnology: string; - indexPatterns: string[]; + selectedDataSourceId: string; + selectedDataSourceLabel: string; } export const QueryAndAnalyze: React.FC = ({ isOpen, onToggle, selectedTechnology, + selectedDataSourceId, }) => { - const [patternsContent, setPatternsContent] = useState([]); - const [dashboardsContent, setDashboardsContent] = useState([]); + const [patternsContent, setPatternsContent] = useState([]); + const [dashboardsContent, setDashboardsContent] = useState([]); const fetchIndexPatternContent = async () => { try { @@ -47,26 +59,26 @@ export const QueryAndAnalyze: React.FC = ({ const content = await fetchDashboardIds(selectedTechnology); setDashboardsContent(content.data.length !== 0 ? content.data : []); } catch (error) { - console.error('Error fetching index patterns:', error); + console.error('Error fetching dashboards:', error); setDashboardsContent([]); } }; - const redirectToDashboards = (path: string) => { - coreRefs?.application!.navigateToApp('dashboards', { - path: `#/${path}`, - }); - }; - useEffect(() => { if (selectedTechnology !== '') { fetchIndexPatternContent(); } - }, [selectedTechnology]); + }, [selectedTechnology, selectedDataSourceId]); const handleIndexPatternClick = (patternId: string) => { coreRefs?.application!.navigateToApp('data-explorer', { - path: `discover#?_a=(discover:(columns:!(_source),isDirty:!f,sort:!()),metadata:(indexPattern:'${patternId}',view:discover))&_q=(filters:!(),query:(language:kuery,query:''))&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))`, + path: `discover#?_a=(discover:(columns:!(_source),isDirty:!f,sort:!()),metadata:(indexPattern:'${selectedDataSourceId}${patternId}',view:discover))&_q=(filters:!(),query:(language:kuery,query:''))&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))`, + }); + }; + + const redirectToDashboards = (path: string) => { + coreRefs?.application!.navigateToApp('dashboards', { + path: `#/${path}`, }); }; @@ -111,13 +123,13 @@ export const QueryAndAnalyze: React.FC = ({ {dashboardsContent.length !== 0 && dashboardsContent.map((dashboard) => ( - + } title={dashboard.title} description={`Explore the ${dashboard.title} dashboard`} onClick={() => { - redirectToDashboards(`/view/${dashboard.id}`); + redirectToDashboards(`/view/${selectedDataSourceId}${dashboard.id}`); }} /> diff --git a/public/components/getting_started/components/utils.tsx b/public/components/getting_started/components/utils.tsx index dd0e74152..bd73a405b 100644 --- a/public/components/getting_started/components/utils.tsx +++ b/public/components/getting_started/components/utils.tsx @@ -4,7 +4,6 @@ */ import { coreRefs } from '../../../framework/core_refs'; -import { uploadBundle } from '../../integrations/components/upload_flyout'; import { useToast } from '../../../../public/components/common/toast'; const fetchAssets = async (tutorialId: string, assetFilter?: 'dashboards' | 'indexPatterns') => { @@ -21,19 +20,23 @@ const fetchAssets = async (tutorialId: string, assetFilter?: 'dashboards' | 'ind return responeData; }; -export const UploadAssets = async (tutorialId: string) => { +export const UploadAssets = async (tutorialId: string, mdsId: string, mdsLabel: string) => { const { setToast } = useToast(); - try { - const responeData = await fetchAssets(tutorialId); + const http = coreRefs.http; - const blob = new Blob([responeData.data], { type: 'application/x-ndjson' }); - const file = new File([blob], 'ndjson-file.ndjson'); + try { + const response = await http!.post(`/api/observability/gettingStarted/mdsLoading`, { + body: JSON.stringify({ + mdsId, + mdsLabel, + tutorialId, + }), + }); - const error = await uploadBundle(file); - if (error) { - console.error(error.message); - } else { + if (response) { setToast('Created saved object assets successfully', 'success'); + } else { + setToast('Failed to create saved object assets', 'danger'); } } catch (err) { console.error(err.message); diff --git a/public/components/getting_started/home.tsx b/public/components/getting_started/home.tsx index 182bf1333..1c5900499 100644 --- a/public/components/getting_started/home.tsx +++ b/public/components/getting_started/home.tsx @@ -33,7 +33,6 @@ export interface HomeProps extends RouteComponentProps { dataSourceManagement: DataSourceManagementPluginSetup; savedObjectsMDSClient: SavedObjectsStart; setActionMenu: (menuMount: MountPoint | undefined) => void; - // selectedDataSourceId: string; } export const Home = (props: HomeProps) => { @@ -49,13 +48,14 @@ export const Home = (props: HomeProps) => { setActionMenu, } = props; - const [selectedDataSourceId, setSelectedDataSourceId] = useState(''); + const [selectedDataSourceId, setSelectedDataSourceId] = useState(''); + const [selectedDataSourceLabel, setSelectedDataSourceLabel] = useState(''); const onSelectedDataSourceChange = (e: any) => { const dataSourceId = e[0] ? e[0].id : undefined; + const dataSourceLabel = e[0] ? e[0].label : ''; setSelectedDataSourceId(dataSourceId); - // DELETE BEFORE PR - console.log('Selected Data Source ID:', dataSourceId); // DELETE BEFORE PR + setSelectedDataSourceLabel(dataSourceLabel); }; const DataSourceMenu = useMemo(() => { @@ -94,14 +94,9 @@ export const Home = (props: HomeProps) => { savedObjectsMDSClient, parentBreadcrumb, selectedDataSourceId, + selectedDataSourceLabel, setActionMenu, }; - // DO i need to unmount it if it is disabled. - // useEffect(() => { - // return () => { - // setActionMenu(undefined); - // }; - // }, [setActionMenu]); return (
diff --git a/server/routes/getting_started/getting_started_router.ts b/server/routes/getting_started/getting_started_router.ts index a1ae0d5bb..2da95ed74 100644 --- a/server/routes/getting_started/getting_started_router.ts +++ b/server/routes/getting_started/getting_started_router.ts @@ -3,11 +3,6 @@ * SPDX-License-Identifier: Apache-2.0 */ -/* - * Copyright OpenSearch Contributors - * SPDX-License-Identifier: Apache-2.0 - */ - import { schema } from '@osd/config-schema'; import { Readable } from 'stream'; import { @@ -134,4 +129,67 @@ export function registerGettingStartedRoutes(router: IRouter) { } } ); + + router.post( + { + path: `/api/observability/gettingStarted/mdsLoading`, + validate: { + body: schema.object({ + mdsId: schema.string(), + mdsLabel: schema.string(), + tutorialId: schema.string(), + }), + }, + }, + async ( + context, + request, + response + ): Promise> => { + try { + const { mdsId, mdsLabel, tutorialId } = request.body; + const fileData = await loadAssetsFromFile(tutorialId); + + const objects = await createSavedObjectsStreamFromNdJson(Readable.from(fileData)); + const loadedObjects = await objects.toArray(); + + const updatedObjects = loadedObjects.map((obj) => { + if (mdsId) { + const newId = `${mdsId}${obj.id}`; + const newReferences = + obj.references && obj.references.length > 0 + ? obj.references + : [ + { + id: mdsId, + type: 'data-source', + name: mdsLabel, + }, + ]; + return { + ...obj, + id: newId, + references: newReferences, + }; + } else { + return obj; + } + }); + + await context.core.savedObjects.client.bulkCreate(updatedObjects); + + return response.ok({ + body: { + message: 'Objects loaded successfully', + }, + }); + } catch (error) { + console.error(error); + return response.custom({ + statusCode: error.statusCode || 500, + body: 'Issue in loading objects for mdsId:', + }); + } + } + ); } From 6cdbe4729eddeb9aae013cc8dd6f3649ce27b8c6 Mon Sep 17 00:00:00 2001 From: Adam Tackett Date: Fri, 9 Aug 2024 11:55:07 -0700 Subject: [PATCH 3/5] update references, renaming, code cleanup Signed-off-by: Adam Tackett --- .../getting_started_queryAndAnalyze.tsx | 16 +++++++--- .../getting_started/components/utils.tsx | 4 +-- .../getting_started/getting_started_router.ts | 30 ++++++++++++------- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/public/components/getting_started/components/getting_started_queryAndAnalyze.tsx b/public/components/getting_started/components/getting_started_queryAndAnalyze.tsx index 6ab77ff2b..064beb834 100644 --- a/public/components/getting_started/components/getting_started_queryAndAnalyze.tsx +++ b/public/components/getting_started/components/getting_started_queryAndAnalyze.tsx @@ -71,14 +71,22 @@ export const QueryAndAnalyze: React.FC = ({ }, [selectedTechnology, selectedDataSourceId]); const handleIndexPatternClick = (patternId: string) => { + const finalPatternId = selectedDataSourceId + ? `mds-${selectedDataSourceId}-objectId-${patternId}` + : patternId; + coreRefs?.application!.navigateToApp('data-explorer', { - path: `discover#?_a=(discover:(columns:!(_source),isDirty:!f,sort:!()),metadata:(indexPattern:'${selectedDataSourceId}${patternId}',view:discover))&_q=(filters:!(),query:(language:kuery,query:''))&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))`, + path: `discover#?_a=(discover:(columns:!(_source),isDirty:!f,sort:!()),metadata:(indexPattern:'${finalPatternId}',view:discover))&_q=(filters:!(),query:(language:kuery,query:''))&_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))`, }); }; - const redirectToDashboards = (path: string) => { + const redirectToDashboards = (dashboardId: string) => { + const finalDashboardId = selectedDataSourceId + ? `mds-${selectedDataSourceId}-objectId-${dashboardId}` + : dashboardId; + coreRefs?.application!.navigateToApp('dashboards', { - path: `#/${path}`, + path: `#/view/${finalDashboardId}`, }); }; @@ -129,7 +137,7 @@ export const QueryAndAnalyze: React.FC = ({ title={dashboard.title} description={`Explore the ${dashboard.title} dashboard`} onClick={() => { - redirectToDashboards(`/view/${selectedDataSourceId}${dashboard.id}`); + redirectToDashboards(dashboard.id); }} /> diff --git a/public/components/getting_started/components/utils.tsx b/public/components/getting_started/components/utils.tsx index bd73a405b..8a155b75c 100644 --- a/public/components/getting_started/components/utils.tsx +++ b/public/components/getting_started/components/utils.tsx @@ -25,7 +25,7 @@ export const UploadAssets = async (tutorialId: string, mdsId: string, mdsLabel: const http = coreRefs.http; try { - const response = await http!.post(`/api/observability/gettingStarted/mdsLoading`, { + const response = await http!.post(`/api/observability/gettingStarted/createAssets`, { body: JSON.stringify({ mdsId, mdsLabel, @@ -35,8 +35,6 @@ export const UploadAssets = async (tutorialId: string, mdsId: string, mdsLabel: if (response) { setToast('Created saved object assets successfully', 'success'); - } else { - setToast('Failed to create saved object assets', 'danger'); } } catch (err) { console.error(err.message); diff --git a/server/routes/getting_started/getting_started_router.ts b/server/routes/getting_started/getting_started_router.ts index 2da95ed74..490896eba 100644 --- a/server/routes/getting_started/getting_started_router.ts +++ b/server/routes/getting_started/getting_started_router.ts @@ -132,7 +132,7 @@ export function registerGettingStartedRoutes(router: IRouter) { router.post( { - path: `/api/observability/gettingStarted/mdsLoading`, + path: `/api/observability/gettingStarted/createAssets`, validate: { body: schema.object({ mdsId: schema.string(), @@ -155,17 +155,25 @@ export function registerGettingStartedRoutes(router: IRouter) { const updatedObjects = loadedObjects.map((obj) => { if (mdsId) { - const newId = `${mdsId}${obj.id}`; + const newId = `mds-${mdsId}-objectId-${obj.id}`; + const newReferences = - obj.references && obj.references.length > 0 - ? obj.references - : [ - { - id: mdsId, - type: 'data-source', - name: mdsLabel, - }, - ]; + obj.references?.map((ref: { type: string; id: any }) => { + if (ref.type === 'visualization') { + return { + ...ref, + id: `mds-${mdsId}-objectId-${ref.id}`, + }; + } + return ref; + }) || []; + + newReferences.push({ + id: mdsId, + type: 'data-source', + name: mdsLabel, + }); + return { ...obj, id: newId, From 9c39f6778ddb7dc75b8740e666cdaf02f5f535f0 Mon Sep 17 00:00:00 2001 From: Adam Tackett Date: Mon, 12 Aug 2024 16:56:52 -0700 Subject: [PATCH 4/5] update snapshots, remove depend Signed-off-by: Adam Tackett --- .../__tests__/__snapshots__/log_config.test.tsx.snap | 4 ++++ .../__snapshots__/service_config.test.tsx.snap | 4 ++++ .../__snapshots__/trace_config.test.tsx.snap | 4 ++++ .../__snapshots__/custom_panel_view.test.tsx.snap | 8 ++++++++ .../__tests__/__snapshots__/panel_grid.test.tsx.snap | 2 ++ .../__tests__/__snapshots__/save_panel.test.tsx.snap | 2 +- public/components/getting_started/home.tsx | 3 --- .../__snapshots__/metrics_grid.test.tsx.snap | 4 ++++ .../__tests__/__snapshots__/dashboard.test.tsx.snap | 12 ++++++++++++ .../__tests__/__snapshots__/services.test.tsx.snap | 12 ++++++++++++ .../__tests__/__snapshots__/traces.test.tsx.snap | 12 ++++++++++++ 11 files changed, 63 insertions(+), 4 deletions(-) diff --git a/public/components/application_analytics/__tests__/__snapshots__/log_config.test.tsx.snap b/public/components/application_analytics/__tests__/__snapshots__/log_config.test.tsx.snap index 8bb764eaa..0ccc0ae60 100644 --- a/public/components/application_analytics/__tests__/__snapshots__/log_config.test.tsx.snap +++ b/public/components/application_analytics/__tests__/__snapshots__/log_config.test.tsx.snap @@ -16,6 +16,7 @@ exports[`Log Config component renders empty log config 1`] = ` "getBreadcrumbsEnricher$": [MockFunction], "getCustomNavLink$": [MockFunction], "getHeaderComponent": [MockFunction], + "getHeaderVariant$": [MockFunction], "getHelpExtension$": [MockFunction], "getIsNavDrawerLocked$": [MockFunction], "getIsVisible$": [MockFunction], @@ -119,6 +120,7 @@ exports[`Log Config component renders empty log config 1`] = ` "setBreadcrumbs": [MockFunction], "setBreadcrumbsEnricher": [MockFunction], "setCustomNavLink": [MockFunction], + "setHeaderVariant": [MockFunction], "setHelpExtension": [MockFunction], "setHelpSupportUrl": [MockFunction], "setIsVisible": [MockFunction], @@ -649,6 +651,7 @@ exports[`Log Config component renders with query 1`] = ` "getBreadcrumbsEnricher$": [MockFunction], "getCustomNavLink$": [MockFunction], "getHeaderComponent": [MockFunction], + "getHeaderVariant$": [MockFunction], "getHelpExtension$": [MockFunction], "getIsNavDrawerLocked$": [MockFunction], "getIsVisible$": [MockFunction], @@ -752,6 +755,7 @@ exports[`Log Config component renders with query 1`] = ` "setBreadcrumbs": [MockFunction], "setBreadcrumbsEnricher": [MockFunction], "setCustomNavLink": [MockFunction], + "setHeaderVariant": [MockFunction], "setHelpExtension": [MockFunction], "setHelpSupportUrl": [MockFunction], "setIsVisible": [MockFunction], diff --git a/public/components/application_analytics/__tests__/__snapshots__/service_config.test.tsx.snap b/public/components/application_analytics/__tests__/__snapshots__/service_config.test.tsx.snap index 1f1a5410a..2a759f441 100644 --- a/public/components/application_analytics/__tests__/__snapshots__/service_config.test.tsx.snap +++ b/public/components/application_analytics/__tests__/__snapshots__/service_config.test.tsx.snap @@ -16,6 +16,7 @@ exports[`Service Config component renders empty service config 1`] = ` "getBreadcrumbsEnricher$": [MockFunction], "getCustomNavLink$": [MockFunction], "getHeaderComponent": [MockFunction], + "getHeaderVariant$": [MockFunction], "getHelpExtension$": [MockFunction], "getIsNavDrawerLocked$": [MockFunction], "getIsVisible$": [MockFunction], @@ -119,6 +120,7 @@ exports[`Service Config component renders empty service config 1`] = ` "setBreadcrumbs": [MockFunction], "setBreadcrumbsEnricher": [MockFunction], "setCustomNavLink": [MockFunction], + "setHeaderVariant": [MockFunction], "setHelpExtension": [MockFunction], "setHelpSupportUrl": [MockFunction], "setIsVisible": [MockFunction], @@ -1219,6 +1221,7 @@ exports[`Service Config component renders with one service selected 1`] = ` "getBreadcrumbsEnricher$": [MockFunction], "getCustomNavLink$": [MockFunction], "getHeaderComponent": [MockFunction], + "getHeaderVariant$": [MockFunction], "getHelpExtension$": [MockFunction], "getIsNavDrawerLocked$": [MockFunction], "getIsVisible$": [MockFunction], @@ -1322,6 +1325,7 @@ exports[`Service Config component renders with one service selected 1`] = ` "setBreadcrumbs": [MockFunction], "setBreadcrumbsEnricher": [MockFunction], "setCustomNavLink": [MockFunction], + "setHeaderVariant": [MockFunction], "setHelpExtension": [MockFunction], "setHelpSupportUrl": [MockFunction], "setIsVisible": [MockFunction], diff --git a/public/components/application_analytics/__tests__/__snapshots__/trace_config.test.tsx.snap b/public/components/application_analytics/__tests__/__snapshots__/trace_config.test.tsx.snap index d18c22b8c..9750299fa 100644 --- a/public/components/application_analytics/__tests__/__snapshots__/trace_config.test.tsx.snap +++ b/public/components/application_analytics/__tests__/__snapshots__/trace_config.test.tsx.snap @@ -15,6 +15,7 @@ exports[`Trace Config component renders empty trace config 1`] = ` "getBreadcrumbsEnricher$": [MockFunction], "getCustomNavLink$": [MockFunction], "getHeaderComponent": [MockFunction], + "getHeaderVariant$": [MockFunction], "getHelpExtension$": [MockFunction], "getIsNavDrawerLocked$": [MockFunction], "getIsVisible$": [MockFunction], @@ -118,6 +119,7 @@ exports[`Trace Config component renders empty trace config 1`] = ` "setBreadcrumbs": [MockFunction], "setBreadcrumbsEnricher": [MockFunction], "setCustomNavLink": [MockFunction], + "setHeaderVariant": [MockFunction], "setHelpExtension": [MockFunction], "setHelpSupportUrl": [MockFunction], "setIsVisible": [MockFunction], @@ -931,6 +933,7 @@ exports[`Trace Config component renders with one trace selected 1`] = ` "getBreadcrumbsEnricher$": [MockFunction], "getCustomNavLink$": [MockFunction], "getHeaderComponent": [MockFunction], + "getHeaderVariant$": [MockFunction], "getHelpExtension$": [MockFunction], "getIsNavDrawerLocked$": [MockFunction], "getIsVisible$": [MockFunction], @@ -1034,6 +1037,7 @@ exports[`Trace Config component renders with one trace selected 1`] = ` "setBreadcrumbs": [MockFunction], "setBreadcrumbsEnricher": [MockFunction], "setCustomNavLink": [MockFunction], + "setHeaderVariant": [MockFunction], "setHelpExtension": [MockFunction], "setHelpSupportUrl": [MockFunction], "setIsVisible": [MockFunction], diff --git a/public/components/custom_panels/__tests__/__snapshots__/custom_panel_view.test.tsx.snap b/public/components/custom_panels/__tests__/__snapshots__/custom_panel_view.test.tsx.snap index cfd039fcf..060e3fe8c 100644 --- a/public/components/custom_panels/__tests__/__snapshots__/custom_panel_view.test.tsx.snap +++ b/public/components/custom_panels/__tests__/__snapshots__/custom_panel_view.test.tsx.snap @@ -888,6 +888,7 @@ exports[`Panels View Component renders panel view container with visualizations "getBreadcrumbsEnricher$": [MockFunction], "getCustomNavLink$": [MockFunction], "getHeaderComponent": [MockFunction], + "getHeaderVariant$": [MockFunction], "getHelpExtension$": [MockFunction], "getIsNavDrawerLocked$": [MockFunction] { "calls": Array [ @@ -1285,6 +1286,7 @@ exports[`Panels View Component renders panel view container with visualizations }, "setBreadcrumbsEnricher": [MockFunction], "setCustomNavLink": [MockFunction], + "setHeaderVariant": [MockFunction], "setHelpExtension": [MockFunction], "setHelpSupportUrl": [MockFunction], "setIsVisible": [MockFunction], @@ -2692,6 +2694,7 @@ exports[`Panels View Component renders panel view container with visualizations "getBreadcrumbsEnricher$": [MockFunction], "getCustomNavLink$": [MockFunction], "getHeaderComponent": [MockFunction], + "getHeaderVariant$": [MockFunction], "getHelpExtension$": [MockFunction], "getIsNavDrawerLocked$": [MockFunction] { "calls": Array [ @@ -3089,6 +3092,7 @@ exports[`Panels View Component renders panel view container with visualizations }, "setBreadcrumbsEnricher": [MockFunction], "setCustomNavLink": [MockFunction], + "setHeaderVariant": [MockFunction], "setHelpExtension": [MockFunction], "setHelpSupportUrl": [MockFunction], "setIsVisible": [MockFunction], @@ -3259,6 +3263,7 @@ exports[`Panels View Component renders panel view container without visualizatio "getBreadcrumbsEnricher$": [MockFunction], "getCustomNavLink$": [MockFunction], "getHeaderComponent": [MockFunction], + "getHeaderVariant$": [MockFunction], "getHelpExtension$": [MockFunction], "getIsNavDrawerLocked$": [MockFunction] { "calls": Array [ @@ -3545,6 +3550,7 @@ exports[`Panels View Component renders panel view container without visualizatio }, "setBreadcrumbsEnricher": [MockFunction], "setCustomNavLink": [MockFunction], + "setHeaderVariant": [MockFunction], "setHelpExtension": [MockFunction], "setHelpSupportUrl": [MockFunction], "setIsVisible": [MockFunction], @@ -4947,6 +4953,7 @@ exports[`Panels View Component renders panel view container without visualizatio "getBreadcrumbsEnricher$": [MockFunction], "getCustomNavLink$": [MockFunction], "getHeaderComponent": [MockFunction], + "getHeaderVariant$": [MockFunction], "getHelpExtension$": [MockFunction], "getIsNavDrawerLocked$": [MockFunction] { "calls": Array [ @@ -5233,6 +5240,7 @@ exports[`Panels View Component renders panel view container without visualizatio }, "setBreadcrumbsEnricher": [MockFunction], "setCustomNavLink": [MockFunction], + "setHeaderVariant": [MockFunction], "setHelpExtension": [MockFunction], "setHelpSupportUrl": [MockFunction], "setIsVisible": [MockFunction], diff --git a/public/components/custom_panels/panel_modules/panel_grid/__tests__/__snapshots__/panel_grid.test.tsx.snap b/public/components/custom_panels/panel_modules/panel_grid/__tests__/__snapshots__/panel_grid.test.tsx.snap index 092c81d0e..cd8bc1e16 100644 --- a/public/components/custom_panels/panel_modules/panel_grid/__tests__/__snapshots__/panel_grid.test.tsx.snap +++ b/public/components/custom_panels/panel_modules/panel_grid/__tests__/__snapshots__/panel_grid.test.tsx.snap @@ -15,6 +15,7 @@ exports[`Panel Grid Component renders panel grid component with empty visualizat "getBreadcrumbsEnricher$": [MockFunction], "getCustomNavLink$": [MockFunction], "getHeaderComponent": [MockFunction], + "getHeaderVariant$": [MockFunction], "getHelpExtension$": [MockFunction], "getIsNavDrawerLocked$": [MockFunction] { "calls": Array [ @@ -276,6 +277,7 @@ exports[`Panel Grid Component renders panel grid component with empty visualizat "setBreadcrumbs": [MockFunction], "setBreadcrumbsEnricher": [MockFunction], "setCustomNavLink": [MockFunction], + "setHeaderVariant": [MockFunction], "setHelpExtension": [MockFunction], "setHelpSupportUrl": [MockFunction], "setIsVisible": [MockFunction], diff --git a/public/components/event_analytics/explorer/save_panel/__tests__/__snapshots__/save_panel.test.tsx.snap b/public/components/event_analytics/explorer/save_panel/__tests__/__snapshots__/save_panel.test.tsx.snap index b94a45bd6..bb9969e7c 100644 --- a/public/components/event_analytics/explorer/save_panel/__tests__/__snapshots__/save_panel.test.tsx.snap +++ b/public/components/event_analytics/explorer/save_panel/__tests__/__snapshots__/save_panel.test.tsx.snap @@ -609,7 +609,7 @@ exports[`Saved query table component Renders saved query table 1`] = ` showLabel={true} >