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

Add support for the Editor Preview update when custom attributes are changed #6975

Closed
wants to merge 2 commits into from

Conversation

gigitux
Copy link
Contributor

@gigitux gigitux commented Aug 24, 2022

⚠️ This PR is still WIP. It contains TypesScript errors and duplicated logic.

Screen Capture on 2022-09-12 at 18-18-35

This PR adds support for the editor preview update when custom attributes are changed.

For example, when Show only products on sale is enabled, the Query Loop block makes a GET request appending this query parameter:

__woocommerceVariationQuery%5BonSale%5D=true

In this way, with the filter rest_product_query, we can control the WordPress REST API, and we can create a custom WP_Query object by reading the query arguments.

This PR fixes #6969

Testing Steps

Be sure that you are using a Gutenberg build that contains this PR.

  1. Add a Product Query block.
  2. Click on “Show only products on sale”.
  3. Notice that the block preview is updated and shows only products on sale.

@github-actions
Copy link
Contributor

The release ZIP for this PR is accessible via:

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

@github-actions
Copy link
Contributor

github-actions bot commented Aug 24, 2022

Size Change: +467 B (0%)

Total Size: 874 kB

Filename Size Change
build/active-filters-frontend.js 7.62 kB +282 B (+4%)
build/active-filters.js 8.27 kB +260 B (+3%)
build/all-products.js 33.9 kB -19 B (0%)
build/all-reviews.js 7.79 kB -11 B (0%)
build/attribute-filter-frontend.js 22.3 kB +11 B (0%)
build/attribute-filter.js 13.3 kB -11 B (0%)
build/cart-blocks/cart-accepted-payment-methods-frontend.js 1.16 kB +1 B (0%)
build/cart-blocks/cart-express-payment-frontend.js 5.08 kB -10 B (0%)
build/cart-blocks/cart-items-frontend.js 299 B +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-order-summary-frontend.js 1.11 kB -1 B (0%)
build/cart-blocks/filled-cart-frontend.js 783 B -1 B (0%)
build/cart-blocks/order-summary-coupon-form-frontend.js 2.64 kB -3 B (0%)
build/cart-blocks/order-summary-discount-frontend.js 2.15 kB +9 B (0%)
build/cart-blocks/order-summary-heading-frontend.js 454 B +1 B (0%)
build/cart-blocks/order-summary-shipping--checkout-blocks/order-summary-shipping-frontend.js 6.37 kB +3 B (0%)
build/cart-blocks/order-summary-shipping-frontend.js 428 B +1 B (0%)
build/cart-blocks/order-summary-taxes-frontend.js 435 B +1 B (0%)
build/cart-blocks/proceed-to-checkout-frontend.js 1.15 kB -3 B (0%)
build/cart-frontend.js 47.1 kB +10 B (0%)
build/cart.js 41.8 kB +20 B (0%)
build/checkout-blocks/actions-frontend.js 1.42 kB +2 B (0%)
build/checkout-blocks/billing-address--checkout-blocks/shipping-address-frontend.js 4.12 kB +3 B (0%)
build/checkout-blocks/billing-address-frontend.js 888 B -3 B (0%)
build/checkout-blocks/contact-information-frontend.js 2.84 kB +2 B (0%)
build/checkout-blocks/express-payment-frontend.js 5.38 kB -10 B (0%)
build/checkout-blocks/order-note-frontend.js 1.08 kB +5 B (0%)
build/checkout-blocks/order-summary-cart-items-frontend.js 3.64 kB -3 B (0%)
build/checkout-blocks/order-summary-discount-frontend.js 2.27 kB +9 B (0%)
build/checkout-blocks/order-summary-taxes-frontend.js 434 B -1 B (0%)
build/checkout-blocks/payment-frontend.js 7.69 kB -9 B (0%)
build/checkout-blocks/shipping-methods-frontend.js 4.74 kB +4 B (0%)
build/checkout-blocks/terms-frontend.js 1.23 kB +2 B (0%)
build/checkout-blocks/totals-frontend.js 326 B +1 B (0%)
build/checkout-frontend.js 49.3 kB +24 B (0%)
build/checkout.js 43.1 kB -13 B (0%)
build/featured-category.js 13.2 kB -69 B (-1%)
build/featured-product.js 13.4 kB -93 B (-1%)
build/handpicked-products.js 7.29 kB -82 B (-1%)
build/legacy-template.js 2.84 kB -17 B (-1%)
build/mini-cart-component-frontend.js 16.8 kB -1 B (0%)
build/mini-cart-contents-block/filled-cart-frontend.js 230 B +1 B (0%)
build/mini-cart-contents-block/footer--mini-cart-contents-block/products-table-frontend.js 4.69 kB -2 B (0%)
build/mini-cart-contents-block/footer-frontend.js 6.98 kB +2 B (0%)
build/mini-cart-contents.js 22.9 kB +4 B (0%)
build/mini-cart.js 4.56 kB -20 B (0%)
build/price-filter-frontend.js 13.4 kB +33 B (0%)
build/price-filter.js 9.34 kB +22 B (0%)
build/product-add-to-cart--product-button--product-image--product-title.js 2.66 kB +1 B (0%)
build/product-add-to-cart-frontend.js 6.95 kB -2 B (0%)
build/product-add-to-cart.js 6.88 kB -1 B (0%)
build/product-best-sellers.js 7.62 kB -90 B (-1%)
build/product-button-frontend.js 1.87 kB -1 B (0%)
build/product-button.js 1.57 kB -2 B (0%)
build/product-categories.js 2.36 kB -51 B (-2%)
build/product-category-list-frontend.js 883 B +3 B (0%)
build/product-category.js 8.61 kB -77 B (-1%)
build/product-image-frontend.js 1.88 kB -1 B (0%)
build/product-image.js 1.59 kB -2 B (0%)
build/product-new.js 7.62 kB -92 B (-1%)
build/product-on-sale.js 7.94 kB -82 B (-1%)
build/product-price-frontend.js 1.9 kB +3 B (0%)
build/product-rating-frontend.js 1.17 kB +3 B (0%)
build/product-rating.js 739 B -1 B (0%)
build/product-sale-badge-frontend.js 1.13 kB +2 B (0%)
build/product-sale-badge.js 801 B -1 B (0%)
build/product-search.js 2.62 kB -28 B (-1%)
build/product-sku-frontend.js 380 B -1 B (0%)
build/product-stock-indicator-frontend.js 996 B +2 B (0%)
build/product-stock-indicator.js 623 B -1 B (0%)
build/product-summary-frontend.js 1.29 kB +3 B (0%)
build/product-summary.js 920 B -2 B (0%)
build/product-tag-list-frontend.js 876 B +1 B (0%)
build/product-tag-list.js 497 B -1 B (0%)
build/product-tag.js 8 kB -85 B (-1%)
build/product-title-frontend.js 1.31 kB +3 B (0%)
build/product-title.js 921 B -1 B (0%)
build/product-top-rated.js 7.86 kB -90 B (-1%)
build/products-by-attribute.js 8.53 kB -100 B (-1%)
build/reviews-by-category.js 11.2 kB +11 B (0%)
build/reviews-by-product.js 12.3 kB -8 B (0%)
build/reviews-frontend.js 7.02 kB -1 B (0%)
build/single-product-frontend.js 21.4 kB -1 B (0%)
build/single-product.js 10 kB -14 B (0%)
build/stock-filter-frontend.js 7.62 kB +2 B (0%)
build/stock-filter.js 7.52 kB -29 B (0%)
build/vendors--cart-blocks/cart-line-items--checkout-blocks/order-summary-cart-items--mini-cart-contents---233ab542-frontend.js 3.14 kB +1 B (0%)
build/vendors--cart-blocks/order-summary-shipping--checkout-blocks/billing-address--checkout-blocks/order--5b8feb0b-frontend.js 4.85 kB +3 B (0%)
build/vendors--cart-blocks/order-summary-shipping--checkout-blocks/billing-address--checkout-blocks/order--decc3dc6-frontend.js 19.1 kB -6 B (0%)
build/vendors--mini-cart-contents-block/footer-frontend.js 6.86 kB -1 B (0%)
build/vendors--product-add-to-cart-frontend.js 7.53 kB +2 B (0%)
build/wc-blocks-style-rtl.css 23.8 kB +433 B (+2%)
build/wc-blocks-style.css 23.7 kB +432 B (+2%)
build/wc-blocks-vendors.js 54.5 kB +3 B (0%)
ℹ️ View Unchanged
Filename Size
build/all-products-frontend.js 18.1 kB
build/blocks-checkout.js 17.4 kB
build/cart-blocks/cart-line-items-frontend.js 429 B
build/cart-blocks/cart-totals-frontend.js 322 B
build/cart-blocks/empty-cart-frontend.js 346 B
build/cart-blocks/order-summary-fee-frontend.js 274 B
build/cart-blocks/order-summary-subtotal-frontend.js 274 B
build/checkout-blocks/fields-frontend.js 344 B
build/checkout-blocks/order-summary-coupon-form-frontend.js 2.79 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/shipping-address-frontend.js 1.03 kB
build/general-style-rtl.css 1.29 kB
build/general-style.css 1.29 kB
build/mini-cart-contents-block/empty-cart-frontend.js 366 B
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 288 B
build/mini-cart-contents-block/title-frontend.js 368 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 223 B
build/product-button--product-category-list--product-image--product-price--product-rating--product-sale-b--e17c7c01.js 435 B
build/product-button--product-image--product-rating--product-sale-badge--product-title.js 300 B
build/product-category-list.js 502 B
build/product-price.js 1.51 kB
build/product-query.js 648 B
build/product-sku.js 379 B
build/vendors--cart-blocks/cart-line-items--cart-blocks/cart-order-summary--cart-blocks/order-summary-shi--c02aad66-frontend.js 5.26 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-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

@gigitux gigitux changed the title Add support for the Editor Preview when custom attributes are changed Add support for the Editor Preview update when custom attributes are changed Aug 24, 2022
@github-actions
Copy link
Contributor

This PR has been marked as stale because it has not seen any activity within the past 60 days. Our team uses this tool to help surface pull requests that have slipped through review.

If deemed still relevant, the pr can be kept active by ensuring it's up to date with the main branch and removing the stale label - otherwise it will automatically be closed after 10 days.

@github-actions github-actions bot added the status: stale Stale issues and PRs have had no updates for 60 days. label Sep 21, 2022
@gigitux gigitux removed the status: stale Stale issues and PRs have had no updates for 60 days. label Sep 21, 2022
@gigitux gigitux self-assigned this Sep 21, 2022
@github-actions
Copy link
Contributor

This PR has been marked as stale because it has not seen any activity within the past 60 days. Our team uses this tool to help surface pull requests that have slipped through review.

If deemed still relevant, the pr can be kept active by ensuring it's up to date with the main branch and removing the stale label - otherwise it will automatically be closed after 10 days.

@github-actions github-actions bot added the status: stale Stale issues and PRs have had no updates for 60 days. label Sep 29, 2022
@gigitux gigitux removed the status: stale Stale issues and PRs have had no updates for 60 days. label Sep 29, 2022
@github-actions
Copy link
Contributor

github-actions bot commented Oct 7, 2022

This PR has been marked as stale because it has not seen any activity within the past 60 days. Our team uses this tool to help surface pull requests that have slipped through review.

If deemed still relevant, the pr can be kept active by ensuring it's up to date with the main branch and removing the stale label - otherwise it will automatically be closed after 10 days.

@github-actions github-actions bot added the status: stale Stale issues and PRs have had no updates for 60 days. label Oct 7, 2022
@gigitux gigitux removed the status: stale Stale issues and PRs have had no updates for 60 days. label Oct 7, 2022
@dinhtungdu dinhtungdu self-assigned this Oct 10, 2022
@gigitux
Copy link
Contributor Author

gigitux commented Oct 12, 2022

I'm closing this PR. The final PR is #7366

@gigitux gigitux closed this Oct 12, 2022
@nielslange nielslange deleted the add/product-query-edit-preview branch April 19, 2023 23:47
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.

Product Query: Editor preview won't update when custom attributes are changed
2 participants