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

[Connector Builder] Configuration UI MVP #20008

Merged
merged 56 commits into from
Dec 12, 2022
Merged
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
699470e
move connector builder components into the same shared components/con…
lmossman Dec 1, 2022
827532b
move diff over from poc branch
lmossman Dec 1, 2022
4899673
save current progress
lmossman Dec 3, 2022
a1b62f1
add modal for adding streams
lmossman Dec 3, 2022
39e8ba8
focus stream after adding and reset button style
lmossman Dec 5, 2022
2352ef9
add reset confirm modal and select view on add
lmossman Dec 6, 2022
df492fa
style global config and streams buttons
lmossman Dec 6, 2022
5a99c7a
styling improvements
lmossman Dec 6, 2022
62fc08c
handle long stream names better
lmossman Dec 6, 2022
7b26b78
pull in connector manifest schema directly
lmossman Dec 6, 2022
71a88f1
add box shadows to resizable panels
lmossman Dec 6, 2022
d7bee54
upgrade orval and use connector manifest schema directly
lmossman Dec 6, 2022
162ecf2
remove airbyte protocol from connector builder api spec
lmossman Dec 6, 2022
def60b0
Merge branch 'master' into lmossman/use-connector-manifest-schema-dir…
lmossman Dec 6, 2022
ff9aa76
generate python models from openapi change
lmossman Dec 6, 2022
3678956
merge with lmossman/use-connector-manifest-schema-directly
lmossman Dec 6, 2022
b16d4a8
fix position of yaml toggle
lmossman Dec 6, 2022
67fb9dd
handle no stream case with better looking message
lmossman Dec 7, 2022
bb42007
group global fields into single object and fix console error
lmossman Dec 7, 2022
9bb1812
confirmation modal on toggling dirty form + cleanup
lmossman Dec 7, 2022
587ca2f
merge with master
lmossman Dec 7, 2022
81cf108
fix connector name display
lmossman Dec 7, 2022
094a045
undo change to manifest schema
lmossman Dec 7, 2022
d1c8c80
remove commented code
lmossman Dec 7, 2022
aebac20
remove unnecessary change
lmossman Dec 7, 2022
1e39be4
fix spacing
lmossman Dec 7, 2022
09cf875
use shadow mixin for connector img
lmossman Dec 7, 2022
ec65d67
add comment about connector img
lmossman Dec 7, 2022
603820a
change onSubmit to no-op
lmossman Dec 8, 2022
cb2f299
remove console log
lmossman Dec 8, 2022
d1672a0
clean up styling
lmossman Dec 8, 2022
7255784
simplify sidebar to remove StreamSelectButton component
lmossman Dec 8, 2022
65cd42b
swap colors of toggle
lmossman Dec 8, 2022
10d7893
move FormikPatch to src/core/form
lmossman Dec 8, 2022
fc89001
move types up to connectorBuilder/ level
lmossman Dec 8, 2022
24eaaff
use grid display for ui yaml toggle button
lmossman Dec 8, 2022
de604f6
use spread instead of setting array index directly
lmossman Dec 8, 2022
e696e57
add intl in missing places
lmossman Dec 8, 2022
5952f70
merge with master
lmossman Dec 8, 2022
b7c08f6
pull connector manifest schema in through separate openapi spec
lmossman Dec 8, 2022
d6f10b4
use correct intl string id
lmossman Dec 9, 2022
5ffe20e
throttle setting json manifest in yaml editor
lmossman Dec 9, 2022
b82ba2a
use button prop instead of manually styling
lmossman Dec 9, 2022
b9580b4
consolidate AddStreamButton styles
lmossman Dec 9, 2022
1587243
fix sidebar flex styles
lmossman Dec 9, 2022
62a60e5
use specific flex properties instead of flex
lmossman Dec 9, 2022
092821d
clean up download and reset button styles
lmossman Dec 10, 2022
7b8dec8
use row-reverse for yaml editor download button
lmossman Dec 10, 2022
6d68db9
fix stream selector styles to remove margins
lmossman Dec 10, 2022
91bc357
give connector setup guide panel same corner and shadow styles
lmossman Dec 10, 2022
4ffb969
remove blur from page display
lmossman Dec 10, 2022
70afdf8
set view to stream when selected in test panel
lmossman Dec 10, 2022
f656506
add placeholder when stream name is empty
lmossman Dec 10, 2022
c437d30
switch to index-based stream selection to preserve testing panel sele…
lmossman Dec 10, 2022
3cdbc70
handle empty name in stream selector
lmossman Dec 10, 2022
b4e96ec
merge with master
lmossman Dec 12, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions airbyte-webapp/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,4 @@ storybook-static/
# Ignore generated API clients, since they're automatically generated
/src/core/request/AirbyteClient.ts
/src/core/request/ConnectorBuilderClient.ts
/src/core/request/ConnectorManifest.ts
17 changes: 17 additions & 0 deletions airbyte-webapp/orval.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,21 @@ export default defineConfig({
},
},
},
connectorManifest: {
input: "./src/services/connectorBuilder/connector_manifest_openapi.yaml",
output: {
target: "./src/core/request/ConnectorManifest.ts",
prettier: true,
override: {
header: (info) => [
`eslint-disable`,
`Generated by orval 🍺`,
`Do not edit manually. Run "npm run generate-client" instead.`,
...(info.title ? [info.title] : []),
...(info.description ? [info.description] : []),
...(info.version ? [`OpenAPI spec version: ${info.version}`] : []),
],
},
},
},
});
52 changes: 52 additions & 0 deletions airbyte-webapp/public/images/octavia/pointing.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,44 +1,45 @@
@use "scss/colors";
@use "scss/variables";

