Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Security Solution] Integrate Vanilla Unified Data Table in Timeline #176064

Merged
merged 76 commits into from
Apr 2, 2024
Merged
Changes from 1 commit
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
78cfc74
wip udt
michaelolo24 Jan 16, 2024
7eb5b4d
use control columns completed
michaelolo24 Jan 22, 2024
5dff62f
wip column
michaelolo24 Jan 24, 2024
72cfff5
got table visible
michaelolo24 Jan 26, 2024
258ed5d
move query tab to new file
michaelolo24 Feb 1, 2024
20921de
Continued refactor of table code
michaelolo24 Feb 1, 2024
dfde043
fix: add appropriate actions and unified table changes
logeekal Feb 9, 2024
b1556c7
fix: column auto adjust width
logeekal Feb 13, 2024
769d5ce
fix: Field Formatting
logeekal Feb 13, 2024
1a4b9a4
fix: flyout issues + rename var
logeekal Feb 15, 2024
e87c5a9
switch off feature flag by default
logeekal Feb 15, 2024
aed026b
fix: housekeeping
logeekal Feb 15, 2024
a5c7a81
fix: cypress + unit tests
logeekal Feb 20, 2024
c2e3719
Merged main -> current branch
logeekal Feb 20, 2024
6fb3bef
fix: types
logeekal Feb 20, 2024
9595983
fix: alert acount
logeekal Feb 21, 2024
d42cb2e
fix: some tests + remove unnecessary changes
logeekal Feb 21, 2024
f3faa32
Merge branch 'main' into integrate-unified-data-table-1
logeekal Feb 21, 2024
aa41a23
fix: translations
logeekal Feb 22, 2024
aaf4ba4
fix: more translations
logeekal Feb 22, 2024
c994a04
fix: add query tab unit tests
logeekal Feb 23, 2024
2d6e0b8
fix: tests
logeekal Feb 26, 2024
5a03ece
fix: more tests
logeekal Mar 2, 2024
963363f
Merged main -> current branch
logeekal Mar 2, 2024
05bd286
fix: types + tests
logeekal Mar 4, 2024
332bfc2
fix: more types + better mock
logeekal Mar 4, 2024
d67ac0f
complete query tab unified tests
logeekal Mar 6, 2024
a8401a4
Merge main --> current branch
logeekal Mar 6, 2024
92cc95e
fix: test + cell action metadata
logeekal Mar 6, 2024
288195c
fix: tests
logeekal Mar 6, 2024
ff4feea
fix: test instability
logeekal Mar 7, 2024
a22d803
test: unified list test
logeekal Mar 7, 2024
c0fbb5f
test: adding drag capability incremental save
logeekal Mar 7, 2024
1dfe8f4
refactor: delete unnecessary files + code
logeekal Mar 8, 2024
1fe3ea6
fix: add useGetScopedSourcererDataViewTests
logeekal Mar 11, 2024
4c8fe91
fix: deduped last updated date component
logeekal Mar 11, 2024
4a61483
refactor: better class names
logeekal Mar 11, 2024
fa5d8e0
fix: data grid highlight class
logeekal Mar 11, 2024
b2d9ea5
fix: unecessary change revert
logeekal Mar 11, 2024
6b81b0b
Deduped getColumnHeader for unified header columns
logeekal Mar 11, 2024
ab22474
test: updateTimelineColumnWidth
logeekal Mar 11, 2024
2863544
remove unncessary change
logeekal Mar 11, 2024
20edaae
fix: row height table
logeekal Mar 11, 2024
81ab130
Merge branch 'main' into integrate-unified-data-table-1
logeekal Mar 11, 2024
df53346
Merge branch 'main' into integrate-unified-data-table-1
logeekal Mar 12, 2024
a141c2b
fix: deduped field formatters
logeekal Mar 12, 2024
2837017
fix: tests
logeekal Mar 13, 2024
9074af3
tests: unified_component unit tests
logeekal Mar 14, 2024
97425cd
fix: types
logeekal Mar 14, 2024
6551476
Merge branch 'main' into integrate-unified-data-table-1
kibanamachine Mar 14, 2024
374c0c7
test: unified data table
logeekal Mar 22, 2024
1d05271
[CI] Auto-commit changed files from 'node scripts/lint_ts_projects --…
kibanamachine Mar 22, 2024
87655c5
test: more of them 🧪
logeekal Mar 25, 2024
642109f
fix: add with data view HOC
logeekal Mar 25, 2024
077c0c1
tests: open_timeline
logeekal Mar 26, 2024
c0934bd
fix: revert duplicate timeline change
logeekal Mar 26, 2024
557344d
test: cypress
logeekal Mar 26, 2024
d7af041
fix: more tests + cypress
logeekal Mar 26, 2024
248226f
Merge branch 'main' into integrate-unified-data-table-1
logeekal Mar 26, 2024
c421fa3
fix: Issue with merge -> main
logeekal Mar 26, 2024
cf159a7
review feedback
logeekal Mar 27, 2024
8694f9e
fix: try increasing test timeout
logeekal Mar 27, 2024
56c1ae6
update test snapshot
logeekal Mar 27, 2024
0bfc88b
fix: add timeouts to test
logeekal Mar 27, 2024
770f1f8
test: add timeout
logeekal Mar 27, 2024
d01ba94
fix: add z-index to old flyout
logeekal Mar 27, 2024
a4b1e9c
tests: update cypress + jest test timeout
logeekal Mar 27, 2024
472c173
update timeout time
michaelolo24 Mar 27, 2024
112a343
Merge branch 'main' into integrate-unified-data-table-1
logeekal Mar 28, 2024
7360c8c
fix: merge issues
logeekal Mar 28, 2024
84fe0fb
fix: review feedback cypress
logeekal Mar 28, 2024
c312a7b
fix: add brokenInServerlessQA tag
logeekal Mar 28, 2024
8e840b2
Merge remote-tracking branch 'upstream/main' into integrate-unified-d…
michaelolo24 Mar 29, 2024
2df4376
[CI] Auto-commit changed files from 'node scripts/eslint --no-cache -…
kibanamachine Mar 29, 2024
4aa05e9
update timeline helpers tests
michaelolo24 Apr 1, 2024
2467a37
Merge remote-tracking branch 'upstream/main' into integrate-unified-d…
michaelolo24 Apr 1, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix: flyout issues + rename var
  • Loading branch information
