mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 01:13:23 -04:00
# Backport This will backport the following commits from `main` to `8.10`: - [[Rule Details] - Update rule details data view id text (#164494)](https://github.com/elastic/kibana/pull/164494) <!--- Backport version: 8.9.7 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Yara Tercero","email":"yctercero@users.noreply.github.com"},"sourceCommit":{"committedDate":"2023-08-28T16:29:00Z","message":"[Rule Details] - Update rule details data view id text (#164494)\n\n**Resolves: https://github.com/elastic/kibana/issues/164828**\r\n**Related UX writing issue:\r\nhttps://github.com/elastic/ux-writing/issues/46**\r\n\r\n## Summary\r\n\r\nIn rule details page, when a rule has a data view selected, two labels\r\nshow up as \"Data View\". This appears to be a bug, as one of those labels\r\nshould be \"Data view ID\" and another should be \"Data view index\r\npattern\".\r\n\r\nThanks to @MadameSheema @nikitaindik for finding this. \r\n\r\n### Before \r\n\r\n\r\n\r\n### After\r\n<img width=\"808\" alt=\"Screenshot 2023-08-26 at 19 30 54\"\r\nsrc=\"b511bf92
-0e90-4455-834c-36b8e75b2a58\">\r\n\r\n\r\n### Checklist\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n\r\n---------\r\n\r\nCo-authored-by: Nikita Indik <nikita.indik@elastic.co>","sha":"31e95574ae6d8cfa9e0ba4595e1068e9391b423d","branchLabelMapping":{"^v8.11.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:skip","Team:Detection Rule Management","ui-copy","Feature:Rule Details","Team:Detection Engine","v8.10.0","v8.11.0","v8.9.2"],"number":164494,"url":"https://github.com/elastic/kibana/pull/164494","mergeCommit":{"message":"[Rule Details] - Update rule details data view id text (#164494)\n\n**Resolves: https://github.com/elastic/kibana/issues/164828**\r\n**Related UX writing issue:\r\nhttps://github.com/elastic/ux-writing/issues/46**\r\n\r\n## Summary\r\n\r\nIn rule details page, when a rule has a data view selected, two labels\r\nshow up as \"Data View\". This appears to be a bug, as one of those labels\r\nshould be \"Data view ID\" and another should be \"Data view index\r\npattern\".\r\n\r\nThanks to @MadameSheema @nikitaindik for finding this. \r\n\r\n### Before \r\n\r\n\r\n\r\n### After\r\n<img width=\"808\" alt=\"Screenshot 2023-08-26 at 19 30 54\"\r\nsrc=\"b511bf92
-0e90-4455-834c-36b8e75b2a58\">\r\n\r\n\r\n### Checklist\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n\r\n---------\r\n\r\nCo-authored-by: Nikita Indik <nikita.indik@elastic.co>","sha":"31e95574ae6d8cfa9e0ba4595e1068e9391b423d"}},"sourceBranch":"main","suggestedTargetBranches":["8.10","8.9"],"targetPullRequestStates":[{"branch":"8.10","label":"v8.10.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.11.0","labelRegex":"^v8.11.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/164494","number":164494,"mergeCommit":{"message":"[Rule Details] - Update rule details data view id text (#164494)\n\n**Resolves: https://github.com/elastic/kibana/issues/164828**\r\n**Related UX writing issue:\r\nhttps://github.com/elastic/ux-writing/issues/46**\r\n\r\n## Summary\r\n\r\nIn rule details page, when a rule has a data view selected, two labels\r\nshow up as \"Data View\". This appears to be a bug, as one of those labels\r\nshould be \"Data view ID\" and another should be \"Data view index\r\npattern\".\r\n\r\nThanks to @MadameSheema @nikitaindik for finding this. \r\n\r\n### Before \r\n\r\n\r\n\r\n### After\r\n<img width=\"808\" alt=\"Screenshot 2023-08-26 at 19 30 54\"\r\nsrc=\"b511bf92
-0e90-4455-834c-36b8e75b2a58\">\r\n\r\n\r\n### Checklist\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n\r\n---------\r\n\r\nCo-authored-by: Nikita Indik <nikita.indik@elastic.co>","sha":"31e95574ae6d8cfa9e0ba4595e1068e9391b423d"}},{"branch":"8.9","label":"v8.9.2","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Yara Tercero <yctercero@users.noreply.github.com>
This commit is contained in:
parent
088ae75088
commit
52d4bc45e6
7 changed files with 72 additions and 24 deletions
|
@ -42,6 +42,7 @@ import { DataSourceType } from '../../../../detections/pages/detection_engine/ru
|
|||
import { convertHistoryStartToSize } from '../../../../detections/pages/detection_engine/rules/helpers';
|
||||
import { MlJobLink } from '../../../../detections/components/rules/ml_job_link/ml_job_link';
|
||||
import { useSecurityJobs } from '../../../../common/components/ml_popover/hooks/use_security_jobs';
|
||||
import { useKibana } from '../../../../common/lib/kibana/kibana_react';
|
||||
import { BadgeList } from './badge_list';
|
||||
import * as i18n from './translations';
|
||||
|
||||
|
@ -107,11 +108,42 @@ interface IndexProps {
|
|||
|
||||
const Index = ({ index }: IndexProps) => <BadgeList badges={index} />;
|
||||
|
||||
interface DataViewProps {
|
||||
interface DataViewIdProps {
|
||||
dataViewId: string;
|
||||
}
|
||||
|
||||
const DataView = ({ dataViewId }: DataViewProps) => <EuiText size="s">{dataViewId}</EuiText>;
|
||||
const DataViewId = ({ dataViewId }: DataViewIdProps) => <EuiText size="s">{dataViewId}</EuiText>;
|
||||
|
||||
interface DataViewIndexPatternProps {
|
||||
dataViewId: string;
|
||||
}
|
||||
|
||||
const DataViewIndexPattern = ({ dataViewId }: DataViewIndexPatternProps) => {
|
||||
const { data } = useKibana().services;
|
||||
const [indexPattern, setIndexPattern] = React.useState('');
|
||||
const [hasError, setHasError] = React.useState(false);
|
||||
|
||||
React.useEffect(() => {
|
||||
data.dataViews
|
||||
.get(dataViewId)
|
||||
.then((dataView) => {
|
||||
setIndexPattern(dataView.getIndexPattern());
|
||||
})
|
||||
.catch(() => {
|
||||
setHasError(true);
|
||||
});
|
||||
}, [data, dataViewId]);
|
||||
|
||||
if (hasError) {
|
||||
return <EuiText size="s">{i18n.DATA_VIEW_INDEX_PATTERN_FETCH_ERROR_MESSAGE}</EuiText>;
|
||||
}
|
||||
|
||||
if (!indexPattern) {
|
||||
return <EuiLoadingSpinner size="m" />;
|
||||
}
|
||||
|
||||
return <EuiText size="s">{indexPattern}</EuiText>;
|
||||
};
|
||||
|
||||
interface ThresholdProps {
|
||||
threshold: ThresholdType;
|
||||
|
@ -299,10 +331,16 @@ const prepareDefinitionSectionListItems = (
|
|||
}
|
||||
|
||||
if ('data_view_id' in rule && rule.data_view_id) {
|
||||
definitionSectionListItems.push({
|
||||
title: i18n.DATA_VIEW_FIELD_LABEL,
|
||||
description: <DataView dataViewId={rule.data_view_id} />,
|
||||
});
|
||||
definitionSectionListItems.push(
|
||||
{
|
||||
title: i18n.DATA_VIEW_ID_FIELD_LABEL,
|
||||
description: <DataViewId dataViewId={rule.data_view_id} />,
|
||||
},
|
||||
{
|
||||
title: i18n.DATA_VIEW_INDEX_PATTERN_FIELD_LABEL,
|
||||
description: <DataViewIndexPattern dataViewId={rule.data_view_id} />,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
if (savedQuery) {
|
||||
|
|
|
@ -182,10 +182,24 @@ export const INDEX_FIELD_LABEL = i18n.translate(
|
|||
}
|
||||
);
|
||||
|
||||
export const DATA_VIEW_FIELD_LABEL = i18n.translate(
|
||||
'xpack.securitySolution.detectionEngine.ruleDetails.dataViewFieldLabel',
|
||||
export const DATA_VIEW_ID_FIELD_LABEL = i18n.translate(
|
||||
'xpack.securitySolution.detectionEngine.ruleDetails.dataViewIdFieldLabel',
|
||||
{
|
||||
defaultMessage: 'Data View',
|
||||
defaultMessage: 'Data view',
|
||||
}
|
||||
);
|
||||
|
||||
export const DATA_VIEW_INDEX_PATTERN_FIELD_LABEL = i18n.translate(
|
||||
'xpack.securitySolution.detectionEngine.ruleDetails.dataViewIndexPatternFieldLabel',
|
||||
{
|
||||
defaultMessage: 'Data view index pattern',
|
||||
}
|
||||
);
|
||||
|
||||
export const DATA_VIEW_INDEX_PATTERN_FETCH_ERROR_MESSAGE = i18n.translate(
|
||||
'xpack.securitySolution.detectionEngine.ruleDetails.dataViewIndexPatternFetchErrorMessage',
|
||||
{
|
||||
defaultMessage: 'Could not load data view index pattern',
|
||||
}
|
||||
);
|
||||
|
||||
|
|
|
@ -78,21 +78,11 @@ export const schema: FormSchema<DefineStepRule> = {
|
|||
},
|
||||
],
|
||||
},
|
||||
dataViewTitle: {
|
||||
label: i18n.translate(
|
||||
'xpack.securitySolution.detectionEngine.createRule.stepAboutRule.dataViewSelector',
|
||||
{
|
||||
defaultMessage: 'Data View',
|
||||
}
|
||||
),
|
||||
validations: [],
|
||||
},
|
||||
// TODO: populate the dataViewTitle in a better way
|
||||
dataViewId: {
|
||||
label: i18n.translate(
|
||||
'xpack.securitySolution.detectionEngine.createRule.stepAboutRule.dataViewSelector',
|
||||
{
|
||||
defaultMessage: 'Data View',
|
||||
defaultMessage: 'Data view',
|
||||
}
|
||||
),
|
||||
fieldsToValidateOnChange: ['dataViewId'],
|
||||
|
@ -128,6 +118,15 @@ export const schema: FormSchema<DefineStepRule> = {
|
|||
},
|
||||
],
|
||||
},
|
||||
dataViewTitle: {
|
||||
label: i18n.translate(
|
||||
'xpack.securitySolution.detectionEngine.createRule.stepAboutRule.dataViewTitleSelector',
|
||||
{
|
||||
defaultMessage: 'Data view index pattern',
|
||||
}
|
||||
),
|
||||
validations: [],
|
||||
},
|
||||
eqlOptions: {},
|
||||
queryBar: {
|
||||
validations: [
|
||||
|
|
|
@ -31022,7 +31022,6 @@
|
|||
"xpack.securitySolution.detectionEngine.createRule.savedQueryFiltersLabel": "Filtres de requête enregistrés",
|
||||
"xpack.securitySolution.detectionEngine.createRule.savedQueryLabel": "Requête enregistrée",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.authorFieldEmptyError": "L'auteur doit être renseigné",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.dataViewSelector": "Vue de données",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.descriptionFieldRequiredError": "Une description est requise.",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fiedIndexPatternsLabel": "Modèles d'indexation",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldAssociatedToEndpointListLabel": "Ajouter des exceptions de point de terminaison existantes à la règle",
|
||||
|
|
|
@ -31021,7 +31021,6 @@
|
|||
"xpack.securitySolution.detectionEngine.createRule.savedQueryFiltersLabel": "保存されたクエリフィルター",
|
||||
"xpack.securitySolution.detectionEngine.createRule.savedQueryLabel": "保存されたクエリ",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.authorFieldEmptyError": "作成者は空にする必要があります",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.dataViewSelector": "データビュー",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.descriptionFieldRequiredError": "説明が必要です。",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fiedIndexPatternsLabel": "インデックスパターン",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldAssociatedToEndpointListLabel": "既存のエンドポイント例外をルールに追加",
|
||||
|
|
|
@ -31017,7 +31017,6 @@
|
|||
"xpack.securitySolution.detectionEngine.createRule.savedQueryFiltersLabel": "已保存查询筛选",
|
||||
"xpack.securitySolution.detectionEngine.createRule.savedQueryLabel": "已保存查询",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.authorFieldEmptyError": "作者不得为空",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.dataViewSelector": "数据视图",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.descriptionFieldRequiredError": "描述必填。",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fiedIndexPatternsLabel": "索引模式",
|
||||
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldAssociatedToEndpointListLabel": "将现有的终端例外添加到规则",
|
||||
|
|
|
@ -29,7 +29,7 @@ export const SAVED_QUERY_DETAILS = /^Saved query$/;
|
|||
|
||||
export const SAVED_QUERY_FILTERS_DETAILS = 'Saved query filters';
|
||||
|
||||
export const DATA_VIEW_DETAILS = 'Data View';
|
||||
export const DATA_VIEW_DETAILS = 'Data view';
|
||||
|
||||
export const DEFINITION_DETAILS =
|
||||
'[data-test-subj=definitionRule] [data-test-subj="listItemColumnStepRuleDescription"]';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue