arunsarin85 opened a new pull request, #9928:
URL: https://github.com/apache/ozone/pull/9928

   ## What changes were proposed in this pull request?
   User Experience Improvements on buckets tab.
   
   Please describe your PR in detail:
   
   User Experience Improvements on buckets tab.
   
   Implemented the following improvements on the Buckets Tab of Recon 
(HDDS-14840):
   
   1. Sticky Bucket and Volume columns — bucketsTable.tsx
   
   Added fixed: 'left' to both the Bucket (name) and Volume (volumeName) column 
definitions so they remain anchored to the left edge while the user scrolls 
horizontally through the remaining columns.
   
   2. Search box inside Volumes and Columns dropdowns — multiSelect.tsx
   
   Added an optional showSearch boolean prop (default false) to the shared 
MultiSelect component. When enabled, a search input is rendered at the top of 
the dropdown menu, filtering the visible options in real time. Key 
implementation details:
   
   Options are pre-filtered before being passed to react-select, so filtering 
works independently of react-select's own input handling.
   The dropdown uses controlled menuIsOpen state to stay open while the user 
interacts with the search box.
   A stable InputComponent override suppresses react-select's blur-driven close 
when focus moves to the search input.
   The MenuListComponent is created with useMemo and reads mutable values via a 
stateRef so its component reference stays stable across re-renders, preventing 
react-select from unmounting and remounting the menu (which would lose focus 
mid-typing).
   Pressing Escape while the search box is focused closes the dropdown and 
clears the search term.
   
   3. Select All / Unselect All toggle — multiSelect.tsx
   
   Added an optional showSelectAll boolean prop (default false). When enabled, 
a checkbox row is rendered below the search box (above the option list) that:
   
   Checks all selectable options when none/some are selected.
   Unchecks all options (keeping only the mandatory fixed column, e.g. 
"Bucket") when all are already selected.
   onMouseDown on this row prevents blur from firing on the react-select 
control, so the menu stays open after clicking.
   
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-14840
   
   ## How was this patch tested?
   
   Sticky Vol/Buck
   <img width="1524" height="657" alt="image" 
src="https://github.com/user-attachments/assets/eee1b454-418f-4380-9bf2-9f6e917857e4";
 />
   
   Select unselect & search 
   <img width="1529" height="654" alt="image" 
src="https://github.com/user-attachments/assets/1a65ec1d-124c-4a31-9a4e-062aa23c0aa5";
 />
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to