woocommerce-blocks icon indicating copy to clipboard operation
woocommerce-blocks copied to clipboard

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

Open gigitux opened this issue 3 years ago • 3 comments
trafficstars

⚠️ 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.

gigitux avatar Aug 24 '22 12:08 gigitux

The release ZIP for this PR is accessible via:

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

github-actions[bot] avatar Aug 24 '22 12:08 github-actions[bot]

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

github-actions[bot] avatar Aug 24 '22 12:08 github-actions[bot]

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[bot] avatar Sep 21 '22 09:09 github-actions[bot]

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[bot] avatar Sep 29 '22 09:09 github-actions[bot]

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[bot] avatar Oct 07 '22 09:10 github-actions[bot]

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

gigitux avatar Oct 12 '22 09:10 gigitux