.content {
display: flex;
height: 340px;
}

.actions, .description {
display: flex;
flex-direction: column;
padding: variables.$spacing-xl;
}

.actions {
flex: 0 0 300px;

.radioButton + .radioButton {
margin-top: variables.$spacing-xl;
}

.input {
position: relative;
margin: variables.$spacing-xl 0 0 variables.$spacing-xl;

.errorMessage {
position: absolute;
bottom: -16px;
left: 0;
color: colors.$red-600;
}
}
}

.description {
overflow: auto;
flex: 1 0 0;
background-color: colors.$grey-50;

.generalInfo {
color: colors.$grey;
margin: variables.$spacing-lg 0;
}
}
@use "scss/colors";
@use "scss/variables";

.content {
display: flex;
height: 340px;
}

.actions,
.description {
display: flex;
flex-direction: column;
padding: variables.$spacing-xl;
}

.actions {
flex: 0 0 300px;

.radioButton + .radioButton {
margin-top: variables.$spacing-xl;
}

.input {
position: relative;
margin: variables.$spacing-xl 0 0 variables.$spacing-xl;

.errorMessage {
position: absolute;
bottom: -16px;
left: 0;
color: colors.$red-600;
}
}
}

.description {
overflow: auto;
flex: 1 0 0;
background-color: colors.$grey-50;

.generalInfo {
color: colors.$grey;
margin: variables.$spacing-lg 0;
}
}
Original file line number Diff line number Diff line change
@@ -1,50 +1,52 @@
@use "scss/colors";
@use "scss/variables";

.exampleSettingsTable {
border-spacing: 0;
border-collapse: separate;

tr {
th, td {
padding: variables.$spacing-md;
border-style: solid;
border-color: colors.$dark-blue-50;
border-width: 0 variables.$border-thin variables.$border-thin 0;
}

th {
border-top-width: variables.$border-thin;
background-color: colors.$dark-blue-50;
text-align: left;

.text {
color: colors.$grey-600;
}
}

td {
background-color: colors.$white;

&:first-child, th:first-child {
border-left-width: variables.$border-thin;
}
}

&:first-child th:first-child {
border-top-left-radius: variables.$border-radius-xs;
}

&:first-child th:last-child {
border-top-right-radius: variables.$border-radius-xs;
}

&:last-child td:first-child {
border-bottom-left-radius: variables.$border-radius-xs;
}

&:last-child td:last-child {
border-bottom-right-radius: variables.$border-radius-xs;
}
}
}
@use "scss/colors";
@use "scss/variables";

.exampleSettingsTable {
border-spacing: 0;
border-collapse: separate;

tr {
th,
td {
padding: variables.$spacing-md;
border-style: solid;
border-color: colors.$dark-blue-50;
border-width: 0 variables.$border-thin variables.$border-thin 0;
}

th {
border-top-width: variables.$border-thin;
background-color: colors.$dark-blue-50;
text-align: left;

.text {
color: colors.$grey-600;
}
}

td {
background-color: colors.$white;

&:first-child,
th:first-child {
border-left-width: variables.$border-thin;
}
}

&:first-child th:first-child {
border-top-left-radius: variables.$border-radius-xs;
}

&:first-child th:last-child {
border-top-right-radius: variables.$border-radius-xs;
}

&:last-child td:first-child {
border-bottom-left-radius: variables.$border-radius-xs;
}

&:last-child td:last-child {
border-bottom-right-radius: variables.$border-radius-xs;
}
}
}
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
@use "scss/colors";
@use "scss/variables";
.content {
display: flex;
flex-direction: column;
margin: variables.$spacing-xl;
}
.description {
color: colors.$grey;
margin-bottom: variables.$spacing-xl;
}
.radioButton + .radioButton {
margin-top: variables.$spacing-xl;
}
.input {
position: relative;
margin: variables.$spacing-xl 0 variables.$spacing-xl variables.$spacing-xl;
.errorMessage {
position: absolute;
bottom: -16px;
left: 0;
color: colors.$red-600;
}
}
@use "scss/colors";
@use "scss/variables";

.content {
display: flex;
flex-direction: column;
margin: variables.$spacing-xl;
}

.description {
color: colors.$grey;
margin-bottom: variables.$spacing-xl;
}

.radioButton + .radioButton {
margin-top: variables.$spacing-xl;
}

.input {
position: relative;
margin: variables.$spacing-xl 0 variables.$spacing-xl variables.$spacing-xl;

.errorMessage {
position: absolute;
bottom: -16px;
left: 0;
color: colors.$red-600;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
@use "scss/variables";
@use "scss/colors";

$buttonWidth: 26px;

.body {
display: flex;
flex-direction: column;
gap: variables.$spacing-xl;
}

.addButton {
lmossman marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Contributor

Choose a reason for hiding this comment

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

I think it's OK for now, but I don't like how much you need to fight the stylings of the underlying button component.

It seems like it would be possible to make the round icon button a prop on the regular button - this way you don't need to overrule styles with !important but you can selectively apply the right styles in the right moment.

If you think that makes sense I can create an issue for it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah I think that makes sense - having a prop on the button to easily make it round would be really nice here. If you could create an issue for that, that would be great!

width: $buttonWidth;
height: $buttonWidth !important;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
padding: 9px !important;
}
Loading