From f718e90a815d031a37ddfb2de9872a281b47a600 Mon Sep 17 00:00:00 2001 From: Yara Tercero Date: Wed, 20 Jan 2021 01:04:52 -0500 Subject: [PATCH] [Security Solution][Exceptions] - Remove exceptions table search #88784 (#88784) ## Summary Temporarily addresses https://github.com/elastic/kibana/issues/88450 A follow PR will address full fix. ### Issue Exceptions table search not functioning as expected. ### Diagnostic The exception list SO properties are mapped as keywords, meaning ES does not tokenize them. Need to add a `text` mapping for fields we want to search on in order for search to work as expected. Expectations for exceptions table search being: - I can search `Endpoint Security` and get results that match `Endpoint` or `Security` - I can search `"Endpoint Security"` and it will conduct an exact match search It's too late in the release cycle for mappings updates - a follow up PR will properly fix search. ### Without Search Screen Shot 2021-01-19 at 7 52 01 PM ### Checklist - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../rules/all/exceptions/exceptions_table.tsx | 48 +------------------ 1 file changed, 2 insertions(+), 46 deletions(-) diff --git a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/all/exceptions/exceptions_table.tsx b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/all/exceptions/exceptions_table.tsx index cc04c205abce..c0f23041bc19 100644 --- a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/all/exceptions/exceptions_table.tsx +++ b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/all/exceptions/exceptions_table.tsx @@ -5,16 +5,9 @@ */ import React, { useMemo, useEffect, useCallback, useState } from 'react'; -import { - EuiBasicTable, - EuiEmptyPrompt, - EuiLoadingContent, - EuiProgress, - EuiFieldSearch, -} from '@elastic/eui'; +import { EuiBasicTable, EuiEmptyPrompt, EuiLoadingContent, EuiProgress } from '@elastic/eui'; import styled from 'styled-components'; import { History } from 'history'; -import { set } from 'lodash/fp'; import { AutoDownload } from '../../../../../../common/components/auto_download/auto_download'; import { NamespaceType } from '../../../../../../../../lists/common'; @@ -77,14 +70,8 @@ export const ExceptionListsTable = React.memo( const [referenceModalState, setReferenceModalState] = useState( exceptionReferenceModalInitialState ); - const [filters, setFilters] = useState({ - name: null, - list_id: null, - created_by: null, - }); const [loadingExceptions, exceptions, pagination, refreshExceptions] = useExceptionLists({ errorMessage: i18n.ERROR_EXCEPTION_LISTS, - filterOptions: filters, http, namespaceTypes: ['single', 'agnostic'], notifications, @@ -236,27 +223,6 @@ export const ExceptionListsTable = React.memo( ); }, []); - const handleSearch = useCallback((search: string) => { - const regex = search.split(/\s+(?=([^"]*"[^"]*")*[^"]*$)/); - const formattedFilter = regex - .filter((c) => c != null) - .reduce( - (filter, term) => { - const [qualifier, value] = term.split(':'); - - if (qualifier == null) { - filter.name = search; - } else if (value != null && Object.keys(filter).includes(qualifier)) { - return set(qualifier, value, filter); - } - - return filter; - }, - { name: null, list_id: null, created_by: null } - ); - setFilters(formattedFilter); - }, []); - const handleCloseReferenceErrorModal = useCallback((): void => { setDeletingListIds([]); setShowReferenceErrorModal(false); @@ -354,17 +320,7 @@ export const ExceptionListsTable = React.memo( split title={i18n.ALL_EXCEPTIONS} subtitle={} - > - - + /> {loadingTableInfo && !initLoading && !showReferenceErrorModal && (