1
0
mirror of synced 2026-01-09 15:05:02 -05:00
Files
airbyte/airbyte-webapp
Alex Birdsall 1dbad96511 🪟 🎉 Select dbt jobs with dropdown (#19502)
* Add wrapper for cloud dbt endpoint

Also includes a cheeky little test usage which probably should have had
a name starting with an underscore (I did not commit the test code which
added the new variable's contents to `(window as any).availableJobs`, on
grounds that it was very ugly, but I did want to have the import and
call of the wrapper function hit the git history here).

* Add dbt Cloud jobs via dropdown (WIP: breaks if no integration)

Selecting job from dropdown adds it to saved jobs, but the new endpoint
is unconditionally called even though it will always throw an error for
users with no dbt Cloud integration configured.

* Refactor to stop errors in non-dbt-integrated workspaces

Well, I suppose throwing a runtime error for every connection which
could support dbt Cloud jobs but is part of a workspace with no
integration set up, but that doesn't exactly seem ideal.

Instead, this pulls all logic out of the top-level card except for
pulling the dbt Cloud integration information; then it delegates the
rest to either of two fairly self-contained components,
`NoDbtIntegration` or the new `DbtJobsForm`. The immediate benefit is
that I have a nice component boundary in which I can unconditionally
run dbt-Cloud-only logic to fetch available jobs.

* Filter already-selected jobs out of dropdown

* Use dbt's jobNames and read-only {account,job}Id in job list

* Remove obsolete yup validations for dbt Cloud jobs

Since the values are now supplied by dbt Cloud via API, the user no
longer has to manually input anything; and this sudden lack of user
input rather obviates the need to validate user input.

* Add button loading state when saving dbt Cloud jobs
2022-11-17 11:47:24 -08:00
..
2022-11-04 08:30:11 -04:00
2022-09-01 15:16:30 +02:00
2022-11-17 11:47:24 -08:00
2022-11-09 13:07:26 -08:00
2022-10-03 17:43:14 +02:00
2022-06-10 17:07:57 +02:00
2022-09-16 13:05:23 -04:00
2022-10-03 17:43:14 +02:00
2022-11-16 10:17:31 +01:00
2022-11-16 10:17:31 +01:00
2022-03-13 14:45:36 -07:00

airbyte-webapp

This module contains the Airbyte Webapp. It is a React app written in TypeScript. It runs in a Docker container. A very lightweight nginx server runs in that Docker container and serves the webapp.

This project was bootstrapped with Create React App.

Available Scripts

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

npm test

Launches the test runner in the interactive watch mode.

npm run build

Builds the app for production to the build folder.

VERSION=yourtag ./gradlew :airbyte-webapp:assemble

Builds the app and Docker image and tags the image with yourtag. Note: needs to be run from the root directory of the Airbyte project.

Entrypoints

  • airbyte-webapp/src/App.tsx is the entrypoint into the OSS version of the webapp.
  • airbyte-webapp/src/packages/cloud/App.tsx is the entrypoint into the Cloud version of the webapp.