woocommerce/plugins/woocommerce-blocks/assets/js/base/hooks
Rua Haszard 76f5ed5030 improve responsiveness when setting cart item quantities (https://github.com/woocommerce/woocommerce-blocks/pull/1864)
* rework the quantity change generator action so the UI updates quick:
- work in progress - still need to figure out how to debounce API call
- add new action for updating quantity for an item
- don't set cart item as pending while quantity is updating
  - this leaves QuantitySelector enabled so user can click more/less
- use receiveCartItemQuantity to update quantity in UI before sending request

* debounce line item quantity first cut:
- use local state for quantity, so ui allows multiple clicks up/down
- debounce store updates (and server/API call)

* correct comment on cart item quantity reducer

* remove recieveCartItemQuantity - no longer needed

* remove delegation for deleted RECEIVE_CART_ITEM_QUANTITY

* only update quantity in component sideffect if it has changed:
- reduces unnecessary renders

* factor out debounced quantity update into cartItem hook (hat tip @senadir)

* use quantity from store, instead of passing in to hook +
+ fix latent bug in useStoreCartItem - the cartItem value is now object:
  - was previously single-item array
  - (note no client code is using this at present)

* tidy/refactor cart item hook - separate dispatch from select

* remove dud reset of item pending flag (came back in rebase)

* add quantity to StoreCartItem hook return value typedef

* fix js error when adding cart block in editor – cartItem not found

* fix typedef

* fix logic for debouncing

* don’t update quantity on server unnecessarily

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-03-09 15:09:47 +13:00
..
checkout Add payment method api and components to checkout steps (https://github.com/woocommerce/woocommerce-blocks/pull/1349) 2020-01-06 17:28:09 -05:00
payment-methods Add payment method api and components to checkout steps (https://github.com/woocommerce/woocommerce-blocks/pull/1349) 2020-01-06 17:28:09 -05:00
test Update and select shipping rates dynamically (https://github.com/woocommerce/woocommerce-blocks/pull/1794) 2020-03-05 20:54:05 +01:00
index.js Update and select shipping rates dynamically (https://github.com/woocommerce/woocommerce-blocks/pull/1794) 2020-03-05 20:54:05 +01:00
use-collection-data.js Prevent multiple collection data requests using debounce (https://github.com/woocommerce/woocommerce-blocks/pull/1233) 2019-11-23 17:04:30 +00:00
use-collection-header.js Active filters block (https://github.com/woocommerce/woocommerce-blocks/pull/1168) 2019-11-15 14:41:23 +00:00
use-collection.js Update and select shipping rates dynamically (https://github.com/woocommerce/woocommerce-blocks/pull/1794) 2020-03-05 20:54:05 +01:00
use-previous.js Update NPM dependencies and script dependency handling (https://github.com/woocommerce/woocommerce-blocks/pull/1337) 2019-12-10 12:17:46 -05:00
use-query-state.js Preserve query key order in All Products (https://github.com/woocommerce/woocommerce-blocks/pull/1611) 2020-01-20 13:04:13 +01:00
use-select-shipping-rate.js Update and select shipping rates dynamically (https://github.com/woocommerce/woocommerce-blocks/pull/1794) 2020-03-05 20:54:05 +01:00
use-shallow-equal.js Update NPM dependencies and script dependency handling (https://github.com/woocommerce/woocommerce-blocks/pull/1337) 2019-12-10 12:17:46 -05:00
use-shipping-rates.js Update and select shipping rates dynamically (https://github.com/woocommerce/woocommerce-blocks/pull/1794) 2020-03-05 20:54:05 +01:00
use-store-cart-coupons.js Create Context Provider for Notices w/ Notices API (https://github.com/woocommerce/woocommerce-blocks/pull/1843) 2020-03-03 10:26:02 +00:00
use-store-cart-item.js improve responsiveness when setting cart item quantities (https://github.com/woocommerce/woocommerce-blocks/pull/1864) 2020-03-09 15:09:47 +13:00
use-store-cart.js Update and select shipping rates dynamically (https://github.com/woocommerce/woocommerce-blocks/pull/1794) 2020-03-05 20:54:05 +01:00
use-store-notices.js Create Context Provider for Notices w/ Notices API (https://github.com/woocommerce/woocommerce-blocks/pull/1843) 2020-03-03 10:26:02 +00:00
use-store-products.js Add API fetch error handling (https://github.com/woocommerce/woocommerce-blocks/pull/1687) 2020-01-31 13:01:34 +00:00