feat(lineage): show column descriptions on hover in lineage graph - #19359
feat(lineage): show column descriptions on hover in lineage graph#19359ishal1410 wants to merge 2 commits into
Conversation
Column nodes in the v3 lineage graph rendered only the field name, so users had to leave the graph to find out what a column meant. Request `description` on the `lineageSchemaField` fragment, carry it through `ColumnAsset`, and render it as a hover tooltip on the column label. When a description exists it replaces antd's ellipsis tooltip, which only fires when the name overflows and shows nothing more than the name itself. Only the source (ingested) description is used; editable schema metadata is not fetched here. Closes datahub-project#18320 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Linear: CAT-3034 Thanks for your contribution! We have created an internal ticket to track this PR. A member of the core DataHub team will be assigned to review it within the next few business days - you will get a follow-up comment once a reviewer is assigned. |
Bundle ReportChanges will increase total bundle size by 66.16kB (0.2%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: datahub-react-web-esmAssets Changed:
Files in
|
There was a problem hiding this comment.
All reported issues were addressed across 5 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Enabling the description tooltip suppresses antd's ellipsis tooltip, which was the only way to read a column name that overflows the node. Show the name above the description so a truncated name stays recoverable. Also replace the null-description test's trivial string assertion with a tooltip-role assertion, and add a case covering the name in the tooltip. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Summary
Fixes #18320.
Column nodes in the v3 lineage graph render only the field name, so a user exploring lineage has to leave the graph to find out what a column actually means. This adds the field's description as a hover tooltip on the column label.
Changes
graphql/lineage.graphql— requestdescriptionon thelineageSchemaFieldfragment.lineageV3/types.ts— adddescription?: string | nulltoColumnAsset.entityV2/EntityRegistry.tsx— populate it ingetLineageAssets.lineageV3/LineageEntityNode/Column.tsx— wrap the column label in aTooltipshowing the description. When a description exists, antd's ellipsis tooltip is disabled: it only fires when the name overflows and shows nothing beyond the name itself, so the description is strictly the more useful hover target.Only the source (ingested) description is used. Editable schema metadata is deliberately not fetched here — it would mean widening the lineage query for every column on the graph.
Testing
LineageEntityNode/__tests__/Column.test.tsx: description renders on hover; no tooltip body when the description is null. The hover test is red-green verified: it fails with theColumn.tsxchange reverted and passes with it restored. The null-description case is a guard that passes either way.tscclean.Checklist
🤖 Generated with Claude Code
Summary by cubic
Show column descriptions on hover in the v3 lineage graph so users can understand fields without leaving the graph. Previously column nodes showed only the name with an
antdellipsis tooltip; now we show the source description and repeat the column name in the tooltip, suppressing the ellipsis tooltip when a description exists.descriptionin thelineageSchemaFieldGraphQL fragment and plumb it throughColumnAssetviaEntityRegistry.Written for commit 34b2c1b. Summary will update on new commits.