[ 
https://issues.apache.org/jira/browse/ATLAS-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brijesh Bhalala updated ATLAS-5324:
-----------------------------------
    Description: 
This ticket enhances the UX of the collapsed navigation sidebar by introducing 
interactive module icons and popover trees, allowing users to access complex 
navigation (like Business Metadata, Glossary, etc.) without expanding the main 
sidebar. It also includes critical layout stability optimizations to ensure 
smooth rendering during these interactions.
h3. *Features Implemented*
 * *Collapsed Sidebar Module Icons:* Added new SVG icons to the collapsed 
sidebar, providing quick-access entry points for various data trees.
 * *Interactive Tree Popovers:* Hovering/Clicking on these icons now opens a 
sleek contextual popover containing the relevant data tree, allowing seamless 
navigation without shifting the main layout.
 * *Active State Markers:* Added active state indicators to clearly show users 
which sidebar module is currently engaged.

h3. *UI & Performance Optimizations (Included Fixes)*

During the implementation of the collapsed popovers, several downstream 
rendering bottlenecks were identified and resolved to ensure the interactions 
feel premium and instant:
 * *Dashboard Re-rendering Lag:* Fixed a major issue where toggling the sidebar 
or interacting with popovers caused the entire main right-hand dashboard 
({{{}<Outlet />{}}}) to unmount and re-render. Implemented stable {{useMemo}} 
caching in {{SideBarBody}} to ensure the dashboard view remains completely 
stable during sidebar interactions.
 * *Popover Height Snapping:* Fixed an issue where the new sidebar popovers 
would open with a massive vertical height and abruptly shrink down. Added an 
{{isPopover}} context flag so the tree dynamically renders a minimal 2-row 
loading skeleton instead of the default 7-row skeleton, perfectly matching the 
popover bounds.
 * *Search Table Image Flickering:* Fixed an underlying issue where layout 
shifts from the sidebar caused the Search Data Table to remount cells, 
triggering heavy network {{fetch}} requests for entity icons and flashing 
loading skeletons. Completely refactored {{EntityDisplayImage}} to use 
synchronous browser-native {{<img onError>}} fallbacks, ensuring layout resizes 
are smooth and flicker-free.
 

  was:
*Background / Problem:* Currently, when the Atlas Dashboard sidebar is 
collapsed, the space beneath the Atlas logo remains completely empty. This 
results in underutilized screen real estate and forces the user to fully expand 
the sidebar every time they want to navigate to a different module or tree 
structure.

*Objective:* Improve the UX of the collapsed sidebar (mini-variant) by 
displaying recognizable icons for each module, enabling quick navigation via 
interactive tooltips, and providing visual feedback on the user's current 
context.

*Acceptance Criteria:*

*Module Icons in Collapsed State:*

When the sidebar is collapsed, display a vertical stack of icons corresponding 
to the main modules: Search/Entities, Classifications, Business Metadata, 
Glossary, Relationships, and Custom Filters.

*Interactive Tree Tooltips on Hover:*

Hovering over any of these module icons must trigger an interactive 
popup/tooltip.
The tooltip must render the actual, fully functional tree structure (e.g., 
<GlossaryTree />, <EntitiesTree />) for that specific module, allowing users to 
browse and click nodes directly from the collapsed state.
The tooltip should have a defined maxHeight and scrollability to handle large 
tree structures cleanly.
Active State Indication:

The system must determine the currently active module by evaluating the URL 
location.pathname and searchParams.
The icon representing the currently active module must display a visual 
selection marker (e.g., a 4px solid #2ccebb left border and subtle background 
highlight).
This active marker must perfectly match the visual styling of selected tree 
nodes in the open sidebar to maintain design consistency.
Click to Expand:

Clicking directly on any of the module icons should instantly slide open the 
main sidebar drawer.


> Atlas React UI: Enhance Collapsed  Sidebar with Module Icons, Interactive 
> Tree Tooltips, and Active State Markers
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: ATLAS-5324
>                 URL: https://issues.apache.org/jira/browse/ATLAS-5324
>             Project: Atlas
>          Issue Type: New Feature
>          Components:  atlas-core
>            Reporter: Brijesh Bhalala
>            Assignee: Brijesh Bhalala
>            Priority: Major
>              Labels: atlas-react
>
> This ticket enhances the UX of the collapsed navigation sidebar by 
> introducing interactive module icons and popover trees, allowing users to 
> access complex navigation (like Business Metadata, Glossary, etc.) without 
> expanding the main sidebar. It also includes critical layout stability 
> optimizations to ensure smooth rendering during these interactions.
> h3. *Features Implemented*
>  * *Collapsed Sidebar Module Icons:* Added new SVG icons to the collapsed 
> sidebar, providing quick-access entry points for various data trees.
>  * *Interactive Tree Popovers:* Hovering/Clicking on these icons now opens a 
> sleek contextual popover containing the relevant data tree, allowing seamless 
> navigation without shifting the main layout.
>  * *Active State Markers:* Added active state indicators to clearly show 
> users which sidebar module is currently engaged.
> h3. *UI & Performance Optimizations (Included Fixes)*
> During the implementation of the collapsed popovers, several downstream 
> rendering bottlenecks were identified and resolved to ensure the interactions 
> feel premium and instant:
>  * *Dashboard Re-rendering Lag:* Fixed a major issue where toggling the 
> sidebar or interacting with popovers caused the entire main right-hand 
> dashboard ({{{}<Outlet />{}}}) to unmount and re-render. Implemented stable 
> {{useMemo}} caching in {{SideBarBody}} to ensure the dashboard view remains 
> completely stable during sidebar interactions.
>  * *Popover Height Snapping:* Fixed an issue where the new sidebar popovers 
> would open with a massive vertical height and abruptly shrink down. Added an 
> {{isPopover}} context flag so the tree dynamically renders a minimal 2-row 
> loading skeleton instead of the default 7-row skeleton, perfectly matching 
> the popover bounds.
>  * *Search Table Image Flickering:* Fixed an underlying issue where layout 
> shifts from the sidebar caused the Search Data Table to remount cells, 
> triggering heavy network {{fetch}} requests for entity icons and flashing 
> loading skeletons. Completely refactored {{EntityDisplayImage}} to use 
> synchronous browser-native {{<img onError>}} fallbacks, ensuring layout 
> resizes are smooth and flicker-free.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to