woocommerce/plugins/woocommerce-blocks/assets/js/data
Mike Jolley 0714fa41bd Customer Data Store and revised handling for Shipping As Billing (https://github.com/woocommerce/woocommerce-blocks/pull/5817)
* Add address-related items to wc/store/cart data store

* include shippingAsBilling in return value of useCustomerData

* Add useUpdateCustomerData hook

This allows us to have a single hook responsible for updating the customer information on the server.

* Add useUpdateCustomerData hook in Checkout block

* Remove the updating customer data work from the useCustomerData hook

* Remove shippingAsBilling from previousCustomerData ref type

* Add useShippingAsBillingCheckbox hook

* Control shippingAsBilling from single hook

* Remove checkbox handling from useCheckoutAddress

* Remove CustomerDataContext typedef

* Merge with woocommerce/woocommerce-blocks#5810 changes

* Move shipping as billing to checkout state context provider

* Unused import

* Subscribe to changes

* Only receiveCartContents when updating customer data via checkout

* Cache customerDataToUpdate

* rename debounced function

* Combine customerDataType and customerDataContextType

* Change case of CustomerDataType

* debouncedUpdateCustomerData typo

* Fix notice context

* Clean up inline docs for push changes

* Comment on dirty state

* Phone is always set

* shippingAddress is never undefined

* setBillingPhone

* receiveCartContents explanation

* Tweak customerData to avoid null

* useShippingAsBilling

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2022-02-22 17:45:01 +00:00
..
cart Customer Data Store and revised handling for Shipping As Billing (https://github.com/woocommerce/woocommerce-blocks/pull/5817) 2022-02-22 17:45:01 +00:00
collections Add missing experimental functions to the feature flags page (https://github.com/woocommerce/woocommerce-blocks/pull/3522) 2020-12-09 15:10:57 +01:00
query-state Reorder dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/2774) 2020-06-26 13:01:35 +01:00
schema re-enable @wordpress/valid-sprintf eslint rule and fix violations (https://github.com/woocommerce/woocommerce-blocks/pull/3201) 2020-09-26 16:05:00 -04:00
utils Update NPM dependencies and script dependency handling (https://github.com/woocommerce/woocommerce-blocks/pull/1337) 2019-12-10 12:17:46 -05:00
README.md All Products with Inner Blocks (https://github.com/woocommerce/woocommerce-blocks/pull/1032) 2019-10-28 09:53:09 -04:00
constants.ts Implement memoization in several selectors and hooks (https://github.com/woocommerce/woocommerce-blocks/pull/4548) 2021-08-13 15:28:41 +02:00
default-states.ts Implement memoization in several selectors and hooks (https://github.com/woocommerce/woocommerce-blocks/pull/4548) 2021-08-13 15:28:41 +02:00
index.ts Implement memoization in several selectors and hooks (https://github.com/woocommerce/woocommerce-blocks/pull/4548) 2021-08-13 15:28:41 +02:00
mapped-types.ts Update WordPress Monorepo packages with React 17x support (https://github.com/woocommerce/woocommerce-blocks/pull/5223) 2021-12-07 15:47:50 +00:00
shared-controls.ts Move Block Type Settings into Block Type Classes (https://github.com/woocommerce/woocommerce-blocks/pull/4059) 2021-04-22 12:37:27 +01:00
tsconfig.json Open Mini Cart drawer when adding to cart from the All Products block (https://github.com/woocommerce/woocommerce-blocks/pull/4772) 2021-09-21 15:25:44 +02:00
types.ts Rest API batching support (2) (https://github.com/woocommerce/woocommerce-blocks/pull/4075) 2021-04-20 16:44:49 +01:00

README.md

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