Skip to content
This repository was archived by the owner on Feb 23, 2024. It is now read-only.

Conversation

@dinhtungdu
Copy link
Member

@dinhtungdu dinhtungdu commented Sep 8, 2022

This PR adds inner block support to the Filter by Attributes block and fixes the inner block rendering on the front end.

The refactor introduced in this PR should be applied to other filter blocks if this PR is merged into the main feature branch.

Note: E2E tests are failed and it's expected.

@github-actions
Copy link
Contributor

github-actions bot commented Sep 8, 2022

The release ZIP for this PR is accessible via:

https://wcblocks.wpcomstaging.com/wp-content/uploads/woocommerce-gutenberg-products-block-7101.zip

@github-actions
Copy link
Contributor

github-actions bot commented Sep 8, 2022

Size Change: -1.39 kB (0%)

Total Size: 881 kB

Filename Size Change
build/active-filters-frontend.js 7.75 kB -19 B (0%)
build/active-filters.js 7.37 kB +6 B (0%)
build/all-products-frontend.js 18.1 kB -1 B (0%)
build/all-products.js 33.9 kB -19 B (0%)
build/attribute-filter-frontend.js 22.3 kB +32 B (0%)
build/attribute-filter.js 11.9 kB -1.42 kB (-11%) 👏
build/cart-blocks/cart-express-payment-frontend.js 5.08 kB -1 B (0%)
build/cart-blocks/cart-line-items--mini-cart-contents-block/products-table-frontend.js 5.25 kB +1 B (0%)
build/cart-blocks/cart-line-items-frontend.js 429 B -1 B (0%)
build/cart-blocks/order-summary-coupon-form-frontend.js 2.65 kB +1 B (0%)
build/cart-blocks/order-summary-discount-frontend.js 2.15 kB +1 B (0%)
build/cart-blocks/order-summary-shipping--checkout-blocks/order-summary-shipping-frontend.js 6.37 kB -1 B (0%)
build/cart-frontend.js 47.2 kB -4 B (0%)
build/cart.js 41.8 kB +3 B (0%)
build/checkout-blocks/actions-frontend.js 1.42 kB -1 B (0%)
build/checkout-blocks/billing-address--checkout-blocks/shipping-address-frontend.js 4.12 kB +1 B (0%)
build/checkout-blocks/order-summary-coupon-form-frontend.js 2.8 kB +2 B (0%)
build/checkout-blocks/payment-frontend.js 7.69 kB +1 B (0%)
build/checkout-frontend.js 49.4 kB -4 B (0%)
build/checkout.js 43.1 kB -8 B (0%)
build/featured-category.js 13.2 kB +1 B (0%)
build/filter-wrapper.js 1.96 kB +54 B (+3%)
build/handpicked-products.js 7.28 kB -6 B (0%)
build/legacy-template.js 2.84 kB +1 B (0%)
build/mini-cart-contents.js 22.9 kB +7 B (0%)
build/mini-cart.js 4.57 kB +3 B (0%)
build/price-filter-frontend.js 13.6 kB -7 B (0%)
build/price-filter.js 8.36 kB +8 B (0%)
build/product-add-to-cart--product-button--product-image--product-title.js 2.65 kB +1 B (0%)
build/product-best-sellers.js 7.62 kB -1 B (0%)
build/product-button--product-category-list--product-image--product-price--product-rating--product-sale-b--e17c7c01.js 435 B +1 B (0%)
build/product-button.js 1.57 kB -1 B (0%)
build/product-categories.js 2.36 kB -1 B (0%)
build/product-category-list.js 501 B -2 B (0%)
build/product-category.js 8.61 kB -2 B (0%)
build/product-image-frontend.js 1.88 kB -1 B (0%)
build/product-image.js 1.59 kB -3 B (0%)
build/product-new.js 7.62 kB -4 B (0%)
build/product-on-sale.js 7.94 kB -2 B (0%)
build/product-price.js 1.51 kB -2 B (0%)
build/product-rating.js 739 B -2 B (0%)
build/product-sale-badge-frontend.js 1.13 kB -1 B (0%)
build/product-sale-badge.js 807 B +4 B (0%)
build/product-search.js 2.62 kB +2 B (0%)
build/product-sku.js 379 B +1 B (0%)
build/product-stock-indicator.js 624 B -1 B (0%)
build/product-tag.js 8 kB -1 B (0%)
build/product-title.js 919 B +2 B (0%)
build/product-top-rated.js 7.86 kB -2 B (0%)
build/products-by-attribute.js 8.53 kB -2 B (0%)
build/reviews-by-category.js 11.2 kB -2 B (0%)
build/reviews-by-product.js 12.3 kB -2 B (0%)
build/reviews-frontend.js 7.01 kB -2 B (0%)
build/single-product-frontend.js 21.4 kB +4 B (0%)
build/single-product.js 10 kB +1 B (0%)
build/stock-filter.js 6.32 kB +6 B (0%)
build/wc-blocks-vendors.js 54.5 kB -4 B (0%)
ℹ️ View Unchanged
Filename Size
build/all-reviews.js 7.78 kB
build/blocks-checkout.js 17.4 kB
build/cart-blocks/cart-accepted-payment-methods-frontend.js 1.16 kB
build/cart-blocks/cart-items-frontend.js 299 B
build/cart-blocks/cart-order-summary-frontend.js 1.11 kB
build/cart-blocks/cart-totals-frontend.js 322 B
build/cart-blocks/empty-cart-frontend.js 346 B
build/cart-blocks/filled-cart-frontend.js 784 B
build/cart-blocks/order-summary-fee-frontend.js 274 B
build/cart-blocks/order-summary-heading-frontend.js 454 B
build/cart-blocks/order-summary-shipping-frontend.js 428 B
build/cart-blocks/order-summary-subtotal-frontend.js 274 B
build/cart-blocks/order-summary-taxes-frontend.js 435 B
build/cart-blocks/proceed-to-checkout-frontend.js 1.15 kB
build/checkout-blocks/billing-address-frontend.js 888 B
build/checkout-blocks/contact-information-frontend.js 2.84 kB
build/checkout-blocks/express-payment-frontend.js 5.37 kB
build/checkout-blocks/fields-frontend.js 345 B
build/checkout-blocks/order-note-frontend.js 1.07 kB
build/checkout-blocks/order-summary-cart-items-frontend.js 3.64 kB
build/checkout-blocks/order-summary-discount-frontend.js 2.27 kB
build/checkout-blocks/order-summary-fee-frontend.js 276 B
build/checkout-blocks/order-summary-frontend.js 1.11 kB
build/checkout-blocks/order-summary-shipping-frontend.js 602 B
build/checkout-blocks/order-summary-subtotal-frontend.js 274 B
build/checkout-blocks/order-summary-taxes-frontend.js 435 B
build/checkout-blocks/shipping-address-frontend.js 1.03 kB
build/checkout-blocks/shipping-methods-frontend.js 4.75 kB
build/checkout-blocks/terms-frontend.js 1.23 kB
build/checkout-blocks/totals-frontend.js 324 B
build/featured-product.js 13.4 kB
build/filter-wrapper-frontend.js 9.5 kB
build/general-style-rtl.css 1.29 kB
build/general-style.css 1.29 kB
build/mini-cart-component-frontend.js 16.8 kB
build/mini-cart-contents-block/empty-cart-frontend.js 366 B
build/mini-cart-contents-block/filled-cart-frontend.js 229 B
build/mini-cart-contents-block/footer--mini-cart-contents-block/products-table-frontend.js 4.68 kB
build/mini-cart-contents-block/footer-frontend.js 6.99 kB
build/mini-cart-contents-block/items-frontend.js 237 B
build/mini-cart-contents-block/products-table-frontend.js 290 B
build/mini-cart-contents-block/shopping-button-frontend.js 287 B
build/mini-cart-contents-block/title-frontend.js 367 B
build/mini-cart-frontend.js 1.72 kB
build/price-format.js 1.19 kB
build/product-add-to-cart--product-button--product-category-list--product-image--product-price--product-r--a0326d00.js 226 B
build/product-add-to-cart-frontend.js 6.95 kB
build/product-add-to-cart.js 6.88 kB
build/product-button--product-image--product-rating--product-sale-badge--product-title.js 300 B
build/product-button-frontend.js 1.87 kB
build/product-category-list-frontend.js 878 B
build/product-price-frontend.js 1.9 kB
build/product-query.js 648 B
build/product-rating-frontend.js 1.17 kB
build/product-sku-frontend.js 381 B
build/product-stock-indicator-frontend.js 994 B
build/product-summary-frontend.js 1.29 kB
build/product-summary.js 921 B
build/product-tag-list-frontend.js 872 B
build/product-tag-list.js 498 B
build/product-title-frontend.js 1.31 kB
build/stock-filter-frontend.js 7.72 kB
build/vendors--cart-blocks/cart-line-items--cart-blocks/cart-order-summary--cart-blocks/order-summary-shi--c02aad66-frontend.js 5.26 kB
build/vendors--cart-blocks/cart-line-items--checkout-blocks/order-summary-cart-items--mini-cart-contents---233ab542-frontend.js 3.14 kB
build/vendors--cart-blocks/order-summary-shipping--checkout-blocks/billing-address--checkout-blocks/order--5b8feb0b-frontend.js 4.85 kB
build/vendors--cart-blocks/order-summary-shipping--checkout-blocks/billing-address--checkout-blocks/order--decc3dc6-frontend.js 19.1 kB
build/vendors--mini-cart-contents-block/footer-frontend.js 6.86 kB
build/vendors--product-add-to-cart-frontend.js 7.53 kB
build/wc-blocks-data.js 9.87 kB
build/wc-blocks-editor-style-rtl.css 5.1 kB
build/wc-blocks-editor-style.css 5.1 kB
build/wc-blocks-google-analytics.js 1.56 kB
build/wc-blocks-middleware.js 931 B
build/wc-blocks-registry.js 2.7 kB
build/wc-blocks-shared-context.js 1.53 kB
build/wc-blocks-shared-hocs.js 1.71 kB
build/wc-blocks-style-rtl.css 23.8 kB
build/wc-blocks-style.css 23.7 kB
build/wc-blocks-vendors-style-rtl.css 1.95 kB
build/wc-blocks-vendors-style.css 1.95 kB
build/wc-blocks.js 2.63 kB
build/wc-payment-method-bacs.js 816 B
build/wc-payment-method-cheque.js 811 B
build/wc-payment-method-cod.js 909 B
build/wc-payment-method-paypal.js 837 B
build/wc-settings.js 2.6 kB

compressed-size-action

@github-actions
Copy link
Contributor

github-actions bot commented Sep 9, 2022

Script Dependencies Report

The compare-assets action has detected some changed script dependencies between this branch and trunk. Please review and confirm the following are correct before merging.

Script Handle Added Removed
filter-wrapper.js wp-block-editor, wp-blocks, wp-data, wp-element, wp-i18n, wp-polyfill, wp-primitives ⚠️

This comment was automatically generated by the ./github/compare-assets action.

@dinhtungdu dinhtungdu marked this pull request as ready for review September 9, 2022 07:01
@rubikuserbot rubikuserbot requested a review from a team September 9, 2022 07:01
Copy link
Contributor

@tjcafferkey tjcafferkey left a comment

Choose a reason for hiding this comment

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

There is some commented out code which we should delete if its not being used, but this PR works as expected!

@tjcafferkey tjcafferkey merged commit d1b4512 into try/filter-inner-blocks Sep 16, 2022
@tjcafferkey tjcafferkey deleted the try/convert-attribute-fitler-to-inner-block branch September 16, 2022 12:50
@sunyatasattva sunyatasattva modified the milestone: 8.6.0 Sep 26, 2022
tjcafferkey added a commit that referenced this pull request Oct 7, 2022
* register filter wrapper block

