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

🪟 🧹 Implement ColumnSortButton component #17798

Merged
merged 32 commits into from
Oct 19, 2022

Conversation

YatsukBogdan1
Copy link
Contributor

@YatsukBogdan1 YatsukBogdan1 commented Oct 10, 2022

What

Close #17062 and #17491

How

There was already a codebase prepared for this, but it wasn't organized into a single component, so this PR adds a new SortableHeaderComponent that is located inside ui/Table folder

Screenshot 2022-10-17 at 18 25 13

@YatsukBogdan1 YatsukBogdan1 requested a review from a team as a code owner October 10, 2022 18:56
@github-actions github-actions bot added area/platform issues related to the platform area/frontend Related to the Airbyte webapp labels Oct 10, 2022
@timroes
Copy link
Collaborator

timroes commented Oct 12, 2022

Please still add a more descriptive PR description to this including some screenshots.

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.

Tested changes locally, and looks good. Left some comments about the location and some improvements to the file.

lowToLarge: boolean;
}

export const ColumnSortButton: React.FC<ColumnSortButtonProps> = ({
Copy link
Contributor

Choose a reason for hiding this comment

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

This is not just the button but also contains the text of the heading, the name should be SortableTableHeader. This should also be part of the Table export, so it's probably best if it goes into components/ui/Table

lowToLarge,
}) => (
<button className={styles.sortButton} onClick={onClick}>
<FormattedMessage id={formattedMessageId} />
Copy link
Contributor

Choose a reason for hiding this comment

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

The preference is not to pass the messageId but instead just pass the content, so one suggestion is to make this {children} and let the user of this component add <FormattedMessage id="...." /> as the child.

lowToLarge: boolean;
}

export const ColumnSortButton: React.FC<ColumnSortButtonProps> = ({
Copy link
Contributor

Choose a reason for hiding this comment

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

If we're using the children as suggested below, in order to make this compatible with React 18:

Suggested change
export const ColumnSortButton: React.FC<ColumnSortButtonProps> = ({
export const ColumnSortButton: React.FC<React.PropsWithChildren<ColumnSortButtonProps>> = ({

}) => (
<button className={styles.sortButton} onClick={onClick}>
<FormattedMessage id={formattedMessageId} />
<SortIcon wasActive={wasActive} lowToLarge={lowToLarge} />
Copy link
Contributor

Choose a reason for hiding this comment

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

Is it necessary to have a sort icon component file? It looks like it's very simple and it could be implemented here.

@YatsukBogdan1 YatsukBogdan1 changed the title Implement ColumnSortButton component 🪟 🧹 Implement ColumnSortButton component Oct 17, 2022
… formattedMessageId property into using render content as children directly; Removes minor SortIcon component
airbyte-webapp/src/App.tsx Outdated Show resolved Hide resolved
Comment on lines 9 to 10
wasActive: boolean;
lowToLarge: boolean;
Copy link
Contributor

Choose a reason for hiding this comment

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

I noticed that these names came from the old component but they could be more clear:

wasActive => isActive
lowToLarge => isAscending

Copy link
Contributor

Choose a reason for hiding this comment

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

Agree, need to rename this couple

@dizel852
Copy link
Contributor

Reviewed the PR after fixes due to @edmundito comments

Code - LGTM.
Need to fix the last two comments(code suggestion and prop renaming)
Also tested locally(Chrome) - seems like all work as should

YatsukBogdan1 and others added 17 commits October 18, 2022 16:03
Co-authored-by: Edmundo Ruiz Ghanem <[email protected]>
* Checks for iterator hasNext element

* Fix linter with newline
* Add Message Migration to Destination Connection Checks

* Fix test setup
* Update workflow

* Update trigger rules

* fix: Update release workflow with abillity to add tags

* Update workflow
…ined (#18060)

* fix

* Add missing test

* remove prints

* extract to method

* rename

* Add missing test

* rename

* bump
* add test

* fix chart.yaml
* 16250 Destination Redis: Add SSH support

* 16250 Resolve port issue

* 11679 Bump version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <[email protected]>
* Bump helm chart version reference to 0.40.20

* remove binary

Co-authored-by: xpuska513 <[email protected]>
Co-authored-by: Kyryl Skobylko <[email protected]>
* Support annotations for airbyte-server as well, update version and update docs.

* Fix auto-indent.

Co-authored-by: Kyryl Skobylko <[email protected]>
* test [ci skip]

* Autogenerated files

* Add missing annotation

* Remove unused json2Schema block from worker

* Move tess

* Missing deps and format

* Fix test build

* TMP

* Add missing dependencies

* PR comments

* Tmp

* [ci skip] Tmp

* Fix acceptance test and add the seed dependency

* Fix build

* For diff

* tmp

* Build pass

* make the worker to be  on the platform only

* fix setting.yaml

* Fix pmd

* Fix Cron

* Add chart

* Fix cron

* Fix server build.gradle

* Fix jar conflict

* PR comments

* Add cron micronaut environemnt
@CLAassistant
Copy link

CLAassistant commented Oct 18, 2022

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
16 out of 17 committers have signed the CLA.

✅ terencecho
✅ YatsukBogdan1
✅ evantahler
✅ gosusnp
✅ ryankfu
✅ xpuska513
✅ Amruta-Ranade
✅ benmoriceau
✅ suhomud
✅ artem1205
✅ sfc-gh-pkommini
✅ brianjlai
✅ davydov-d
✅ alexander-marquardt
✅ mfsiega-airbyte
✅ girarda
❌ github-actions[bot]
You have signed the CLA already but the status is still pending? Let us recheck it.

@github-actions
Copy link
Contributor

NOTE ⚠️ Changes in this PR affect the following connectors. Make sure to run corresponding integration tests:

  • source-facebook-marketing
  • source-delighted
  • destination-dev-null
  • source-sentry
  • source-chargebee
  • source-notion
  • destination-jdbc
  • source-plaid
  • source-mssql-strict-encrypt
  • destination-mongodb-strict-encrypt
  • destination-rockset
  • source-clickhouse
  • source-db2-strict-encrypt
  • destination-csv
  • source-braintree
  • destination-keen
  • destination-clickhouse-strict-encrypt
  • destination-clickhouse
  • source-linnworks
  • source-klaviyo
  • source-greenhouse
  • source-appsflyer
  • source-pipedrive
  • source-amazon-ads
  • destination-mariadb-columnstore
  • source-zendesk-sunshine
  • source-paystack
  • source-jdbc
  • destination-redshift
  • source-zenloop
  • source-google-search-console
  • source-cart
  • source-gitlab
  • source-harvest
  • source-onesignal
  • destination-tidb
  • source-redshift
  • destination-azure-blob-storage
  • source-twilio
  • source-salesloft
  • source-mssql
  • source-tidb
  • destination-e2e-test
  • source-sendgrid
  • source-mongodb-strict-encrypt
  • source-e2e-test-cloud
  • destination-redis
  • source-kafka
  • source-youtube-analytics
  • destination-mssql-strict-encrypt
  • destination-elasticsearch
  • source-oracle-strict-encrypt
  • source-monday
  • source-freshservice
  • source-alloydb
  • source-amazon-seller-partner
  • destination-oracle-strict-encrypt
  • source-instagram
  • source-cockroachdb-strict-encrypt
  • source-quickbooks-singer
  • source-prestashop
  • source-amazon-sqs
  • destination-mongodb
  • source-pinterest
  • destination-meilisearch
  • source-elasticsearch
  • source-e2e-test
  • source-alloydb-strict-encrypt
  • source-postgres
  • source-iterable
  • source-snowflake
  • destination-bigquery-denormalized
  • source-lemlist
  • destination-r2
  • destination-mqtt
  • source-drift
  • destination-oracle
  • source-bigquery
  • source-facebook-pages
  • destination-pulsar
  • destination-databricks
  • destination-snowflake
  • destination-mysql
  • source-mailgun
  • destination-gcs
  • source-zendesk-talk
  • source-azure-table
  • source-surveymonkey
  • source-lever-hiring
  • source-mysql-strict-encrypt
  • source-strava
  • source-mongodb-v2
  • source-posthog
  • source-tplcentral
  • source-mailchimp
  • source-relational-db
  • source-freshcaller
  • source-amplitude
  • destination-dynamodb
  • destination-s3
  • destination-pubsub
  • source-clickhouse-strict-encrypt
  • source-google-ads
  • destination-mssql
  • source-cockroachdb
  • source-sftp
  • source-commercetools
  • source-asana
  • destination-mysql-strict-encrypt
  • destination-bigquery
  • destination-elasticsearch-strict-encrypt
  • source-retently
  • source-scaffold-java-jdbc
  • destination-kinesis
  • source-outreach
  • source-freshsales
  • destination-postgres-strict-encrypt
  • source-mysql
  • destination-postgres
  • destination-local-json
  • source-airtable
  • source-db2
  • source-pardot
  • destination-kafka
  • source-salesforce
  • source-oracle
  • destination-cassandra
  • source-okta
  • source-openweather
  • source-postgres-strict-encrypt
  • source-confluence
  • destination-scylla
  • source-github
  • source-recharge

@edmundito edmundito removed request for a team October 18, 2022 17:15
@YatsukBogdan1 YatsukBogdan1 merged commit 444f060 into master Oct 19, 2022
@YatsukBogdan1 YatsukBogdan1 deleted the byatsuk/feature-create-sort-column-button branch October 19, 2022 19:55
jhammarstedt pushed a commit to jhammarstedt/airbyte that referenced this pull request Oct 31, 2022
* Implement ColumnSortButton component

* Updates component name; Moves component to ui/Table folder; Refactors formattedMessageId property into using render content as children directly; Removes minor SortIcon component

* Update airbyte-webapp/src/App.tsx

Co-authored-by: Edmundo Ruiz Ghanem <[email protected]>

* Updates next properties: wasActive -> isActive, lowToLarge -> isAscending

* Skip psql stop in acceptance test for gke (airbytehq#18023)

* Checks for iterator hasNext element (airbytehq#18041)

* Checks for iterator hasNext element

* Fix linter with newline

* Add Message Migration to Destination Connection Checks (airbytehq#17954)

* Add Message Migration to Destination Connection Checks

* Fix test setup

* Update helm release workflow (airbytehq#18048)

* Update workflow

* Update trigger rules

* fix: Update release workflow with abillity to add tags

* Update workflow

* Remove unused `airbyte-cli` (airbytehq#18009)

* 🐛  [low-code] $options shouldn't overwrite values that are already defined (airbytehq#18060)

* fix

* Add missing test

* remove prints

* extract to method

* rename

* Add missing test

* rename

* bump

* Update helm chart comments (airbytehq#18072)

* Update helm charts (airbytehq#18073)

* add test

* fix chart.yaml

* 16250 Destination Redis: Add SSH support (airbytehq#17951)

* 16250 Destination Redis: Add SSH support

* 16250 Resolve port issue

* 11679 Bump version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <[email protected]>

* Bump helm chart version reference to 0.40.20 (airbytehq#18074)

* Bump helm chart version reference to 0.40.20

* remove binary

Co-authored-by: xpuska513 <[email protected]>
Co-authored-by: Kyryl Skobylko <[email protected]>

* Helm Chart: Create service annotations for airbyte-server (airbytehq#17932)

* Support annotations for airbyte-server as well, update version and update docs.

* Fix auto-indent.

Co-authored-by: Kyryl Skobylko <[email protected]>

* Bmoric/remove dep server worker (airbytehq#17894)

* test [ci skip]

* Autogenerated files

* Add missing annotation

* Remove unused json2Schema block from worker

* Move tess

* Missing deps and format

* Fix test build

* TMP

* Add missing dependencies

* PR comments

* Tmp

* [ci skip] Tmp

* Fix acceptance test and add the seed dependency

* Fix build

* For diff

* tmp

* Build pass

* make the worker to be  on the platform only

* fix setting.yaml

* Fix pmd

* Fix Cron

* Add chart

* Fix cron

* Fix server build.gradle

* Fix jar conflict

* PR comments

* Add cron micronaut environemnt

* Updated connector catalog page (airbytehq#18076)

* Move the port forward outside of the main docker-compose (airbytehq#17864)

* Bump Airbyte version from 0.40.14 to 0.40.15 (airbytehq#17970)

Co-authored-by: benmoriceau <[email protected]>

* 🎉 Source Shopify: Add metafield streams (airbytehq#17962)

* 🎉 Source Shopify: Add metafield streams

* Source Shopify: fix unittest

* Source Shopify: docs update

* Source Shopify: fix backward compatibility test

* Source Shopify: fix schemas

* Source Shopify: fix state filter

* Source Shopify: refactor & optimize

* Source Shopify: fix test privileges

* Source Shopify: fix stream filter

* Source Shopify: fix streams

* Source Shopify: update abnormal state

* Source Shopify: fix abnormal state streams

* Source Shopify: fix streams

* updated methods, formated code

* Source Shopify: typo fix

* auto-bump connector version

Co-authored-by: Oleksandr Bazarnov <[email protected]>
Co-authored-by: Octavia Squidington III <[email protected]>

* fix check for streams that do not use a stream slicer (airbytehq#18080)

* fix check for streams that do not use a stream slicer

* increment version and changelog before publish

* tolerate database nulls in webhook operation configs (airbytehq#18084)

* Implement webhook operation in the sync workflow (airbytehq#18022)

Implements the webhook operation as part of the sync workflow.

- Introduces the new activity implementation
- Updates the various interfaces that pass input to get the relevant configs to the sync workflow
- Hooks the new activity into the sync workflow
- Passes the webhook configs along into the sync workflow job

* Bump helm chart version reference to 0.40.22 (airbytehq#18077)

* Added new "filters" python file, along with a "hash" filter. This can… (airbytehq#18000)

* Added new "filters" python file, along with a "hash" filter. This can be extended to include other custom filters in the future.

* Added additional comments

* Moved usage of the hash_obj inside the conditional that confirms it exists

* Moved the hash function call inside a condition to ensure that it exists

* Fixed the application of the salt , so that it does not modify the hash unless it is actually passed in.

* Added unit tests to validate new jinja hash functionality

* Updated unit test to pass numeric value as a float instead of string

* Removed unreferenced import to pytest

* Updated version

* format

* format

* format

* format

* format

Co-authored-by: Alexandre Girard <[email protected]>

* Bump helm chart version reference to 0.40.24 (airbytehq#18081)

* Bump helm chart version reference to 0.40.24

* Update .gitignore

Co-authored-by: benmoriceau <[email protected]>
Co-authored-by: Kyryl Skobylko <[email protected]>

* SATs: allow new records in a sequential read for full refresh test (airbytehq#17660)

* SATs: allow new records in a sequential read for full refresh test

* SATs: upd changelog

* SATs: change the output when failing full refresh test

* SATs: upd according to code review

* Source facebook-marketing: remove `pixel` from custom conversions stream (airbytehq#18045)

* airbytehq#744 source facebook-marketing: rm pixel from custom conversions stream

* airbytehq#744 source fb marketing: upd changelog

* airbytehq#744 source facebook-marketing - add custom_conversions to the test catalog

* auto-bump connector version

Co-authored-by: Octavia Squidington III <[email protected]>

* #17506 fix klaviyo & marketo expected_records (airbytehq#18101)

Co-authored-by: Edmundo Ruiz Ghanem <[email protected]>
Co-authored-by: terencecho <[email protected]>
Co-authored-by: Ryan Fu <[email protected]>
Co-authored-by: Jimmy Ma <[email protected]>
Co-authored-by: Kyryl Skobylko <[email protected]>
Co-authored-by: Evan Tahler <[email protected]>
Co-authored-by: Alexandre Girard <[email protected]>
Co-authored-by: Yevhen Sukhomud <[email protected]>
Co-authored-by: Octavia Squidington III <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: xpuska513 <[email protected]>
Co-authored-by: Prasanth <[email protected]>
Co-authored-by: Benoit Moriceau <[email protected]>
Co-authored-by: Amruta Ranade <[email protected]>
Co-authored-by: Octavia Squidington III <[email protected]>
Co-authored-by: benmoriceau <[email protected]>
Co-authored-by: Artem Inzhyyants <[email protected]>
Co-authored-by: Oleksandr Bazarnov <[email protected]>
Co-authored-by: Brian Lai <[email protected]>
Co-authored-by: Michael Siega <[email protected]>
Co-authored-by: Alexander Marquardt <[email protected]>
Co-authored-by: Denys Davydov <[email protected]>
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 team/platform-move
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create common sortable column button