logeekal committed Feb 15, 2024
commit 1a4b9a4457b1b43d1cefdb4dda212554c839a0cc
Original file line number Diff line number Diff line change
@@ -345,6 +345,7 @@ export const UnifiedFieldListSidebarComponent: React.FC<UnifiedFieldListSidebarP
'data-test-subj':
stateService.creationOptions.dataTestSubj?.fieldListAddFieldButtonTestSubj ??
'unifiedFieldListAddField',
className: 'unifiedFieldListSidebar__addBtn',
};
const buttonAddFieldLabel = i18n.translate(
'unifiedFieldList.fieldListSidebar.addFieldButtonLabel',
Original file line number Diff line number Diff line change
@@ -9,6 +9,7 @@ import { useMemo, useState } from 'react';
import type { Filter } from '@kbn/es-query';
import { getEsQueryConfig } from '@kbn/data-plugin/common';
import type { DataProvider } from '@kbn/timelines-plugin/common';
import { DataLoadingState } from '@kbn/unified-data-table';
import { TimelineId } from '../../../../../../common/types/timeline';
import { useKibana } from '../../../../lib/kibana';
import { combineQueries } from '../../../../lib/kuery';
@@ -64,7 +65,7 @@ export const useInsightQuery = ({
}
}, [browserFields, dataProviders, esQueryConfig, hasError, indexPattern, filters]);

