Skip to content

Commit 5bc6239

Browse files
[Security Solution] Timeline uses existing filter manager (#111143)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
1 parent c739459 commit 5bc6239

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_investigate_in_timeline.tsx

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* 2.0; you may not use this file except in compliance with the Elastic License
55
* 2.0.
66
*/
7-
import React, { useCallback } from 'react';
7+
import React, { useCallback, useMemo } from 'react';
88
import { useDispatch } from 'react-redux';
99

1010
import { EuiContextMenuItem } from '@elastic/eui';
@@ -13,11 +13,12 @@ import { useKibana } from '../../../../common/lib/kibana';
1313
import { TimelineId } from '../../../../../common/types/timeline';
1414
import { Ecs } from '../../../../../common/ecs';
1515
import { TimelineNonEcsData } from '../../../../../common/search_strategy/timeline';
16-
import { timelineActions } from '../../../../timelines/store/timeline';
16+
import { timelineActions, timelineSelectors } from '../../../../timelines/store/timeline';
1717
import { sendAlertToTimelineAction } from '../actions';
1818
import { dispatchUpdateTimeline } from '../../../../timelines/components/open_timeline/helpers';
1919
import { CreateTimelineProps } from '../types';
2020
import { ACTION_INVESTIGATE_IN_TIMELINE } from '../translations';
21+
import { useDeepEqualSelector } from '../../../../common/hooks/use_selector';
2122
import { useFetchEcsAlertsData } from '../../../containers/detection_engine/alerts/use_fetch_ecs_alerts_data';
2223

2324
interface UseInvestigateInTimelineActionProps {
@@ -34,10 +35,20 @@ export const useInvestigateInTimeline = ({
3435
onInvestigateInTimelineAlertClick,
3536
}: UseInvestigateInTimelineActionProps) => {
3637
const {
37-
data: { search: searchStrategyClient },
38+
data: { search: searchStrategyClient, query },
3839
} = useKibana().services;
3940
const dispatch = useDispatch();
4041

42+
const filterManagerBackup = useMemo(() => query.filterManager, [query.filterManager]);
43+
const getManageTimeline = useMemo(() => timelineSelectors.getManageTimelineById(), []);
44+
const { filterManager: activeFilterManager } = useDeepEqualSelector((state) =>
45+
getManageTimeline(state, TimelineId.active ?? '')
46+
);
47+
const filterManager = useMemo(() => activeFilterManager ?? filterManagerBackup, [
48+
activeFilterManager,
49+
filterManagerBackup,
50+
]);
51+
4152
const updateTimelineIsLoading = useCallback(
4253
(payload) => dispatch(timelineActions.updateIsLoading(payload)),
4354
[dispatch]
@@ -53,6 +64,7 @@ export const useInvestigateInTimeline = ({
5364
notes: [],
5465
timeline: {
5566
...timeline,
67+
filterManager,
5668
// by setting as an empty array, it will default to all in the reducer because of the event type
5769
indexNames: [],
5870
show: true,
@@ -61,7 +73,7 @@ export const useInvestigateInTimeline = ({
6173
ruleNote,
6274
})();
6375
},
64-
[dispatch, updateTimelineIsLoading]
76+
[dispatch, filterManager, updateTimelineIsLoading]
6577
);
6678

6779
const showInvestigateInTimelineAction = alertIds != null;

0 commit comments

Comments
 (0)