From 00d3bfa64cf6fecec24c8ca4b787977967b4c190 Mon Sep 17 00:00:00 2001 From: Federico Rodriguez Date: Wed, 9 Oct 2024 11:47:50 +0200 Subject: [PATCH 1/3] Remove data grid from Threat hunting dashboard --- .../threat-hunting/dashboard/dashboard.tsx | 162 +----------------- 1 file changed, 2 insertions(+), 160 deletions(-) diff --git a/plugins/main/public/components/overview/threat-hunting/dashboard/dashboard.tsx b/plugins/main/public/components/overview/threat-hunting/dashboard/dashboard.tsx index ba380ff059..bad298ebfa 100644 --- a/plugins/main/public/components/overview/threat-hunting/dashboard/dashboard.tsx +++ b/plugins/main/public/components/overview/threat-hunting/dashboard/dashboard.tsx @@ -1,5 +1,5 @@ -import React, { useState, useEffect, useMemo } from 'react'; -import { getPlugins, getWazuhCorePlugin } from '../../../../kibana-services'; +import React, { useState, useEffect } from 'react'; +import { getPlugins } from '../../../../kibana-services'; import { ViewMode } from '../../../../../../../src/plugins/embeddable/public'; import { SearchResponse } from '../../../../../../../src/core/server'; import { IndexPattern } from '../../../../../../../src/plugins/data/common'; @@ -7,39 +7,14 @@ import { getDashboardPanels } from './dashboard_panels'; import { I18nProvider } from '@osd/i18n/react'; import useSearchBar from '../../../common/search-bar/use-search-bar'; import { getKPIsPanel } from './dashboard_panels_kpis'; -import { - EuiFlexGroup, - EuiFlexItem, - EuiButtonIcon, - EuiDataGrid, - EuiToolTip, - EuiDataGridCellValueElementProps, - EuiFlyout, - EuiFlyoutBody, - EuiFlyoutHeader, - EuiTitle, - EuiButtonEmpty, -} from '@elastic/eui'; import { ErrorFactory, ErrorHandler, HttpError, } from '../../../../react-services/error-management'; -import { - MAX_ENTRIES_PER_QUERY, - exportSearchToCSV, - getAllCustomRenders, -} from '../../../common/data-grid/data-grid-service'; -import { useDocViewer } from '../../../common/doc-viewer/use-doc-viewer'; -import { useDataGrid } from '../../../common/data-grid/use-data-grid'; -import DocViewer from '../../../common/doc-viewer/doc-viewer'; import { withErrorBoundary } from '../../../common/hocs/error-boundary/with-error-boundary'; import './threat_hunting_dashboard.scss'; import { SampleDataWarning } from '../../../visualize/components/sample-data-warning'; -import { - threatHuntingTableAgentColumns, - threatHuntingTableDefaultColumns, -} from '../events/threat-hunting-columns'; import { AlertsDataSourceRepository, ThreatHuntingDataSource, @@ -51,11 +26,7 @@ import { import { DiscoverNoResults } from '../../../common/no-results/no-results'; import { LoadingSearchbarProgress } from '../../../common/loading-searchbar-progress/loading-searchbar-progress'; import { useReportingCommunicateSearchContext } from '../../../common/hooks/use-reporting-communicate-search-context'; -import { wzDiscoverRenderColumns } from '../../../common/wazuh-discover/render-columns'; import { WzSearchBar } from '../../../common/search-bar'; -import DiscoverDataGridAdditionalControls from '../../../common/wazuh-discover/components/data-grid-additional-controls'; - -import DocDetailsHeader from '../../../common/wazuh-discover/components/doc-details-header'; const plugins = getPlugins(); @@ -75,7 +46,6 @@ const DashboardTH: React.FC = () => { DataSource: ThreatHuntingDataSource, repository: AlertsRepository, }); - const [results, setResults] = useState({} as SearchResponse); const { searchBarProps } = useSearchBar({ @@ -84,64 +54,10 @@ const DashboardTH: React.FC = () => { setFilters, }); const { query, absoluteDateRange } = searchBarProps; - - const [inspectedHit, setInspectedHit] = useState(undefined); - const [isExporting, setIsExporting] = useState(false); - - const sideNavDocked = getWazuhCorePlugin().hooks.useDockedSideNav(); - - const onClickInspectDoc = useMemo( - () => (index: number) => { - const rowClicked = results.hits.hits[index]; - setInspectedHit(rowClicked); - }, - [results], - ); - - const DocViewInspectButton = ({ - rowIndex, - }: EuiDataGridCellValueElementProps) => { - const inspectHintMsg = 'Inspect document details'; - return ( - - onClickInspectDoc(rowIndex)} - iconType='inspect' - aria-label={inspectHintMsg} - /> - - ); - }; - - const dataGridProps = useDataGrid({ - ariaLabelledBy: 'Threat Hunting Table', - defaultColumns: threatHuntingTableDefaultColumns, - renderColumns: wzDiscoverRenderColumns, - results, - indexPattern: dataSource?.indexPattern as IndexPattern, - DocViewInspectButton, - filters, - setFilters, - }); - - const { pagination, sorting, columnVisibility } = dataGridProps; - - const docViewerProps = useDocViewer({ - doc: inspectedHit, - indexPattern: dataSource?.indexPattern as IndexPattern, - }); - const pinnedAgent = PatternDataSourceFilterManager.getPinnedAgentFilter(dataSource?.id!) .length > 0; - useEffect(() => { - const currentColumns = !pinnedAgent - ? threatHuntingTableDefaultColumns - : threatHuntingTableAgentColumns; - columnVisibility.setVisibleColumns(currentColumns.map(({ id }) => id)); - }, [pinnedAgent]); - useReportingCommunicateSearchContext({ isSearching: isDataSourceLoading, totalResults: results?.hits?.total ?? 0, @@ -157,8 +73,6 @@ const DashboardTH: React.FC = () => { } fetchData({ query, - pagination, - sorting, dateRange: absoluteDateRange, }) .then(results => { @@ -174,37 +88,9 @@ const DashboardTH: React.FC = () => { }, [ JSON.stringify(fetchFilters), JSON.stringify(query), - JSON.stringify(pagination), - JSON.stringify(sorting), JSON.stringify(absoluteDateRange), ]); - const onClickExportResults = async () => { - const params = { - indexPattern: dataSource?.indexPattern, - filters: fetchFilters ?? [], - query, - fields: columnVisibility.visibleColumns, - pagination: { - pageIndex: 0, - pageSize: results.hits.total, - }, - sorting, - }; - try { - setIsExporting(true); - await exportSearchToCSV(params); - } catch (error) { - const searchError = ErrorFactory.create(HttpError, { - error, - message: 'Error downloading csv report', - }); - ErrorHandler.handleError(searchError); - } finally { - setIsExporting(false); - } - }; - return ( {isDataSourceLoading && !dataSource ? ( @@ -275,50 +161,6 @@ const DashboardTH: React.FC = () => { hidePanelTitles: false, }} /> -
- {!isDataSourceLoading ? ( - - - - ), - }} - /> - ) : null} -
- {inspectedHit && ( - setInspectedHit(undefined)} size='m'> - - - - - - - - - - - - )} From eb748a190a29024eeb850aef6f905dd8511895c7 Mon Sep 17 00:00:00 2001 From: Federico Rodriguez Date: Wed, 9 Oct 2024 12:47:24 +0200 Subject: [PATCH 2/3] Remove data grid from GitHub and Office365 drill down views --- .../github/panel/config/drilldown-action.tsx | 35 +------- .../github/panel/config/drilldown-actor.tsx | 53 +------------ .../panel/config/drilldown-data-grid.tsx | 79 ------------------- .../panel/config/drilldown-organization.tsx | 54 +------------ .../panel/config/drilldown-repository.tsx | 51 +----------- .../panel/config/drilldown-ip-config.tsx | 44 +---------- .../config/drilldown-operations-config.tsx | 43 +--------- .../panel/config/drilldown-rules-config.tsx | 48 +---------- .../panel/config/drilldown-user-config.tsx | 47 +---------- 9 files changed, 14 insertions(+), 440 deletions(-) delete mode 100644 plugins/main/public/components/overview/github/panel/config/drilldown-data-grid.tsx diff --git a/plugins/main/public/components/overview/github/panel/config/drilldown-action.tsx b/plugins/main/public/components/overview/github/panel/config/drilldown-action.tsx index 37fc626b55..e711a36fc6 100644 --- a/plugins/main/public/components/overview/github/panel/config/drilldown-action.tsx +++ b/plugins/main/public/components/overview/github/panel/config/drilldown-action.tsx @@ -12,7 +12,7 @@ import React from 'react'; import { ViewMode } from '../../../../../../../../src/plugins/embeddable/public'; -import { getPlugins, getCore } from '../../../../../kibana-services'; +import { getPlugins } from '../../../../../kibana-services'; import { DashboardPanelState } from '../../../../../../../../src/plugins/dashboard/public/application'; import { EmbeddableInput } from '../../../../../../../../src/plugins/embeddable/public'; import { @@ -23,7 +23,6 @@ import { getVisStateTopRepositories, } from './visualizations'; import { ModuleConfigProps } from './module-config'; -import DrillDownDataGrid from './drilldown-data-grid'; const DashboardByRenderer = getPlugins().dashboard.DashboardContainerByValueRenderer; @@ -148,38 +147,6 @@ export const DrilldownConfigAction = (drilldownProps: ModuleConfigProps) => { }, ], }, - { - columns: [ - { - width: 100, - component: () => { - const defaultTableColumns = [ - { - id: 'timestamp', - isSortable: true, - defaultSortDirection: 'desc', - }, - { id: 'rule.description' }, - { id: 'data.github.org', displayAsText: 'Organization' }, - { id: 'data.github.repo', displayAsText: 'Repository' }, - { id: 'data.github.actor', displayAsText: 'Actor' }, - { id: 'rule.level' }, - { id: 'rule.id' }, - ]; - - return ( - - ); - }, - }, - ], - }, ], }; }; diff --git a/plugins/main/public/components/overview/github/panel/config/drilldown-actor.tsx b/plugins/main/public/components/overview/github/panel/config/drilldown-actor.tsx index bcc3eb720c..6bcede34dc 100644 --- a/plugins/main/public/components/overview/github/panel/config/drilldown-actor.tsx +++ b/plugins/main/public/components/overview/github/panel/config/drilldown-actor.tsx @@ -10,18 +10,9 @@ * Find more information about this on the LICENSE file. */ -import React, { useState, useMemo, useEffect } from 'react'; -import { - EuiFlexItem, - EuiPanel, - EuiToolTip, - EuiButtonIcon, - EuiDataGridCellValueElementProps, - EuiDataGrid, - EuiLink, -} from '@elastic/eui'; +import React from 'react'; import { ViewMode } from '../../../../../../../../src/plugins/embeddable/public'; -import { getPlugins, getCore } from '../../../../../kibana-services'; +import { getPlugins } from '../../../../../kibana-services'; import { DashboardPanelState } from '../../../../../../../../src/plugins/dashboard/public/application'; import { EmbeddableInput } from '../../../../../../../../src/plugins/embeddable/public'; import { @@ -32,14 +23,6 @@ import { getVisStateTopRepositories, } from './visualizations'; import { ModuleConfigProps } from './module-config'; -import { - ErrorFactory, - HttpError, - ErrorHandler, -} from '../../../../../react-services/error-management'; -import DrillDownDataGrid from './drilldown-data-grid'; -import { rules } from '../../../../../utils/applications'; -import { RedirectAppLinks } from '../../../../../../../../src/plugins/opensearch_dashboards_react/public'; const DashboardByRenderer = getPlugins().dashboard.DashboardContainerByValueRenderer; @@ -164,38 +147,6 @@ export const DrilldownConfigActor = (drilldownProps: ModuleConfigProps) => { }, ], }, - { - columns: [ - { - width: 100, - component: () => { - const defaultTableColumns = [ - { - id: 'timestamp', - isSortable: true, - defaultSortDirection: 'desc', - }, - { id: 'rule.description' }, - { id: 'data.github.org', displayAsText: 'Organization' }, - { id: 'data.github.repo', displayAsText: 'Repository' }, - { id: 'data.github.action', displayAsText: 'Action' }, - { id: 'rule.level' }, - { id: 'rule.id' }, - ]; - - return ( - - ); - }, - }, - ], - }, ], }; }; diff --git a/plugins/main/public/components/overview/github/panel/config/drilldown-data-grid.tsx b/plugins/main/public/components/overview/github/panel/config/drilldown-data-grid.tsx deleted file mode 100644 index 0a5c8aa15d..0000000000 --- a/plugins/main/public/components/overview/github/panel/config/drilldown-data-grid.tsx +++ /dev/null @@ -1,79 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { EuiFlexItem } from '@elastic/eui'; -import { ModuleConfigProps } from './module-config'; -import { - ErrorFactory, - HttpError, - ErrorHandler, -} from '../../../../../react-services/error-management'; -import WazuhDataGrid from '../../../../common/wazuh-data-grid/wz-data-grid'; -import { tDataGridColumn } from '../../../../common/data-grid'; - -type tDrillDownDataGridProps = { - defaultTableColumns: tDataGridColumn[]; -} & ModuleConfigProps; - -export default function DrillDownDataGrid(props: tDrillDownDataGridProps) { - const [results, setResults] = useState([]); - const [pagination, setPagination] = useState({ - pageIndex: 0, - pageSize: 15, - pageSizeOptions: [15, 25, 50, 100], - }); - const [sorting, setSorting] = useState([]); - - const { - fetchData, - searchBarProps, - indexPattern, - fetchFilters, - defaultTableColumns, - } = props; - - useEffect(() => { - if (!indexPattern) { - return; - } - fetchData({ - query: searchBarProps.query, - filters: fetchFilters, - pagination, - sorting, - dateRange: searchBarProps.absoluteDateRange, - }) - .then(results => { - setResults(results); - }) - .catch(error => { - const searchError = ErrorFactory.create(HttpError, { - error, - message: 'Error fetching data', - }); - ErrorHandler.handleError(searchError); - }); - }, [ - JSON.stringify(fetchFilters), - JSON.stringify(searchBarProps.query), - JSON.stringify(pagination), - JSON.stringify(sorting), - JSON.stringify(searchBarProps.absoluteDateRange), - ]); - - return ( - - setPagination(pagination)} - onChangeSorting={sorting => { - setSorting(sorting); - }} - dateRange={searchBarProps?.absoluteDateRange} - /> - - ); -} diff --git a/plugins/main/public/components/overview/github/panel/config/drilldown-organization.tsx b/plugins/main/public/components/overview/github/panel/config/drilldown-organization.tsx index 37b5427ae2..6cdac16307 100644 --- a/plugins/main/public/components/overview/github/panel/config/drilldown-organization.tsx +++ b/plugins/main/public/components/overview/github/panel/config/drilldown-organization.tsx @@ -10,19 +10,9 @@ * Find more information about this on the LICENSE file. */ -import React, { useState, useMemo, useEffect } from 'react'; -import { - EuiFlexItem, - EuiPanel, - EuiToolTip, - EuiButtonIcon, - EuiDataGridCellValueElementProps, - EuiDataGrid, - EuiLink, -} from '@elastic/eui'; -import { SecurityAlerts } from '../../../../visualize/components'; +import React from 'react'; import { ViewMode } from '../../../../../../../../src/plugins/embeddable/public'; -import { getPlugins, getCore } from '../../../../../kibana-services'; +import { getPlugins } from '../../../../../kibana-services'; import { DashboardPanelState } from '../../../../../../../../src/plugins/dashboard/public/application'; import { EmbeddableInput } from '../../../../../../../../src/plugins/embeddable/public'; import { @@ -33,14 +23,6 @@ import { getVisStateTopActions, } from './visualizations'; import { ModuleConfigProps } from './module-config'; -import { - ErrorFactory, - HttpError, - ErrorHandler, -} from '../../../../../react-services/error-management'; -import DrillDownDataGrid from './drilldown-data-grid'; -import { rules } from '../../../../../utils/applications'; -import { RedirectAppLinks } from '../../../../../../../../src/plugins/opensearch_dashboards_react/public'; const DashboardByRenderer = getPlugins().dashboard.DashboardContainerByValueRenderer; @@ -167,38 +149,6 @@ export const DrilldownConfigOrganization = ( }, ], }, - { - columns: [ - { - width: 100, - component: () => { - const defaultTableColumns = [ - { - id: 'timestamp', - isSortable: true, - defaultSortDirection: 'desc', - }, - { id: 'rule.description' }, - { id: 'data.github.repo', displayAsText: 'Repository' }, - { id: 'data.github.actor', displayAsText: 'Actor' }, - { id: 'data.github.action', displayAsText: 'Action' }, - { id: 'rule.level' }, - { id: 'rule.id' }, - ]; - - return ( - - ); - }, - }, - ], - }, ], }; }; diff --git a/plugins/main/public/components/overview/github/panel/config/drilldown-repository.tsx b/plugins/main/public/components/overview/github/panel/config/drilldown-repository.tsx index 83639b34fb..c2a5e01a92 100644 --- a/plugins/main/public/components/overview/github/panel/config/drilldown-repository.tsx +++ b/plugins/main/public/components/overview/github/panel/config/drilldown-repository.tsx @@ -11,9 +11,8 @@ */ import React from 'react'; -import { EuiLink } from '@elastic/eui'; import { ViewMode } from '../../../../../../../../src/plugins/embeddable/public'; -import { getPlugins, getCore } from '../../../../../kibana-services'; +import { getPlugins } from '../../../../../kibana-services'; import { DashboardPanelState } from '../../../../../../../../src/plugins/dashboard/public/application'; import { EmbeddableInput } from '../../../../../../../../src/plugins/embeddable/public'; import { @@ -24,13 +23,6 @@ import { getVisStateTopOrganizations, } from './visualizations'; import { ModuleConfigProps } from './module-config'; -import { - ErrorFactory, - HttpError, - ErrorHandler, -} from '../../../../../react-services/error-management'; -import DrillDownDataGrid from './drilldown-data-grid'; -import { rules } from '../../../../../utils/applications'; const DashboardByRenderer = getPlugins().dashboard.DashboardContainerByValueRenderer; @@ -157,47 +149,6 @@ export const DrilldownConfigRepository = ( }, ], }, - { - columns: [ - { - width: 100, - component: () => { - const defaultTableColumns = [ - { - id: 'timestamp', - isSortable: true, - defaultSortDirection: 'desc', - }, - { id: 'rule.description' }, - { id: 'data.github.org', displayAsText: 'Organization' }, - { id: 'data.github.actor', displayAsText: 'Actor' }, - { id: 'data.github.action', displayAsText: 'Action' }, - { id: 'rule.level' }, - { - id: 'rule.id', - render: value => ( - - {value} - - ), - }, - ]; - - return ( - - ); - }, - }, - ], - }, ], }; }; diff --git a/plugins/main/public/components/overview/office/panel/config/drilldown-ip-config.tsx b/plugins/main/public/components/overview/office/panel/config/drilldown-ip-config.tsx index c0946559b7..837f6cd0b0 100644 --- a/plugins/main/public/components/overview/office/panel/config/drilldown-ip-config.tsx +++ b/plugins/main/public/components/overview/office/panel/config/drilldown-ip-config.tsx @@ -13,9 +13,8 @@ */ import React from 'react'; -import { EuiFlexItem, EuiLink } from '@elastic/eui'; import { ViewMode } from '../../../../../../../../src/plugins/embeddable/public'; -import { getPlugins, getCore } from '../../../../../kibana-services'; +import { getPlugins } from '../../../../../kibana-services'; import { DashboardPanelState } from '../../../../../../../../src/plugins/dashboard/public/application'; import { EmbeddableInput } from '../../../../../../../../src/plugins/embeddable/public'; import { @@ -24,9 +23,6 @@ import { getVisStateOfficeUserOperationLevel, getVisStateOfficeAlertsEvolutionByUser, } from './visualizations'; -import DrillDownDataGrid from '../../../github/panel/config/drilldown-data-grid'; -import { rules } from '../../../../../utils/applications'; -import { RedirectAppLinks } from '../../../../../../../../src/plugins/opensearch_dashboards_react/public'; const DashboardByRenderer = getPlugins().dashboard.DashboardContainerByValueRenderer; @@ -99,7 +95,7 @@ const getDashboardPanels = ( }; export const drilldownIPConfig = props => { - const { fetchData, fetchFilters, searchBarProps, indexPattern } = props; + const { fetchFilters, searchBarProps, indexPattern } = props; return { rows: [ @@ -108,33 +104,6 @@ export const drilldownIPConfig = props => { { width: 100, component: props => { - const defaultTableColumns = [ - { - id: 'timestamp', - isSortable: true, - defaultSortDirection: 'desc', - }, - { id: 'rule.description', displayAsText: 'Description' }, - { id: 'data.office365.UserId', displayAsText: 'User ID' }, - { - id: 'data.office365.Operation', - displayAsText: 'Operation', - }, - { id: 'rule.level', displayAsText: 'Level' }, - { - id: 'rule.id', - render: value => ( - - - {value} - - - ), - }, - ]; - return (
{ }} onInputUpdated={() => {}} /> - - -
); }, diff --git a/plugins/main/public/components/overview/office/panel/config/drilldown-operations-config.tsx b/plugins/main/public/components/overview/office/panel/config/drilldown-operations-config.tsx index 4a700d8b28..f12d4c42bb 100644 --- a/plugins/main/public/components/overview/office/panel/config/drilldown-operations-config.tsx +++ b/plugins/main/public/components/overview/office/panel/config/drilldown-operations-config.tsx @@ -12,9 +12,8 @@ */ import React from 'react'; -import { EuiFlexItem, EuiLink } from '@elastic/eui'; import { ViewMode } from '../../../../../../../../src/plugins/embeddable/public'; -import { getPlugins, getCore } from '../../../../../kibana-services'; +import { getPlugins } from '../../../../../kibana-services'; import { DashboardPanelState } from '../../../../../../../../src/plugins/dashboard/public/application'; import { EmbeddableInput } from '../../../../../../../../src/plugins/embeddable/public'; import { @@ -22,9 +21,6 @@ import { getVisStateOfficeCountryTagCloud, getVisStateOfficeAlertsEvolutionByUserID, } from './visualizations'; -import DrillDownDataGrid from '../../../github/panel/config/drilldown-data-grid'; -import { rules } from '../../../../../utils/applications'; -import { RedirectAppLinks } from '../../../../../../../../src/plugins/opensearch_dashboards_react/public'; const DashboardByRenderer = getPlugins().dashboard.DashboardContainerByValueRenderer; @@ -83,7 +79,7 @@ const getDashboardPanels = ( }; export const drilldownOperationsConfig = props => { - const { fetchData, fetchFilters, searchBarProps, indexPattern } = props; + const { fetchFilters, searchBarProps, indexPattern } = props; return { rows: [ @@ -92,32 +88,6 @@ export const drilldownOperationsConfig = props => { { width: 100, component: props => { - const defaultTableColumns = [ - { - id: 'timestamp', - isSortable: true, - defaultSortDirection: 'desc', - }, - { id: 'rule.description', displayAsText: 'Description' }, - { id: 'data.office365.UserId', displayAsText: 'User ID' }, - { - id: 'data.office365.ClientIP', - displayAsText: 'Client IP address', - }, - { id: 'rule.level', displayAsText: 'Level' }, - { - id: 'rule.id', - render: value => ( - - - {value} - - - ), - }, - ]; return (
{ }} onInputUpdated={() => {}} /> - - -
); }, diff --git a/plugins/main/public/components/overview/office/panel/config/drilldown-rules-config.tsx b/plugins/main/public/components/overview/office/panel/config/drilldown-rules-config.tsx index 04fba33db7..7990b1a64c 100644 --- a/plugins/main/public/components/overview/office/panel/config/drilldown-rules-config.tsx +++ b/plugins/main/public/components/overview/office/panel/config/drilldown-rules-config.tsx @@ -12,9 +12,8 @@ */ import React from 'react'; -import { EuiFlexItem, EuiLink } from '@elastic/eui'; import { ViewMode } from '../../../../../../../../src/plugins/embeddable/public'; -import { getPlugins, getCore } from '../../../../../kibana-services'; +import { getPlugins } from '../../../../../kibana-services'; import { DashboardPanelState } from '../../../../../../../../src/plugins/dashboard/public/application'; import { EmbeddableInput } from '../../../../../../../../src/plugins/embeddable/public'; import { @@ -23,9 +22,6 @@ import { getVisStateOfficeCountryTagCloud, getVisStateOfficeAlertsEvolutionByUserID, } from './visualizations'; -import DrillDownDataGrid from '../../../github/panel/config/drilldown-data-grid'; -import { rules } from '../../../../../utils/applications'; -import { RedirectAppLinks } from '../../../../../../../../src/plugins/opensearch_dashboards_react/public'; const DashboardByRenderer = getPlugins().dashboard.DashboardContainerByValueRenderer; @@ -98,7 +94,7 @@ const getDashboardPanels = ( }; export const drilldownRulesConfig = props => { - const { fetchData, fetchFilters, searchBarProps, indexPattern } = props; + const { fetchFilters, searchBarProps, indexPattern } = props; return { rows: [ @@ -107,37 +103,6 @@ export const drilldownRulesConfig = props => { { width: 100, component: props => { - const defaultTableColumns = [ - { - id: 'timestamp', - isSortable: true, - defaultSortDirection: 'desc', - }, - { id: 'rule.description', displayAsText: 'Description' }, - { id: 'data.office365.UserId', displayAsText: 'User ID' }, - { - id: 'data.office365.ClientIP', - displayAsText: 'Client IP address', - }, - { - id: 'data.office365.Operation', - displayAsText: 'Operation', - }, - { id: 'rule.level', displayAsText: 'Level' }, - { - id: 'rule.id', - render: value => ( - - - {value} - - - ), - }, - ]; - return (
{ }} onInputUpdated={() => {}} /> - - -
); }, diff --git a/plugins/main/public/components/overview/office/panel/config/drilldown-user-config.tsx b/plugins/main/public/components/overview/office/panel/config/drilldown-user-config.tsx index 6e7ec543c8..4e91891993 100644 --- a/plugins/main/public/components/overview/office/panel/config/drilldown-user-config.tsx +++ b/plugins/main/public/components/overview/office/panel/config/drilldown-user-config.tsx @@ -13,9 +13,8 @@ */ import React from 'react'; -import { EuiFlexItem, EuiLink } from '@elastic/eui'; import { ViewMode } from '../../../../../../../../src/plugins/embeddable/public'; -import { getPlugins, getCore } from '../../../../../kibana-services'; +import { getPlugins } from '../../../../../kibana-services'; import { DashboardPanelState } from '../../../../../../../../src/plugins/dashboard/public/application'; import { EmbeddableInput } from '../../../../../../../../src/plugins/embeddable/public'; import { @@ -24,9 +23,6 @@ import { getVisStateOfficeTopsEventsPie, getVisStateOfficeMetricStats, } from './visualizations'; -import DrillDownDataGrid from '../../../github/panel/config/drilldown-data-grid'; -import { rules } from '../../../../../utils/applications'; -import { RedirectAppLinks } from '../../../../../../../../src/plugins/opensearch_dashboards_react/public'; const DashboardByRenderer = getPlugins().dashboard.DashboardContainerByValueRenderer; @@ -99,7 +95,7 @@ const getDashboardPanels = ( }; export const drilldownUserConfig = props => { - const { fetchData, fetchFilters, searchBarProps, indexPattern } = props; + const { fetchFilters, searchBarProps, indexPattern } = props; return { rows: [ @@ -108,36 +104,6 @@ export const drilldownUserConfig = props => { { width: 100, component: props => { - const defaultTableColumns = [ - { - id: 'timestamp', - isSortable: true, - defaultSortDirection: 'desc', - }, - { id: 'rule.description', displayAsText: 'Description' }, - { - id: 'data.office365.ClientIP', - displayAsText: 'Client IP address', - }, - { - id: 'data.office365.Operation', - displayAsText: 'Operation', - }, - { id: 'rule.level', displayAsText: 'Level' }, - { - id: 'rule.id', - render: value => ( - - - {value} - - - ), - }, - ]; - return (
{ }} onInputUpdated={() => {}} /> - - -
); }, From d7755f0a33f1c8995bc9cae3b42ae4e96f454c9f Mon Sep 17 00:00:00 2001 From: Federico Rodriguez Date: Wed, 9 Oct 2024 18:41:40 +0200 Subject: [PATCH 3/3] Add changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 856c417d71..6e4db2d778 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ All notable changes to the Wazuh app project will be documented in this file. - Removed the PDF report footer year [#7023](https://github.com/wazuh/wazuh-dashboard-plugins/pull/7023) - Removed the XML autoformat function group configuration due to performance [#6999](https://github.com/wazuh/wazuh-dashboard-plugins/pull/6999) +- Removed data grid tables from Threat hunting dashboard, GitHub panel and Office365 panel [#7086](https://github.com/wazuh/wazuh-dashboard-plugins/pull/7086) ## Wazuh v4.9.0 - OpenSearch Dashboards 2.13.0 - Revision 07