🚀 Search Performance & UX Enhancement Suite#42
Merged
Conversation
…at group. Chev. button removed
… scroll ignoreing containerheight
…d a performance bottleneck, due to virtualization recalculations - later fix)
… performance context to schedule updates.
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR introduces a comprehensive search performance and UX enhancement suite, transforming the search functionality from basic inline filtering to a sophisticated web worker-based system with portal-isolated components and performance optimizations.
Key changes include:
- Web Worker-based search processing - Moves search operations off the main thread to prevent UI freezing
- Portal-isolated search component - Uses React Portal for DOM isolation and improved performance
- Enhanced navigation and mobile experience - Adds next/previous navigation, auto-jump to first result, and mobile auto-collapse
Reviewed Changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| Website/lib/utils.ts | Adds debounce and throttle utility functions for performance optimization |
| Website/contexts/SearchPerformanceContext.tsx | New context for managing search performance scheduling with idle callbacks |
| Website/contexts/DatamodelViewContext.tsx | Adds loading state management to existing view context |
| Website/contexts/DatamodelDataContext.tsx | New context for managing data model data and search state |
| Website/components/datamodelview/searchWorker.js | Web worker for background search processing with chunked results |
| Website/components/datamodelview/dataLoaderWorker.js | Web worker for loading data model groups |
| Website/components/datamodelview/TimeSlicedSearch.tsx | Portal-based search component with time-sliced operations |
| Website/components/datamodelview/DatamodelView.tsx | Major refactor to integrate new search system and worker management |
| Website/components/datamodelview/List.tsx | Enhanced virtual scrolling with search highlighting and performance optimizations |
| Website/components/datamodelview/Section.tsx | Adds search prop support and content change callbacks |
| Website/components/datamodelview/SidebarDatamodelView.tsx | Updates to use new data context and improved navigation |
| Website/components/datamodelview/Attributes.tsx | Removes internal search, uses parent search with highlighting |
| Website/components/datamodelview/Relationships.tsx | Adds search highlighting and visible count tracking |
| Website/components/datamodelview/Keys.tsx | Adds search highlighting and visible count tracking |
| Website/components/AppSidebar.tsx | Adds collapsible sidebar functionality for desktop |
| Website/app/page.tsx | Wraps app with new data model data provider |
Comments suppressed due to low confidence (1)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…/DataModelViewer into patch/misc-changes-02
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚀 Search Performance & UX Enhancement Suite
Comprehensive overhaul of search functionality and UX with:
Key Features
Technical Highlights
TimeSlicedSearch.tsx- High-performance search componentsearchWorker.js- Background search processingSearchPerformanceContext.tsx- Performance schedulingImpact
Resolves multiple PBIs: 119531, 119532, 119533, 119535, 119536, 119537, 119588