const [isQueryLoading, { events, totalCount }] = useTimelineEvents({
const [dataLoadingState, { events, totalCount }] = useTimelineEvents({
dataViewId,
fields: ['*'],
filterQuery: combinedQueries?.filterQuery,
@@ -77,6 +78,12 @@ export const useInsightQuery = ({
? { startDate: relativeTimerange?.from, endDate: relativeTimerange?.to }
: {}),
});

const isQueryLoading = useMemo(
() => [DataLoadingState.loading, DataLoadingState.loadingMore].includes(dataLoadingState),
[dataLoadingState]
);

const [oldestEvent] = events;
const timestamp =
oldestEvent && oldestEvent.data && oldestEvent.data.find((d) => d.field === '@timestamp');
Original file line number Diff line number Diff line change
@@ -23,7 +23,7 @@ import { useIsExperimentalFeatureEnabled } from '../use_experimental_features';

export const useInitTimelineFromUrlParam = () => {
const dispatch = useDispatch();
const useDiscoverComponentsInTimeline = useIsExperimentalFeatureEnabled(
const unifiedComponentsInTimelineEnabled = useIsExperimentalFeatureEnabled(
'unifiedComponentsInTimelineEnabled'
);

@@ -45,11 +45,11 @@ export const useInitTimelineFromUrlParam = () => {
dispatch(timelineActions.updateIsLoading(status)),
updateTimeline: dispatchUpdateTimeline(dispatch),
savedSearchId: initialState.savedSearchId,
useDiscoverComponentsInTimeline,
unifiedComponentsInTimelineEnabled,
});
}
},
[dispatch, useDiscoverComponentsInTimeline, isEsqlTabDisabled]
[dispatch, unifiedComponentsInTimelineEnabled, isEsqlTabDisabled]
);

useEffect(() => {
Original file line number Diff line number Diff line change
@@ -47,7 +47,7 @@ export const useQueryTimelineByIdOnUrlChange = () => {
const timelineIdFromReduxStore = flyoutTimeline?.savedObjectId ?? '';
const dispatch = useDispatch();

const useDiscoverComponentsInTimeline = useIsExperimentalFeatureEnabled(
const unifiedComponentsInTimelineEnabled = useIsExperimentalFeatureEnabled(
'unifiedComponentsInTimelineEnabled'
);

@@ -80,7 +80,7 @@ export const useQueryTimelineByIdOnUrlChange = () => {
updateIsLoading: (status: { id: string; isLoading: boolean }) =>
dispatch(timelineActions.updateIsLoading(status)),
updateTimeline: dispatchUpdateTimeline(dispatch),
useDiscoverComponentsInTimeline,
unifiedComponentsInTimelineEnabled,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for keeping these all constant. Going to make it much easier to remove when this becomes the default

});
}
}, [
@@ -90,7 +90,7 @@ export const useQueryTimelineByIdOnUrlChange = () => {
newId,
activeTab,
graphEventId,
useDiscoverComponentsInTimeline,
unifiedComponentsInTimelineEnabled,
]);
};

Original file line number Diff line number Diff line change
@@ -8,17 +8,17 @@
import type { EuiDataGridColumnCellActionProps } from '@elastic/eui';
import { head, getOr, get, isEmpty } from 'lodash/fp';
import React, { useMemo } from 'react';
import type { BrowserField, TimelineItem } from '@kbn/timelines-plugin/common';
import type { TimelineItem } from '@kbn/timelines-plugin/common';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import { getPageRowIndex } from '@kbn/securitysolution-data-table';
import type { DataTableRecord } from '@kbn/discover-utils/types';
import type { ColumnHeaderOptions } from '../../../../common/types';
import type { TimelineNonEcsData } from '../../../../common/search_strategy';
import { useGetMappedNonEcsValue } from '../../../timelines/components/timeline/body/data_driven_columns';
import { FormattedFieldValue } from '../../../timelines/components/timeline/body/renderers/formatted_field';
import { parseValue } from '../../../timelines/components/timeline/body/renderers/parse_value';
import { EmptyComponent, getLinkColumnDefinition } from './helpers';
import { getField, getFieldKey } from '../../../helpers';
import { DataTableRecord } from '@kbn/discover-utils/types';

const useFormattedFieldProps = ({
rowIndex,
@@ -45,7 +45,7 @@ const useFormattedFieldProps = ({
fieldName: columnId,
};
}, [pageRowIndex, columnId, data, unifiedDataTableRow]);
const ecs = unifiedDataTableRow ? unifiedDataTableRow.ecs : ecsData[pageRowIndex];
const ecs = unifiedDataTableRow ? unifiedDataTableRow.ecs : ecsData[pageRowIndex];

const link = getLinkColumnDefinition(columnId, header?.type, header?.linkField);
const linkField = header?.linkField ? header?.linkField : link?.linkField;
@@ -75,7 +75,6 @@ const useFormattedFieldProps = ({
values,
title,
linkValue: head<string>(normalizedLinkValue),

};
} else {
return {
@@ -93,10 +92,7 @@ const useFormattedFieldProps = ({
}
};



export const FieldValueCell = ({
browserFieldsByName,
data,
ecsData,
header,
@@ -105,7 +101,6 @@ export const FieldValueCell = ({
closeCellPopover,
unifiedDataTableRows,
}: {
browserFieldsByName?: { [fieldName: string]: Partial<BrowserField> },
data: TimelineNonEcsData[][];
ecsData: Ecs[];
header?: ColumnHeaderOptions;
@@ -114,13 +109,12 @@ export const FieldValueCell = ({
closeCellPopover?: () => void;
unifiedDataTableRows?: Array<DataTableRecord & TimelineItem>;
}) => {
if (header !== undefined || browserFieldsByName) {
if (header !== undefined) {
return function FieldValue({
rowIndex,
columnId,
Component,
}: EuiDataGridColumnCellActionProps) {
let columnHeader = browserFieldsByName ? browserFieldsByName[columnId] : header;
const unifiedDataTableRow = unifiedDataTableRows ? unifiedDataTableRows[rowIndex] : undefined;
const {
pageRowIndex,
@@ -133,7 +127,15 @@ export const FieldValueCell = ({
fieldFormat,
fieldType,
linkValue,
} = useFormattedFieldProps({ unifiedDataTableRow, rowIndex, pageSize, ecsData, columnId, header: columnHeader, data });
} = useFormattedFieldProps({
unifiedDataTableRow,
rowIndex,
pageSize,
ecsData,
columnId,
header,
data,
});

const showEmpty = useMemo(() => {
const hasLink = link !== undefined && values && !isEmpty(value);
@@ -145,15 +147,15 @@ export const FieldValueCell = ({
} else {
return hasLink !== true;
}
}, [link, pageRowIndex, value, values]);
}, [link, pageRowIndex, value, values, unifiedDataTableRow]);

return showEmpty === false ? (
<FormattedFieldValue
Component={unifiedDataTableRow ? undefined : Component}
contextId={`expanded-value-${columnId}-row-${pageRowIndex}-${scopeId}`}
eventId={eventId}
fieldFormat={fieldFormat}
isAggregatable={columnHeader?.aggregatable ?? false}
isAggregatable={header?.aggregatable ?? false}
fieldName={fieldName}
fieldType={fieldType}
isButton={unifiedDataTableRow ? false : true}
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@ import { useIsExperimentalFeatureEnabled } from '../../hooks/use_experimental_fe
export const useTimelineClick = () => {
const dispatch = useDispatch();

const useDiscoverComponentsInTimeline = useIsExperimentalFeatureEnabled(
const unifiedComponentsInTimelineEnabled = useIsExperimentalFeatureEnabled(
'unifiedComponentsInTimelineEnabled'
);

@@ -36,10 +36,10 @@ export const useTimelineClick = () => {
isLoading: boolean;
}) => dispatch(dispatchUpdateIsLoading({ id: currentTimelineId, isLoading })),
updateTimeline: dispatchUpdateTimeline(dispatch),
useDiscoverComponentsInTimeline,
unifiedComponentsInTimelineEnabled,
});
},
[dispatch, useDiscoverComponentsInTimeline]
[dispatch, unifiedComponentsInTimelineEnabled]
);

return handleTimelineClick;
Original file line number Diff line number Diff line change
@@ -156,7 +156,7 @@ export const useInvestigateInTimeline = ({
timelineType: TimelineType.default,
});

const useDiscoverComponentsInTimeline = useIsExperimentalFeatureEnabled(
const unifiedComponentsInTimelineEnabled = useIsExperimentalFeatureEnabled(
'unifiedComponentsInTimelineEnabled'
);

@@ -171,7 +171,7 @@ export const useInvestigateInTimeline = ({
notes: [],
timeline: {
...timeline,
columns: useDiscoverComponentsInTimeline ? defaultUdtHeaders : defaultHeaders,
columns: unifiedComponentsInTimelineEnabled ? defaultUdtHeaders : defaultHeaders,
logeekal marked this conversation as resolved.
Show resolved Hide resolved
filterManager,
indexNames: timeline.indexNames ?? [],
show: true,
@@ -185,7 +185,7 @@ export const useInvestigateInTimeline = ({
filterManager,
updateTimelineIsLoading,
clearActiveTimeline,
useDiscoverComponentsInTimeline,
unifiedComponentsInTimelineEnabled,
]
);

Original file line number Diff line number Diff line change
@@ -52,7 +52,7 @@ export const useRuleFromTimeline = (setRuleQuery: SetRuleQuery): RuleFromTimelin
SourcererScopeName.timeline
);

const useDiscoverComponentsInTimeline = useIsExperimentalFeatureEnabled(
const unifiedComponentsInTimelineEnabled = useIsExperimentalFeatureEnabled(
'unifiedComponentsInTimelineEnabled'
);

@@ -210,11 +210,11 @@ export const useRuleFromTimeline = (setRuleQuery: SetRuleQuery): RuleFromTimelin
isLoading: boolean;
}) => dispatch(updateIsLoading({ id: currentTimelineId, isLoading })),
updateTimeline: dispatchUpdateTimeline(dispatch),
useDiscoverComponentsInTimeline,
unifiedComponentsInTimelineEnabled,
});
}
},
[dispatch, onOpenTimeline, selectedTimeline, useDiscoverComponentsInTimeline]
[dispatch, onOpenTimeline, selectedTimeline, unifiedComponentsInTimelineEnabled]
);

const [urlStateInitialized, setUrlStateInitialized] = useState(false);
Original file line number Diff line number Diff line change
@@ -45,7 +45,7 @@ const StatefulRecentTimelinesComponent: React.FC<Props> = ({ filterBy }) => {
);
const updateTimeline = useMemo(() => dispatchUpdateTimeline(dispatch), [dispatch]);

const useDiscoverComponentsInTimeline = useIsExperimentalFeatureEnabled(
const unifiedComponentsInTimelineEnabled = useIsExperimentalFeatureEnabled(
'unifiedComponentsInTimelineEnabled'
);

@@ -58,10 +58,10 @@ const StatefulRecentTimelinesComponent: React.FC<Props> = ({ filterBy }) => {
timelineId,
updateIsLoading,
updateTimeline,
useDiscoverComponentsInTimeline,
unifiedComponentsInTimelineEnabled,
});
},
[updateIsLoading, updateTimeline, useDiscoverComponentsInTimeline]
[updateIsLoading, updateTimeline, unifiedComponentsInTimelineEnabled]
);

const goToTimelines = useCallback(
Original file line number Diff line number Diff line change
@@ -255,10 +255,12 @@ export const defaultTimelineToTimelineModel = (
timeline: TimelineResult,
duplicate: boolean,
timelineType?: TimelineType,
useDiscoverComponentsInTimeline?: boolean
unifiedComponentsInTimelineEnabled?: boolean
Copy link
Contributor

@logeekal logeekal Mar 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder @logeekal : add more tests for this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reminder 😄

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done here: 077c0c1

Copy link
Contributor

@semd semd Mar 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current approach forces many components to retrieve this value using useIsExperimentalFeatureEnabled to pass it to this function.

Wouldn't it be easier to use ExperimentalFeaturesService singleton inside this file, instead of receiving this value by parameter? It would simplify the cleaning when we remove this flag too.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@semd , I did not even know that it existed. I agree with you but I have three more upcoming PRs for this functionality. Do you mind, if I do that change in next PR ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes sure, it's just a simplification, and also to reduce the scope of the changes. But if you keep it this way it's also fine, as you prefer 👍

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually I will have to check the Singleton class API but I will make changes accordingly in the next PR.

I would be glad as well if I could remove this extra param from everywhere.

): TimelineModel => {
const isTemplate = timeline.timelineType === TimelineType.template;
const defaultHeadersValue = useDiscoverComponentsInTimeline ? defaultUdtHeaders : defaultHeaders;
const defaultHeadersValue = unifiedComponentsInTimelineEnabled
? defaultUdtHeaders
: defaultHeaders;

const timelineEntries = {
...timeline,
@@ -308,7 +310,7 @@ export const formatTimelineResultToModel = (
timelineToOpen: TimelineResult,
duplicate: boolean = false,
timelineType?: TimelineType,
useDiscoverComponentsInTimeline?: boolean
unifiedComponentsInTimelineEnabled?: boolean
): { notes: Note[] | null | undefined; timeline: TimelineModel } => {
const { notes, ...timelineModel } = timelineToOpen;
return {
@@ -317,7 +319,7 @@ export const formatTimelineResultToModel = (
timelineModel,
duplicate,
timelineType,
useDiscoverComponentsInTimeline
unifiedComponentsInTimelineEnabled
),
};
};
@@ -340,7 +342,7 @@ export interface QueryTimelineById<TCache> {
}) => Action<{ id: string; isLoading: boolean }>;
updateTimeline: DispatchUpdateTimeline;
savedSearchId?: string;
useDiscoverComponentsInTimeline?: boolean; // temporary til fully migrate
unifiedComponentsInTimelineEnabled?: boolean; // temporary til fully migrate
}

export const queryTimelineById = <TCache>({
@@ -355,7 +357,7 @@ export const queryTimelineById = <TCache>({
updateIsLoading,
updateTimeline,
savedSearchId,
useDiscoverComponentsInTimeline = false,
unifiedComponentsInTimelineEnabled = false,
}: QueryTimelineById<TCache>) => {
updateIsLoading({ id: TimelineId.active, isLoading: true });
if (timelineId == null) {
@@ -367,7 +369,7 @@ export const queryTimelineById = <TCache>({
to: DEFAULT_TO_MOMENT.toISOString(),
timeline: {
...timelineDefaults,
columns: useDiscoverComponentsInTimeline ? defaultUdtHeaders : defaultHeaders,
columns: unifiedComponentsInTimelineEnabled ? defaultUdtHeaders : defaultHeaders,
id: TimelineId.active,
activeTab: activeTimelineTab,
show: openTimeline,
@@ -387,7 +389,7 @@ export const queryTimelineById = <TCache>({
timelineToOpen,
duplicate,
timelineType,
useDiscoverComponentsInTimeline
unifiedComponentsInTimelineEnabled
);

if (onOpenTimeline != null) {
Original file line number Diff line number Diff line change
@@ -169,7 +169,7 @@ export const StatefulOpenTimelineComponent = React.memo<OpenTimelineOwnProps>(
[dispatch]
);

const useDiscoverComponentsInTimeline = useIsExperimentalFeatureEnabled(
const unifiedComponentsInTimelineEnabled = useIsExperimentalFeatureEnabled(
'unifiedComponentsInTimelineEnabled'
);

@@ -260,7 +260,7 @@ export const StatefulOpenTimelineComponent = React.memo<OpenTimelineOwnProps>(
dispatch(
dispatchCreateNewTimeline({
id: TimelineId.active,
columns: useDiscoverComponentsInTimeline ? defaultUdtHeaders : defaultHeaders,
columns: unifiedComponentsInTimelineEnabled ? defaultUdtHeaders : defaultHeaders,
dataViewId,
indexNames: selectedPatterns,
show: false,
@@ -278,7 +278,7 @@ export const StatefulOpenTimelineComponent = React.memo<OpenTimelineOwnProps>(
dispatch,
dataViewId,
selectedPatterns,
useDiscoverComponentsInTimeline,
unifiedComponentsInTimelineEnabled,
]
);

@@ -376,7 +376,7 @@ export const StatefulOpenTimelineComponent = React.memo<OpenTimelineOwnProps>(
timelineType: timelineTypeToOpen,
updateIsLoading,
updateTimeline,
useDiscoverComponentsInTimeline,
unifiedComponentsInTimelineEnabled,
});
},
// eslint-disable-next-line react-hooks/exhaustive-deps
Loading