From 4ff3cb46f612107745f84b582ba9b67d550d5c7f Mon Sep 17 00:00:00 2001 From: Dmitry Tomashevich <39378793+Dmitriynj@users.noreply.github.com> Date: Wed, 20 Oct 2021 10:34:03 +0300 Subject: [PATCH] [Discover] Fix search highlighting of expanded document (#114884) * [Discover] fix searches highlighting of expanded document * [Discover] apply suggestion * [Discover] apply suggestion Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../components/discover_grid/discover_grid_flyout.tsx | 4 +++- .../application/components/doc_viewer/doc_viewer_tab.tsx | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/discover/public/application/components/discover_grid/discover_grid_flyout.tsx b/src/plugins/discover/public/application/components/discover_grid/discover_grid_flyout.tsx index e4b67c49689ab5..f6e5e25f284ca9 100644 --- a/src/plugins/discover/public/application/components/discover_grid/discover_grid_flyout.tsx +++ b/src/plugins/discover/public/application/components/discover_grid/discover_grid_flyout.tsx @@ -70,6 +70,8 @@ export function DiscoverGridFlyout({ services, setExpandedDoc, }: Props) { + // Get actual hit with updated highlighted searches + const actualHit = useMemo(() => hits?.find(({ _id }) => _id === hit?._id) || hit, [hit, hits]); const pageCount = useMemo(() => (hits ? hits.length : 0), [hits]); const activePage = useMemo(() => { const id = getDocFingerprintId(hit); @@ -188,7 +190,7 @@ export function DiscoverGridFlyout({ { diff --git a/src/plugins/discover/public/application/components/doc_viewer/doc_viewer_tab.tsx b/src/plugins/discover/public/application/components/doc_viewer/doc_viewer_tab.tsx index e2af88b91b3ffe..75ec5a62e92991 100644 --- a/src/plugins/discover/public/application/components/doc_viewer/doc_viewer_tab.tsx +++ b/src/plugins/discover/public/application/components/doc_viewer/doc_viewer_tab.tsx @@ -45,6 +45,7 @@ export class DocViewerTab extends React.Component { shouldComponentUpdate(nextProps: Props, nextState: State) { return ( nextProps.renderProps.hit._id !== this.props.renderProps.hit._id || + !isEqual(nextProps.renderProps.hit.highlight, this.props.renderProps.hit.highlight) || nextProps.id !== this.props.id || !isEqual(nextProps.renderProps.columns, this.props.renderProps.columns) || nextState.hasError