[Fleet] Agent actions menu redesign#245174
Conversation
|
Pinging @elastic/fleet (Team:Fleet) |
|
@elasticmachine merge upstream |
This comment was marked as resolved.
This comment was marked as resolved.
|
Nit: should the unenroll and uninstall icons be red like the designs suggest? |
|
Another nit: should we hide the |
|
Should we add |
Good call, theres no use to show that menu for agents that arent going to be upgradeable anyway. |
|
@elasticmachine merge upstream |
MichelLosier
left a comment
There was a problem hiding this comment.
Looks great! Did some smoke testing with particular focus on the agentless rules and all seems to work well.
Just a note on the HierarchicalActionsMenu component. I think there is opportunity there to simplify it a bit.
...red/fleet/public/applications/fleet/sections/agents/components/hierarchical_actions_menu.tsx
Outdated
Show resolved
Hide resolved
jillguyonnet
left a comment
There was a problem hiding this comment.
LGTM 🚀 Can you please leave a comment in the issue with outstanding questions we might want to address in the future? Thanks for your work on this!
💛 Build succeeded, but was flaky
Failed CI StepsTest Failures
Metrics [docs]Module Count
Async chunks
Page load bundle
History
|
Summary
Closes #238091
QA/Testing Table
Fleet Agent Actions - QA Testing Guide
Single Agent Actions
allAgentsallAgentsallAgentsallAgentsallAgentsreadAgentsallAgents+ flagallAgentsallAgentsallAgentsBulk Actions
allAgentsallAgentsallAgentsallAgentsallAgentsallAgentsreadAgentsreadAgentsallAgents+ flagallAgentsTest each action with these combinations:
User permissions to test:
allAgents·readAgents· NoneLicense levels to test: Basic · Platinum · Enterprise
Agent configurations to test:
Note: "flag" =
enableAgentPrivilegeLevelChangefeature flag enabledThis PR cleans up the agent actions menus in the agent table row, the bulk actions, and the agent details page to use nested menus.
The agent details and table row actions have been unified into a reusable hook that returns the menus and inconsistencies between the two have been corrected. This will allow us to maintain a consistent actions menu between the two more easily without needing to update two different context menus each time. Bulk actions have a different list, so they remain standalone.
Also, taking notice that EUI already handles menu-nesting, I decided to create a reusable actions menu component that wraps up the popover, trigger (button), and context menu. It renders the button (with the styling configurable via props), allows you to set popover direction, and automatically handles nesting of children items in the menus.
For single agent menus, we simply now can pass in the callbacks to the hook that we want to fire when the buttons are clicked and everything else will be handled, and for bulk actions, we no longer need to build the UI in the
MenuItemsarray and can instead pass in Objects like:Screen.Recording.2025-12-05.at.10.22.30.AM.mov
Checklist
Check the PR satisfies following conditions.
Reviewers should verify this PR satisfies this list as well.
release_note:breakinglabel should be applied in these situations.release_note:*label is applied per the guidelinesbackport:*labels.Identify risks
Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss.
Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging.
Release Note
Redesigned single and bulk agent actions menus in Fleet. Commonly used actions are organized at the top level of the menus, while other actions are now organized into nested menus by use-case.