Skip to content

Commit e5cdf82

Browse files
[Search] Always enable AI assistant in Search solution view (#226997)
This enables the AI Assistant in the Search solution view. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> (cherry picked from commit 0c004e9)
1 parent 9e81afb commit e5cdf82

2 files changed

Lines changed: 13 additions & 6 deletions

File tree

x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/hooks/is_nav_control_visible.tsx

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { useEffect, useState } from 'react';
99
import { combineLatest } from 'rxjs';
1010
import { CoreStart, DEFAULT_APP_CATEGORIES, type PublicAppInfo } from '@kbn/core/public';
1111
import { AIAssistantType } from '@kbn/ai-assistant-management-plugin/public';
12+
import { Space } from '@kbn/spaces-plugin/common';
1213
import { ObservabilityAIAssistantAppPluginStartDependencies } from '../types';
1314

1415
interface UseIsNavControlVisibleProps {
@@ -19,7 +20,8 @@ interface UseIsNavControlVisibleProps {
1920
function getVisibility(
2021
appId: string | undefined,
2122
applications: ReadonlyMap<string, PublicAppInfo>,
22-
preferredAssistantType: AIAssistantType
23+
preferredAssistantType: AIAssistantType,
24+
space: Space
2325
) {
2426
if (preferredAssistantType === AIAssistantType.Never) {
2527
return false;
@@ -28,7 +30,7 @@ function getVisibility(
2830
const categoryId =
2931
(appId && applications.get(appId)?.category?.id) || DEFAULT_APP_CATEGORIES.kibana.id;
3032

31-
if (preferredAssistantType === AIAssistantType.Observability) {
33+
if (preferredAssistantType === AIAssistantType.Observability || space.solution === 'es') {
3234
return categoryId !== DEFAULT_APP_CATEGORIES.security.id;
3335
}
3436

@@ -42,21 +44,24 @@ export function useIsNavControlVisible({ coreStart, pluginsStart }: UseIsNavCont
4244
const [isVisible, setIsVisible] = useState(false);
4345

4446
const { currentAppId$, applications$ } = coreStart.application;
45-
const { aiAssistantManagementSelection } = pluginsStart;
47+
const { aiAssistantManagementSelection, spaces } = pluginsStart;
48+
49+
const space$ = spaces.getActiveSpace$();
4650

4751
useEffect(() => {
4852
const appSubscription = combineLatest([
4953
currentAppId$,
5054
applications$,
5155
aiAssistantManagementSelection.aiAssistantType$,
56+
space$,
5257
]).subscribe({
53-
next: ([appId, applications, preferredAssistantType]) => {
54-
setIsVisible(getVisibility(appId, applications, preferredAssistantType));
58+
next: ([appId, applications, preferredAssistantType, space]) => {
59+
setIsVisible(getVisibility(appId, applications, preferredAssistantType, space));
5560
},
5661
});
5762

5863
return () => appSubscription.unsubscribe();
59-
}, [currentAppId$, applications$, aiAssistantManagementSelection.aiAssistantType$]);
64+
}, [currentAppId$, applications$, aiAssistantManagementSelection.aiAssistantType$, space$]);
6065

6166
return {
6267
isVisible,

x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import type {
3131
AIAssistantManagementSelectionPluginPublicStart,
3232
AIAssistantManagementSelectionPluginPublicSetup,
3333
} from '@kbn/ai-assistant-management-plugin/public';
34+
import { SpacesPluginStart } from '@kbn/spaces-plugin/public';
3435
import type { RootCauseAnalysisContainer } from './components/rca/rca_container';
3536

3637
export interface ObservabilityAIAssistantAppPublicStart {
@@ -53,6 +54,7 @@ export interface ObservabilityAIAssistantAppPluginStartDependencies {
5354
triggersActionsUi: TriggersAndActionsUIPublicPluginStart;
5455
data: DataPublicPluginStart;
5556
aiAssistantManagementSelection: AIAssistantManagementSelectionPluginPublicStart;
57+
spaces: SpacesPluginStart;
5658
}
5759

5860
export interface ObservabilityAIAssistantAppPluginSetupDependencies {

0 commit comments

Comments
 (0)