* register block variation

* rename the active filters wrapper

* prevent 404 error

* Revert "prevent 404 error"

This reverts commit 8b6cb7c.

* render parent wrapper block

* support price filter block

* hide the active filter block from inserter

* swap the title of wrapper and inner filter block for active filters

* hide the legacy heading for the price filter

* update block title and description for active filters and price filter

* remove heading control for price filter

* remove heading control for active filters

* update pattern

* try: upgrade button

* limit the number of inner block to 2

* prevent removing the inner filter block

* Revert "prevent removing the inner filter block"

This reverts commit 83b7fee.

* convert stock filter to inner block

* refactor block upgrade button to share between filter blocks

* update default heading

* update pattern

* update icon and title

* Fix stock filter error by importing translations package

* Upgrade Active Filters name to Active Filter Controls

* Add upgrade support to price filter

* Convert attribute filter to inner block (#7101)

* wip: convert attribute filter to inner block

* fix: render inner attribute filter block on the front end

* refactor: inner block wrapper, extract the attribute parsing logic into a utility

Co-authored-by: Tom Cafferkey <[email protected]>

* Set correct attribute on the new filter blocks when they are upgraded

* Use the Warning component to display the upgrade message so it is consistent with Gutenberg

* address code review

* better detect legacy block to show the upgrade notice

* rename UpgradeToolbarButton to UpgradeNotice

* add upgrade notice to the stock filter block

* rename InnerBlockWrapper to BlockWrapper

* attribute-filter: control wrapper visibility

* passing block attributes down to inner active filters control block

* fix styling of inner attribute filter control block

* passing attribute to inner price filter control block

* passing down the attribute to inner stock filter control block

* remove unneccessary parsing

* use default scope for variations

* fix default attribute values

* use default block appender

* fix: lock control blocks

* remove dynamic title code from attribute filter block

* register active filters as variation and set it to the default that overrides the base block

* fix isActive for default variation

* fix: isActive logic for the active filters block

* register side effect

* fix ts error

* e2e: fix active filters block backend test

* e2e: fix frontend active filters test

* e2e: fix attribute filter test

* e2e: fix price filter test

* e2e: fix stock filter test

* e2e: update fixture

* e2e: fix attribute filter test

* remove invalid test

* e2e: update heading selector for price filter in backend test

* e2e: fixe backend price filter heading test

* fix: patterns i18n

* fix: heading level when upgrading the block

Co-authored-by: Tung Du <[email protected]>
senadir pushed a commit to senadir/woocommerce-blocks that referenced this pull request Nov 12, 2022
* register filter wrapper block

* register block variation

* rename the active filters wrapper

* prevent 404 error

* Revert "prevent 404 error"

This reverts commit 8b6cb7c.

* render parent wrapper block

* support price filter block

* hide the active filter block from inserter

* swap the title of wrapper and inner filter block for active filters

* hide the legacy heading for the price filter

* update block title and description for active filters and price filter

* remove heading control for price filter

* remove heading control for active filters

* update pattern

* try: upgrade button

* limit the number of inner block to 2

* prevent removing the inner filter block

* Revert "prevent removing the inner filter block"

This reverts commit 83b7fee.

* convert stock filter to inner block

* refactor block upgrade button to share between filter blocks

* update default heading

* update pattern

* update icon and title

* Fix stock filter error by importing translations package

* Upgrade Active Filters name to Active Filter Controls

* Add upgrade support to price filter

* Convert attribute filter to inner block (woocommerce#7101)

* wip: convert attribute filter to inner block

* fix: render inner attribute filter block on the front end

* refactor: inner block wrapper, extract the attribute parsing logic into a utility

Co-authored-by: Tom Cafferkey <[email protected]>

* Set correct attribute on the new filter blocks when they are upgraded

* Use the Warning component to display the upgrade message so it is consistent with Gutenberg

* address code review

* better detect legacy block to show the upgrade notice

* rename UpgradeToolbarButton to UpgradeNotice

* add upgrade notice to the stock filter block

* rename InnerBlockWrapper to BlockWrapper

* attribute-filter: control wrapper visibility

* passing block attributes down to inner active filters control block

* fix styling of inner attribute filter control block

* passing attribute to inner price filter control block

* passing down the attribute to inner stock filter control block

* remove unneccessary parsing

* use default scope for variations

* fix default attribute values

* use default block appender

* fix: lock control blocks

* remove dynamic title code from attribute filter block

* register active filters as variation and set it to the default that overrides the base block

* fix isActive for default variation

* fix: isActive logic for the active filters block

* register side effect

* fix ts error

* e2e: fix active filters block backend test

* e2e: fix frontend active filters test

* e2e: fix attribute filter test

* e2e: fix price filter test

* e2e: fix stock filter test

* e2e: update fixture

* e2e: fix attribute filter test

* remove invalid test

* e2e: update heading selector for price filter in backend test

* e2e: fixe backend price filter heading test

* fix: patterns i18n

* fix: heading level when upgrading the block

Co-authored-by: Tung Du <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants