diff --git a/src/plugins/discover/public/application/angular/discover.js b/src/plugins/discover/public/application/angular/discover.js index dcf86babaa5e16..8370e6659554d6 100644 --- a/src/plugins/discover/public/application/angular/discover.js +++ b/src/plugins/discover/public/application/angular/discover.js @@ -414,18 +414,9 @@ function discoverController($route, $scope, Promise) { setBreadcrumbsTitle(savedSearch, chrome); - function removeSourceFromColumns(columns) { - return columns.filter((col) => col !== '_source'); - } - function getDefaultColumns() { - const columns = [...savedSearch.columns]; - - if ($scope.useNewFieldsApi) { - return removeSourceFromColumns(columns); - } - if (columns.length > 0) { - return columns; + if (savedSearch.columns.length > 0) { + return [...savedSearch.columns]; } return [...config.get(DEFAULT_COLUMNS_SETTING)]; } diff --git a/src/plugins/discover/public/application/components/discover.tsx b/src/plugins/discover/public/application/components/discover.tsx index 5653ef4f574356..e87ff82156799a 100644 --- a/src/plugins/discover/public/application/components/discover.tsx +++ b/src/plugins/discover/public/application/components/discover.tsx @@ -7,7 +7,7 @@ */ import './discover.scss'; -import React, { useState, useRef } from 'react'; +import React, { useState, useRef, useMemo } from 'react'; import { EuiButtonEmpty, EuiButtonIcon, @@ -102,6 +102,13 @@ export function Discover({ const contentCentered = resultState === 'uninitialized'; const isLegacy = services.uiSettings.get('doc_table:legacy'); const useNewFieldsApi = !services.uiSettings.get(SEARCH_FIELDS_FROM_SOURCE); + + const columns = useMemo(() => { + if (!state.columns) { + return []; + } + return useNewFieldsApi ? state.columns.filter((col) => col !== '_source') : state.columns; + }, [state, useNewFieldsApi]); return ( @@ -127,7 +134,7 @@ export function Discover({ {isLegacy && rows && rows.length && (