-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Table and Column Lineage Lists #969
Conversation
const columnLineage = (<GetColumnLineageResponse>action).payload.lineage; | ||
const { columnName } = (<GetColumnLineageResponse>action).payload; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might combine these two in one?
const columnLineage = (<GetColumnLineageResponse>action).payload.lineage; | |
const { columnName } = (<GetColumnLineageResponse>action).payload; | |
const { columnName, columnLineage: lineage } = (<GetColumnLineageResponse>action).payload; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Haven't used this before. Thanks
import { connect } from 'react-redux'; | ||
|
||
import { GlobalState } from 'ducks/rootReducer'; | ||
import * as React from 'react'; | ||
import { emptyLineage } from 'ducks/tableMetadata/reducer'; | ||
|
||
import { getColumnLineageLink } from 'config/config-utils'; | ||
import './styles.scss'; | ||
import { Lineage, TableMetadata } from 'interfaces/TableMetadata'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: I would order it differntly:
import { connect } from 'react-redux'; | |
import { GlobalState } from 'ducks/rootReducer'; | |
import * as React from 'react'; | |
import { emptyLineage } from 'ducks/tableMetadata/reducer'; | |
import { getColumnLineageLink } from 'config/config-utils'; | |
import './styles.scss'; | |
import { Lineage, TableMetadata } from 'interfaces/TableMetadata'; | |
import * as React from 'react'; | |
import { connect } from 'react-redux'; | |
import { GlobalState } from 'ducks/rootReducer'; | |
import { emptyLineage } from 'ducks/tableMetadata/reducer'; | |
import { getColumnLineageLink } from 'config/config-utils'; | |
import { Lineage, TableMetadata } from 'interfaces/TableMetadata'; | |
import './styles.scss'; | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One of the artifacts of using "alt+enter" to import a dep is that it seems to place it somewhat randomly. Will clean up.
amundsen_application/static/js/features/ColumnList/ColumnLineage/index.tsx
Outdated
Show resolved
Hide resolved
|
||
export class ColumnLineageList extends React.Component<Props> { | ||
renderLineageLinks(entity, index) { | ||
if (index >= 5) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why 5? Could we make this number a constant with a name that explains itself?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right, I forgot to put this into a constant.
amundsen_application/static/js/features/ColumnList/ColumnLineage/index.tsx
Outdated
Show resolved
Hide resolved
amundsen_application/static/js/features/ColumnList/ColumnLineage/index.tsx
Outdated
Show resolved
Hide resolved
amundsen_application/static/js/features/ColumnList/ColumnLineage/index.tsx
Outdated
Show resolved
Hide resolved
<span className="title-3">Top 5 Downstream Columns </span> | ||
<a href={externalLink} rel="noreferrer" target="_blank"> | ||
See More | ||
</a> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comments as above.
This might signal a common component? Something like
amundsen_application/static/js/features/ColumnList/ColumnLineage/index.tsx
Outdated
Show resolved
Hide resolved
amundsen_application/static/js/features/ColumnList/ColumnLineage/styles.scss
Outdated
Show resolved
Hide resolved
amundsen_application/static/js/features/ColumnList/ColumnLineage/styles.scss
Outdated
Show resolved
Hide resolved
amundsen_application/static/js/features/ColumnList/ColumnLineage/styles.scss
Outdated
Show resolved
Hide resolved
amundsen_application/static/js/pages/TableDetailPage/LineageList/index.tsx
Outdated
Show resolved
Hide resolved
> | ||
<div className="resource-info"> | ||
<div className="resource-info-text my-auto"> | ||
<div className="resource-name title-2"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We would use @extend %text-title-w2;
in the styles file instead
{!!table.badges && table.badges.length > 0 && ( | ||
<div> | ||
<div className="body-secondary-3"> | ||
<BadgeList badges={badges} /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe @extend %text-body-w3;
</div> | ||
</div> | ||
)} | ||
<img className="icon icon-right" alt="" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are moving out of these icons too, I guess RightIcon
is the way to go now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't notice those before. Btw how do we style a ? Here we only want to show this arrow when hovered, but the component doesn't have a className on the root element like className="right-icon"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good overall!
I usually prefer to see the tests at the same time, but this will do!
amundsen_application/static/js/pages/TableDetailPage/LineageList/index.tsx
Outdated
Show resolved
Hide resolved
amundsen_application/static/js/pages/TableDetailPage/LineageList/index.tsx
Outdated
Show resolved
Hide resolved
@Golodhros @verdan Feel free to take another look when you have time. |
@@ -349,7 +349,14 @@ body { | |||
|
|||
.body-link { | |||
color: $brand-color-4; | |||
font-size: 14px; | |||
font-size: 16px; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's use $font-size-large instead
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thanks!!
Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
- refactored links to use 'body-link' class Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
Signed-off-by: Daniel Won <dwon@lyft.com>
👍 |
@danwom cool cool cool! |
🤣 |
Nice! |
Summary of Changes
Added support for configurable table and column level lineage. Table lineage appears as
upstream
anddownstream
tabs in the table details page. Column lineage appears as a small list when columns details are expanded.Tests
Tests are WIP. Will be added to this PR soon.
Documentation
CheckList
Make sure you have checked all steps below to ensure a timely review.