Skip to content

ATLAS-5305: ATLAS React UI: Type System filter dropdown and lineage g…#656

Open
Brijesh619 wants to merge 1 commit into
apache:masterfrom
Brijesh619:ATLAS-5305
Open

ATLAS-5305: ATLAS React UI: Type System filter dropdown and lineage g…#656
Brijesh619 wants to merge 1 commit into
apache:masterfrom
Brijesh619:ATLAS-5305

Conversation

@Brijesh619
Copy link
Copy Markdown
Contributor

Here is the technical list of exact code changes made in TypeSystemTreeView.tsx for each issue, which you can use for your Jira descriptions:

1. Fix filter dropdown options disappearing upon selection

Changes: Modified the renderFilterSearch function. Instead of deriving the dropdown options from lineageHelperRef?.current?.getNodes() (which shrinks when the graph is filtered), the options are now built by iterating directly over the raw entityDefs array.
2. Add visual highlight for selected values in search and filter dropdowns

Changes:
Added isOptionEqualToValue={(option: any, value: any) => option?.value === value?.value} to both the Filter and Search Material UI components.
Fixed the value prop in the Search to look up the correct object using renderTypeSearch().find((opt: any) => opt?.label === searchTypeValue) || null.
3. Implement optional chaining to prevent UI crashes on undefined values

Changes: Added optional chaining (?.) comprehensively throughout the file. This includes data mapping functions inside renderFilterSearch and renderTypeSearch, object property references, and all invocations of library methods (e.g., lineageMethods?.refresh?.(), lineageMethods?.searchNode?.()).
4. Fix search dropdown double clear button and ensure lineage graph refreshes on clear

Changes:
Removed disableClearable from the Search to enable the Material UI clear button.
Removed type: "search" from the nested 's InputProps to prevent the browser from rendering a duplicate native clear button.
Updated handleSearchChange to destructure newValue gracefully (accounting for null when cleared).
Added an else condition in handleSearchChange to call filterData(typeValue) when the input is cleared, ensuring the graph refreshes properly while preserving any active filters.
5. Fix toolbar overlapping/disappearing issue in full-screen mode

Changes: Moved the className={${isFullscreen ? "fullscreen" : ""}} property out of the individual toolbar and graph components, placing it exclusively on their shared root parent. This ensures the entire component scales together instead of overlapping.
6. Fix lineage graph container layout to prevent off-screen vertical centering and scrolling issues

Changes: Removed the hardcoded minHeight="650px" from the lineage wrapper and adjusted the flex layout so that the container dynamically calculates its height based on the remaining screen space.

@Brijesh619
Copy link
Copy Markdown
Contributor Author

Screenshot from 2026-06-01 20-55-02 Screenshot from 2026-06-01 20-54-56 Screenshot from 2026-06-01 20-54-28 Screenshot from 2026-06-01 15-29-10

@pawarprasad123 pawarprasad123 self-requested a review June 2, 2026 05:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant