Skip to content
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

New Streams Table Column Sizing Fix #20141

Merged
merged 36 commits into from
Jan 5, 2023
Merged

Conversation

krishnaglick
Copy link
Contributor

What

Resolves #17937

How

Explicitly sets the widths for the columns, and prevents growing and shrinking.
Cleans up Cell component properties

@krishnaglick krishnaglick requested a review from a team as a code owner December 6, 2022 16:04
@octavia-squidington-iv octavia-squidington-iv added area/platform issues related to the platform area/frontend Related to the Airbyte webapp labels Dec 6, 2022
word-break: break-word;
color: ${({ theme, light, lighter }) => (light ? theme.greyColor40 : lighter ? theme.greyColor60 : "inherit")};
font-weight: ${({ light, lighter }) => (light || lighter ? "normal" : "inherit")};
color: ${({ theme, light }) => (light ? theme.greyColor60 : "inherit")};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

light was unused so I renamed lighter to light and removed the light functionality.

@krishnaglick
Copy link
Contributor Author

Did a timebox on repeating this on the old table. It's a touch more complex than the new table use-case and I don't feel it's worth more time.

@@ -9,7 +9,7 @@ import { useConnectionFormService } from "hooks/services/ConnectionForm/Connecti

import styles from "./CatalogTreeSubheader.module.scss";

const SubtitleCell = styled(Cell).attrs(() => ({ lighter: true }))`
const SubtitleCell = styled(Cell).attrs(() => ({ light: true }))`
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was not caught by the rename! Can't wait to get rid of styled components.

children,
}) => {
return <div className={classNames(styles.tableCell, sizeMap[size])}>{children}</div>;
};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New cell component for these tables

@@ -1,9 +1,10 @@
.container {
margin-bottom: 29px;
max-height: 600px;
overflow-y: auto;
min-width: fit-content;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely core to this working.


.tableCell {
flex: 0 0 $medium;
min-width: $medium;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to pair this with the flex-basis for it to work.

Copy link
Contributor

@edmundito edmundito left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! I tested with the new table and the old table as well as bulk edit for both.

Unfortunately, there's one more thing. While expanding the old table with the fields, I found this:
image

@krishnaglick
Copy link
Contributor Author

Looks great! I tested with the new table and the old table as well as bulk edit for both.

Unfortunately, there's one more thing. While expanding the old table with the fields, I found this: image

Looks like setting the CatalogTree to overflow: auto; in the old view fixes that so I've added it!

@edmundito
Copy link
Contributor

Tested it and found an issue with the old and new table:
When I disable the connection, it collapses the checkbox:
image

@krishnaglick
Copy link
Contributor Author

Tested it and found an issue with the old and new table: When I disable the connection, it collapses the checkbox: image

This issue exists in prod so I made a ticket.

@edmundito
Copy link
Contributor

edmundito commented Jan 3, 2023

I tested again and it looks good despite the checkbox issue. One thing I noticed is that the table headers were always visible, but they're not anymore. Was this a conscious decision?

@krishnaglick
Copy link
Contributor Author

I tested again and it looks good despite the checkbox issue. One thing I noticed is that the table headers were always visible, but they're not anymore. Was this a conscious decision?

This is likely due to needed to move the header into the same containing div as the body so the flex-width matched. So it was not explicitly done but is likely not an easy revert.

Copy link
Contributor

@edmundito edmundito left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Tested both tables locally.

Discussed with @krishnaglick about not having sticky headers for now and making any other detail improvements separately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/frontend Related to the Airbyte webapp area/platform issues related to the platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.

New connection streams table design pass
5 participants