mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
[8.16] [ML] Fixes link to anomaly explorer from anomaly embeddables when viewing by job group (#198256) (#198513)
# Backport This will backport the following commits from `main` to `8.16`: - [[ML] Fixes link to anomaly explorer from anomaly embeddables when viewing by job group (#198256)](https://github.com/elastic/kibana/pull/198256) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Robert Jaszczurek","email":"92210485+rbrtj@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-10-31T11:56:50Z","message":"[ML] Fixes link to anomaly explorer from anomaly embeddables when viewing by job group (#198256)\n\n## Summary\r\n\r\nFix for: [#196509](https://github.com/elastic/kibana/issues/196509)\r\n\r\nAfter fix:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/9d731676-fd47-41fe-8843-8b8e6c6e153d","sha":"9eb8b885148ba8fb5f22a1c64c02452eba5dfca9","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix",":ml","Feature:Anomaly Detection","v9.0.0","Team:ML","v8.16.0","backport:version","v8.17.0"],"title":"[ML] Fixes link to anomaly explorer from anomaly embeddables when viewing by job group","number":198256,"url":"https://github.com/elastic/kibana/pull/198256","mergeCommit":{"message":"[ML] Fixes link to anomaly explorer from anomaly embeddables when viewing by job group (#198256)\n\n## Summary\r\n\r\nFix for: [#196509](https://github.com/elastic/kibana/issues/196509)\r\n\r\nAfter fix:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/9d731676-fd47-41fe-8843-8b8e6c6e153d","sha":"9eb8b885148ba8fb5f22a1c64c02452eba5dfca9"}},"sourceBranch":"main","suggestedTargetBranches":["8.16","8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/198256","number":198256,"mergeCommit":{"message":"[ML] Fixes link to anomaly explorer from anomaly embeddables when viewing by job group (#198256)\n\n## Summary\r\n\r\nFix for: [#196509](https://github.com/elastic/kibana/issues/196509)\r\n\r\nAfter fix:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/9d731676-fd47-41fe-8843-8b8e6c6e153d","sha":"9eb8b885148ba8fb5f22a1c64c02452eba5dfca9"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.x","label":"v8.17.0","branchLabelMappingKey":"^v8.17.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Robert Jaszczurek <92210485+rbrtj@users.noreply.github.com>
This commit is contained in:
parent
8b0ea6e04a
commit
ee3af60985
1 changed files with 20 additions and 2 deletions
|
@ -25,6 +25,24 @@ function getInvalidJobIds(jobs: MlJobWithTimeRange[], ids: string[]) {
|
|||
});
|
||||
}
|
||||
|
||||
// This is useful when redirecting from dashboards where groupIds are treated as jobIds
|
||||
const getJobIdsFromGroups = (jobIds: string[], jobs: MlJobWithTimeRange[]) => {
|
||||
const result = new Set<string>();
|
||||
|
||||
jobIds.forEach((id) => {
|
||||
const jobsInGroup = jobs.filter((job) => job.groups?.includes(id));
|
||||
|
||||
if (jobsInGroup.length > 0) {
|
||||
jobsInGroup.forEach((job) => result.add(job.job_id));
|
||||
} else {
|
||||
// If it's not a group ID, keep it (regardless of whether it's valid or not)
|
||||
result.add(id);
|
||||
}
|
||||
});
|
||||
|
||||
return Array.from(result);
|
||||
};
|
||||
|
||||
export interface JobSelection {
|
||||
jobIds: string[];
|
||||
selectedGroups: string[];
|
||||
|
@ -37,9 +55,9 @@ export const useJobSelection = (jobs: MlJobWithTimeRange[]) => {
|
|||
const getJobSelection = useJobSelectionFlyout();
|
||||
|
||||
const tmpIds = useMemo(() => {
|
||||
const ids = globalState?.ml?.jobIds || [];
|
||||
const ids = getJobIdsFromGroups(globalState?.ml?.jobIds || [], jobs);
|
||||
return (typeof ids === 'string' ? [ids] : ids).map((id: string) => String(id));
|
||||
}, [globalState?.ml?.jobIds]);
|
||||
}, [globalState?.ml?.jobIds, jobs]);
|
||||
|
||||
const invalidIds = useMemo(() => {
|
||||
return getInvalidJobIds(jobs, tmpIds);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue