Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[8.x] [Security Solution][Expandable flyout] Introducing Flyout histo…
…ry in document flyout (#184970) (#203702) # Backport This will backport the following commits from `main` to `8.x`: - [[Security Solution][Expandable flyout] Introducing Flyout history in document flyout (#184970)](#184970) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"christineweng","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-12-10T21:43:28Z","message":"[Security Solution][Expandable flyout] Introducing Flyout history in document flyout (#184970)\n\n## Summary\r\n\r\nThis PR introduced flyout history in expandable flyouts to keep tracked\r\nof previously opened flyouts. The history button is available when\r\nfeature flag `newExpandableFlyoutNavigationEnabled` is enabled.\r\n\r\nFlag is currently default `False` \r\n\r\n### Changes in\r\n[kbn-expandable-flyout](https://github.com/elastic/kibana/tree/main/packages/kbn-expandable-flyout)\r\npackage\r\n\r\n- When `openFlyout` is called, the **right** panel will be appended to\r\nthe `history` slice in redux.\r\n- History can be accessed via `useExpandableFlyoutHistory` API\r\n\r\n\r\n![image](https://github.com/user-attachments/assets/081d6d6f-3c10-40f0-8882-73bc8c275e68)\r\n\r\n\r\n### Changes to expandable flyouts in security solution\r\n\r\n- When feature flag is on, opening more than 1 flyout will show a\r\nhistory icon. Currently max at 10 entries\r\n- When user clicks a flyout from the history, it does not add on top on\r\nhistory, instead the position will be moved up. There is no duplicate\r\nentries.\r\n\r\n\r\n![image](https://github.com/user-attachments/assets/3bc68519-5eea-4fb7-9386-f6688b28b525)\r\n\r\n**To illustrate how ordering works:**\r\n-> History: [host1, user1, alert1]\r\n-> clicks alert1 \r\n-> History: [alert1, host1, user1] \r\nKeep in mind this is slightly different in the actual implementation, as\r\nwe do not display the current entry (i.e. alert1 in this example)\r\n\r\n### Other changes in order to support flyout history\r\n- Added a preview panel for network. Previously we reused the panel for\r\nboth network flyout and network preview. A dedicated network preview\r\nwith out history is now available\r\n- Replaced `openRightPanel` with `openFlyout` in applicable places\r\n- Added `isPreview` and `isPreviewMode` checks in EA flyouts\r\n\r\n## How to test\r\n- Enable feature flag `newExpandableFlyoutNavigationEnabled`\r\n\r\n<details>\r\n<summary>✅ Alerts page</summary>\r\nAvailable for alert, host, user, rule name and ip's\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/e74a6444-763f-4e18-8370-f6c0c83e0d4c\"\r\n/>\r\n</details>\r\n\r\n<details>\r\n<summary>✅ Explore pages (event table)</summary>\r\nAvailable for events, host, user, rule name and ip's\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/d2b9f0b9-a788-4174-bc80-8ac9c51fb16a\"\r\n/>\r\n</details>\r\n\r\n<details>\r\n<summary>✅ Cases</summary>\r\nNote: the rule and entity link still go to a page, this will be\r\naddressed in a separate PR\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/fa7a5c86-d1e3-4dad-80ed-405c52efc486\"\r\n/>\r\n</details>\r\n\r\n\r\n<details>\r\n<summary>✅ Discover in severless</summary>\r\n- enable `discover.experimental.enabledProfiles:\r\n['security-root-profile']`\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/ebd5de5d-1ed3-42ad-bb6f-1beccdc48e62\"\r\n/>\r\n</details>\r\n\r\n<details>\r\n<summary>❌ Disabled in alert preview </summary>\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/53e82ded-0db8-4639-afa1-c5cf224cf193\"\r\n/>\r\n</details>\r\n\r\n<details>\r\n<summary>❌ Disabled in preview mode </summary>\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/a12b741f-2558-4fb5-852f-282af6e10f93\"\r\n/>\r\n</details>\r\n\r\n\r\n## WIP\r\n- [x] Investigate performance with process history\r\n- [ ] Final ui of the entries - pending UIUX team\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- [x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios","sha":"5b6887dd3df7e92dce72bf58ff80e999d501a721","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["backport","v9.0.0","Team:Threat Hunting","release_note:feature","Team:Threat Hunting:Investigations","v8.18.0"],"number":184970,"url":"https://github.com/elastic/kibana/pull/184970","mergeCommit":{"message":"[Security Solution][Expandable flyout] Introducing Flyout history in document flyout (#184970)\n\n## Summary\r\n\r\nThis PR introduced flyout history in expandable flyouts to keep tracked\r\nof previously opened flyouts. The history button is available when\r\nfeature flag `newExpandableFlyoutNavigationEnabled` is enabled.\r\n\r\nFlag is currently default `False` \r\n\r\n### Changes in\r\n[kbn-expandable-flyout](https://github.com/elastic/kibana/tree/main/packages/kbn-expandable-flyout)\r\npackage\r\n\r\n- When `openFlyout` is called, the **right** panel will be appended to\r\nthe `history` slice in redux.\r\n- History can be accessed via `useExpandableFlyoutHistory` API\r\n\r\n\r\n![image](https://github.com/user-attachments/assets/081d6d6f-3c10-40f0-8882-73bc8c275e68)\r\n\r\n\r\n### Changes to expandable flyouts in security solution\r\n\r\n- When feature flag is on, opening more than 1 flyout will show a\r\nhistory icon. Currently max at 10 entries\r\n- When user clicks a flyout from the history, it does not add on top on\r\nhistory, instead the position will be moved up. There is no duplicate\r\nentries.\r\n\r\n\r\n![image](https://github.com/user-attachments/assets/3bc68519-5eea-4fb7-9386-f6688b28b525)\r\n\r\n**To illustrate how ordering works:**\r\n-> History: [host1, user1, alert1]\r\n-> clicks alert1 \r\n-> History: [alert1, host1, user1] \r\nKeep in mind this is slightly different in the actual implementation, as\r\nwe do not display the current entry (i.e. alert1 in this example)\r\n\r\n### Other changes in order to support flyout history\r\n- Added a preview panel for network. Previously we reused the panel for\r\nboth network flyout and network preview. A dedicated network preview\r\nwith out history is now available\r\n- Replaced `openRightPanel` with `openFlyout` in applicable places\r\n- Added `isPreview` and `isPreviewMode` checks in EA flyouts\r\n\r\n## How to test\r\n- Enable feature flag `newExpandableFlyoutNavigationEnabled`\r\n\r\n<details>\r\n<summary>✅ Alerts page</summary>\r\nAvailable for alert, host, user, rule name and ip's\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/e74a6444-763f-4e18-8370-f6c0c83e0d4c\"\r\n/>\r\n</details>\r\n\r\n<details>\r\n<summary>✅ Explore pages (event table)</summary>\r\nAvailable for events, host, user, rule name and ip's\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/d2b9f0b9-a788-4174-bc80-8ac9c51fb16a\"\r\n/>\r\n</details>\r\n\r\n<details>\r\n<summary>✅ Cases</summary>\r\nNote: the rule and entity link still go to a page, this will be\r\naddressed in a separate PR\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/fa7a5c86-d1e3-4dad-80ed-405c52efc486\"\r\n/>\r\n</details>\r\n\r\n\r\n<details>\r\n<summary>✅ Discover in severless</summary>\r\n- enable `discover.experimental.enabledProfiles:\r\n['security-root-profile']`\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/ebd5de5d-1ed3-42ad-bb6f-1beccdc48e62\"\r\n/>\r\n</details>\r\n\r\n<details>\r\n<summary>❌ Disabled in alert preview </summary>\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/53e82ded-0db8-4639-afa1-c5cf224cf193\"\r\n/>\r\n</details>\r\n\r\n<details>\r\n<summary>❌ Disabled in preview mode </summary>\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/a12b741f-2558-4fb5-852f-282af6e10f93\"\r\n/>\r\n</details>\r\n\r\n\r\n## WIP\r\n- [x] Investigate performance with process history\r\n- [ ] Final ui of the entries - pending UIUX team\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- [x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios","sha":"5b6887dd3df7e92dce72bf58ff80e999d501a721"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/184970","number":184970,"mergeCommit":{"message":"[Security Solution][Expandable flyout] Introducing Flyout history in document flyout (#184970)\n\n## Summary\r\n\r\nThis PR introduced flyout history in expandable flyouts to keep tracked\r\nof previously opened flyouts. The history button is available when\r\nfeature flag `newExpandableFlyoutNavigationEnabled` is enabled.\r\n\r\nFlag is currently default `False` \r\n\r\n### Changes in\r\n[kbn-expandable-flyout](https://github.com/elastic/kibana/tree/main/packages/kbn-expandable-flyout)\r\npackage\r\n\r\n- When `openFlyout` is called, the **right** panel will be appended to\r\nthe `history` slice in redux.\r\n- History can be accessed via `useExpandableFlyoutHistory` API\r\n\r\n\r\n![image](https://github.com/user-attachments/assets/081d6d6f-3c10-40f0-8882-73bc8c275e68)\r\n\r\n\r\n### Changes to expandable flyouts in security solution\r\n\r\n- When feature flag is on, opening more than 1 flyout will show a\r\nhistory icon. Currently max at 10 entries\r\n- When user clicks a flyout from the history, it does not add on top on\r\nhistory, instead the position will be moved up. There is no duplicate\r\nentries.\r\n\r\n\r\n![image](https://github.com/user-attachments/assets/3bc68519-5eea-4fb7-9386-f6688b28b525)\r\n\r\n**To illustrate how ordering works:**\r\n-> History: [host1, user1, alert1]\r\n-> clicks alert1 \r\n-> History: [alert1, host1, user1] \r\nKeep in mind this is slightly different in the actual implementation, as\r\nwe do not display the current entry (i.e. alert1 in this example)\r\n\r\n### Other changes in order to support flyout history\r\n- Added a preview panel for network. Previously we reused the panel for\r\nboth network flyout and network preview. A dedicated network preview\r\nwith out history is now available\r\n- Replaced `openRightPanel` with `openFlyout` in applicable places\r\n- Added `isPreview` and `isPreviewMode` checks in EA flyouts\r\n\r\n## How to test\r\n- Enable feature flag `newExpandableFlyoutNavigationEnabled`\r\n\r\n<details>\r\n<summary>✅ Alerts page</summary>\r\nAvailable for alert, host, user, rule name and ip's\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/e74a6444-763f-4e18-8370-f6c0c83e0d4c\"\r\n/>\r\n</details>\r\n\r\n<details>\r\n<summary>✅ Explore pages (event table)</summary>\r\nAvailable for events, host, user, rule name and ip's\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/d2b9f0b9-a788-4174-bc80-8ac9c51fb16a\"\r\n/>\r\n</details>\r\n\r\n<details>\r\n<summary>✅ Cases</summary>\r\nNote: the rule and entity link still go to a page, this will be\r\naddressed in a separate PR\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/fa7a5c86-d1e3-4dad-80ed-405c52efc486\"\r\n/>\r\n</details>\r\n\r\n\r\n<details>\r\n<summary>✅ Discover in severless</summary>\r\n- enable `discover.experimental.enabledProfiles:\r\n['security-root-profile']`\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/ebd5de5d-1ed3-42ad-bb6f-1beccdc48e62\"\r\n/>\r\n</details>\r\n\r\n<details>\r\n<summary>❌ Disabled in alert preview </summary>\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/53e82ded-0db8-4639-afa1-c5cf224cf193\"\r\n/>\r\n</details>\r\n\r\n<details>\r\n<summary>❌ Disabled in preview mode </summary>\r\n<img\r\nsrc=\"https://github.com/user-attachments/assets/a12b741f-2558-4fb5-852f-282af6e10f93\"\r\n/>\r\n</details>\r\n\r\n\r\n## WIP\r\n- [x] Investigate performance with process history\r\n- [ ] Final ui of the entries - pending UIUX team\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- [x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios","sha":"5b6887dd3df7e92dce72bf58ff80e999d501a721"}},{"branch":"8.x","label":"v8.18.0","labelRegex":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT-->
- Loading branch information