woocommerce/plugins/woocommerce-blocks/assets/js/data
Thomas Roberts 130827a2c3 Allow third party methods to appear in local pickup area (https://github.com/woocommerce/woocommerce-blocks/pull/8256)
* Add get_collectible_method_ids function

* Add collectibleMethodIds to asset data registry

* Check whether method id is pickup_location/in collectibleMethodIds

* Allow selectShippingRate to be called without a package id

* Prevent collectible methods showing in the main shipping area

* Remove unnecessary pluck and add pickup_location to returned array

* No longer insert pickup_location in collectibleMethodIds

* Allow third party methods to influence low/high collection price

* Update useShippingData to consider any collectible method

* Add hasSelectedLocalPickup to shipping types

* Add dependency to selectShippingRate in useShippingData

* Register collectibleMethodIds as a callback

This is so the shipping methods get change to register before this is called. Passing a callback to `add` means it won't be called until just before it is output.

* Update supports key to 'local_pickup'

* Rename utils/shipping-rates to TS

* Convert to TS, add isPackageRateCollectible & hasCollectableRate

* Add tests for hasCollectableRate and isPackageRateCollectible

* Update shipping controller to output only method names

* Make PickupLocation shipping method support local_pickup

* Set prefersCollection based on rate ID being collectible

* Remove need to retrieve settings and use helper function instead

* rename hasCollectableRate to hasCollectibleRate

* Use array_reduce and update comments in  get_local_pickup_method_ids

* Switch order of array_unique and array_values

* Remove unneeded dependency

* Hyphenate local-pickup so it follows the same format as other features

* Update use of collectible to collectable

* Change supports feature to be hyphenated
2023-02-03 08:00:24 -08:00
..
cart Switch to select instead of resolveSelector (https://github.com/woocommerce/woocommerce-blocks/pull/8356) 2023-02-02 10:12:52 +01:00
checkout Allow third party methods to appear in local pickup area (https://github.com/woocommerce/woocommerce-blocks/pull/8256) 2023-02-03 08:00:24 -08:00
collections Add notice on quantity change and update `wc/store/cart` to use thunks (https://github.com/woocommerce/woocommerce-blocks/pull/7938) 2022-12-16 08:06:37 -08:00
payment Allow observers to set `billingAddress` by returning `billingData` (https://github.com/woocommerce/woocommerce-blocks/pull/8163) 2023-01-23 08:27:59 -08:00
query-state Update from deprecated registerStore to register for data stores (https://github.com/woocommerce/woocommerce-blocks/pull/7310) 2022-11-10 15:37:01 +00:00
schema Update from deprecated registerStore to register for data stores (https://github.com/woocommerce/woocommerce-blocks/pull/7310) 2022-11-10 15:37:01 +00:00
store-notices Expose cart errors as notices (https://github.com/woocommerce/woocommerce-blocks/pull/8162) 2023-01-19 16:40:52 +00:00
utils Cart Action Promises with success/reject handling (https://github.com/woocommerce/woocommerce-blocks/pull/8272) 2023-01-30 15:12:17 +00:00
validation Add `clearValidationErrors` action to validation data store (https://github.com/woocommerce/woocommerce-blocks/pull/7601) 2022-11-17 09:19:44 -08:00
README.md Improve the structure of the WooCommerce Blocks Handbook (https://github.com/woocommerce/woocommerce-blocks/pull/6429) 2022-06-09 17:52:19 +02:00
constants.ts Create Cross-Sells product list (https://github.com/woocommerce/woocommerce-blocks/pull/6645) 2022-09-21 13:04:15 +07:00
index.ts New contexts for `StoreNoticesContainer` and notice grouping (https://github.com/woocommerce/woocommerce-blocks/pull/7711) 2022-12-19 15:30:13 +00:00
mapped-types.ts Add notice on quantity change and update `wc/store/cart` to use thunks (https://github.com/woocommerce/woocommerce-blocks/pull/7938) 2022-12-16 08:06:37 -08:00
shared-controls.ts New contexts for `StoreNoticesContainer` and notice grouping (https://github.com/woocommerce/woocommerce-blocks/pull/7711) 2022-12-19 15:30:13 +00:00
types.ts New contexts for `StoreNoticesContainer` and notice grouping (https://github.com/woocommerce/woocommerce-blocks/pull/7711) 2022-12-19 15:30:13 +00:00

README.md

Data Stores

This folder contains all the data stores registered with wp.data for use by various blocks. Store keys are exported as constants on the wc.wcBlocksData export (external registered as @woocommerce/block-data and enqueued via handle wc-blocks-data-store). For any block using the store, make sure you import the store key rather than using the reference directly to ensure dependencies are automatically extracted correctly.

It is assumed there is some familiarity already with interacting with the wp.data api. You can read more about that here.

The following stores are registered:

Store Description Store key
schema Used for accessing routes. Has more internal usage. SCHEMA_STORE_KEY
collections Holds collections of data indexed by namespace, model name and query string COLLECTIONS_STORE_KEY
query-state Holds arbitrary values indexed by context and key. Typically used for tracking state of query objects for a given context QUERY_STATE_STORE_KEY

We're hiring! Come work with us!

🐞 Found a mistake, or have a suggestion? Leave feedback about this document here.