From bb9ff9e24d5528724854ca644144ae9d3f6e1b55 Mon Sep 17 00:00:00 2001 From: animehart Date: Tue, 21 Oct 2025 20:11:28 -0700 Subject: [PATCH 1/5] addressing 208266 --- .../cloud_security_data_table/additional_controls.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/x-pack/solutions/security/plugins/cloud_security_posture/public/components/cloud_security_data_table/additional_controls.tsx b/x-pack/solutions/security/plugins/cloud_security_posture/public/components/cloud_security_data_table/additional_controls.tsx index 010c5af0160ff..c5b655f77a2bd 100644 --- a/x-pack/solutions/security/plugins/cloud_security_posture/public/components/cloud_security_data_table/additional_controls.tsx +++ b/x-pack/solutions/security/plugins/cloud_security_posture/public/components/cloud_security_data_table/additional_controls.tsx @@ -10,6 +10,7 @@ import { EuiButtonEmpty, EuiFlexItem } from '@elastic/eui'; import { type DataView } from '@kbn/data-views-plugin/common'; import { FormattedMessage } from '@kbn/i18n-react'; import { getAbbreviatedNumber } from '@kbn/cloud-security-posture-common'; +import { i18n } from '@kbn/i18n'; import { FieldsSelectorModal, useFieldsModal } from './fields_selector'; import { useStyles } from './use_styles'; import { CSP_FIELDS_SELECTOR_OPEN_BUTTON } from '../test_subjects'; @@ -68,6 +69,12 @@ export const AdditionalControls = ({ size="xs" color="text" data-test-subj={CSP_FIELDS_SELECTOR_OPEN_BUTTON} + aria-label={i18n.translate('xpack.csp.dataTable.fieldsButtonAriaLabel', { + defaultMessage: 'Open fields selector to customize table columns', + })} + title={i18n.translate('xpack.csp.dataTable.fieldsButtonTooltip', { + defaultMessage: 'Select which fields to display in the table', + })} > From 70f68bef613216ed4f3ae9bcc7f08ba632b783a4 Mon Sep 17 00:00:00 2001 From: animehart Date: Wed, 22 Oct 2025 10:23:54 -0700 Subject: [PATCH 2/5] addressing 208127 --- .../additional_controls.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/x-pack/solutions/security/plugins/cloud_security_posture/public/components/cloud_security_data_table/additional_controls.tsx b/x-pack/solutions/security/plugins/cloud_security_posture/public/components/cloud_security_data_table/additional_controls.tsx index c5b655f77a2bd..9d6dec4bc7f5c 100644 --- a/x-pack/solutions/security/plugins/cloud_security_posture/public/components/cloud_security_data_table/additional_controls.tsx +++ b/x-pack/solutions/security/plugins/cloud_security_posture/public/components/cloud_security_data_table/additional_controls.tsx @@ -60,7 +60,18 @@ export const AdditionalControls = ({ /> )} - {`${getAbbreviatedNumber(total)} ${title}`} +
+ {`${getAbbreviatedNumber(total)} ${title}`} +
Date: Wed, 22 Oct 2025 11:16:44 -0700 Subject: [PATCH 3/5] addressing 208125 --- .../public/components/take_action.tsx | 42 ++++++++++++++++--- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/x-pack/solutions/security/plugins/cloud_security_posture/public/components/take_action.tsx b/x-pack/solutions/security/plugins/cloud_security_posture/public/components/take_action.tsx index 58afa83718aae..a5e40831ec462 100644 --- a/x-pack/solutions/security/plugins/cloud_security_posture/public/components/take_action.tsx +++ b/x-pack/solutions/security/plugins/cloud_security_posture/public/components/take_action.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useState } from 'react'; +import React, { useEffect, useRef, useState } from 'react'; import { EuiButton, EuiButtonIcon, @@ -13,6 +13,7 @@ import { EuiContextMenuPanel, EuiFlexGroup, EuiFlexItem, + EuiLiveAnnouncer, EuiPopover, EuiText, useGeneratedHtmlId, @@ -44,18 +45,49 @@ interface TakeActionProps { isDataGridControlColumn?: boolean; } +const ErrorAnnouncement = ({ error }: { error: Error }) => { + const liveRegionRef = useRef(null); + + useEffect(() => { + if (liveRegionRef.current) { + liveRegionRef.current.textContent = kbnI18n.translate( + 'xpack.csp.takeAction.createRuleErrorAnnouncement', + { + defaultMessage: 'Error: Unable to create detection rule. {errorMessage}', + values: { errorMessage: error.message }, + } + ); + } + }, [error]); + + return ( + +
+ + ); +}; + export const showCreateDetectionRuleErrorToast = ( cloudSecurityStartServices: CloudSecurityPostureStartServices, error: Error ) => { + const { analytics, i18n, theme } = cloudSecurityStartServices; + const startServices = { analytics, i18n, theme }; + return cloudSecurityStartServices.notifications.toasts.addDanger({ title: kbnI18n.translate('xpack.csp.takeAction.createRuleErrorTitle', { defaultMessage: 'Unable to create detection rule', }), - text: kbnI18n.translate('xpack.csp.takeAction.createRuleErrorDescription', { - defaultMessage: 'An error occurred while creating the detection rule: {errorMessage}.', - values: { errorMessage: error.message }, - }), + text: toMountPoint( + <> + + {kbnI18n.translate('xpack.csp.takeAction.createRuleErrorDescription', { + defaultMessage: 'An error occurred while creating the detection rule: {errorMessage}.', + values: { errorMessage: error.message }, + })} + , + startServices + ), 'data-test-subj': 'csp:toast-error', }); }; From 6e00cb6b6d3877f44e2c6b9cf19463da47b07a32 Mon Sep 17 00:00:00 2001 From: animehart Date: Wed, 22 Oct 2025 13:00:41 -0700 Subject: [PATCH 4/5] update 208125 --- .../public/components/take_action.tsx | 25 +++++-------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/x-pack/solutions/security/plugins/cloud_security_posture/public/components/take_action.tsx b/x-pack/solutions/security/plugins/cloud_security_posture/public/components/take_action.tsx index a5e40831ec462..fd94aaeaeaba0 100644 --- a/x-pack/solutions/security/plugins/cloud_security_posture/public/components/take_action.tsx +++ b/x-pack/solutions/security/plugins/cloud_security_posture/public/components/take_action.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useEffect, useRef, useState } from 'react'; +import React, { useState } from 'react'; import { EuiButton, EuiButtonIcon, @@ -46,25 +46,12 @@ interface TakeActionProps { } const ErrorAnnouncement = ({ error }: { error: Error }) => { - const liveRegionRef = useRef(null); - - useEffect(() => { - if (liveRegionRef.current) { - liveRegionRef.current.textContent = kbnI18n.translate( - 'xpack.csp.takeAction.createRuleErrorAnnouncement', - { - defaultMessage: 'Error: Unable to create detection rule. {errorMessage}', - values: { errorMessage: error.message }, - } - ); - } - }, [error]); + const announcement = kbnI18n.translate('xpack.csp.takeAction.createRuleErrorAnnouncement', { + defaultMessage: 'Error: Unable to create detection rule. {errorMessage}', + values: { errorMessage: error.message }, + }); - return ( - -
- - ); + return {announcement}; }; export const showCreateDetectionRuleErrorToast = ( From e1ca4e80cce681bb115a91e53aece11123399c36 Mon Sep 17 00:00:00 2001 From: animehart Date: Mon, 27 Oct 2025 03:12:58 -0700 Subject: [PATCH 5/5] reverting back changes made to take_action, will do this on separate PR --- .../public/components/take_action.tsx | 27 +++---------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/x-pack/solutions/security/plugins/cloud_security_posture/public/components/take_action.tsx b/x-pack/solutions/security/plugins/cloud_security_posture/public/components/take_action.tsx index fd94aaeaeaba0..58afa83718aae 100644 --- a/x-pack/solutions/security/plugins/cloud_security_posture/public/components/take_action.tsx +++ b/x-pack/solutions/security/plugins/cloud_security_posture/public/components/take_action.tsx @@ -13,7 +13,6 @@ import { EuiContextMenuPanel, EuiFlexGroup, EuiFlexItem, - EuiLiveAnnouncer, EuiPopover, EuiText, useGeneratedHtmlId, @@ -45,36 +44,18 @@ interface TakeActionProps { isDataGridControlColumn?: boolean; } -const ErrorAnnouncement = ({ error }: { error: Error }) => { - const announcement = kbnI18n.translate('xpack.csp.takeAction.createRuleErrorAnnouncement', { - defaultMessage: 'Error: Unable to create detection rule. {errorMessage}', - values: { errorMessage: error.message }, - }); - - return {announcement}; -}; - export const showCreateDetectionRuleErrorToast = ( cloudSecurityStartServices: CloudSecurityPostureStartServices, error: Error ) => { - const { analytics, i18n, theme } = cloudSecurityStartServices; - const startServices = { analytics, i18n, theme }; - return cloudSecurityStartServices.notifications.toasts.addDanger({ title: kbnI18n.translate('xpack.csp.takeAction.createRuleErrorTitle', { defaultMessage: 'Unable to create detection rule', }), - text: toMountPoint( - <> - - {kbnI18n.translate('xpack.csp.takeAction.createRuleErrorDescription', { - defaultMessage: 'An error occurred while creating the detection rule: {errorMessage}.', - values: { errorMessage: error.message }, - })} - , - startServices - ), + text: kbnI18n.translate('xpack.csp.takeAction.createRuleErrorDescription', { + defaultMessage: 'An error occurred while creating the detection rule: {errorMessage}.', + values: { errorMessage: error.message }, + }), 'data-test-subj': 'csp:toast-error', }); };