woocommerce/plugins/woocommerce-blocks/assets/js/data/schema
Mike Jolley 5165611e45 Remove deprecated data controls in favour of those from the `@wordpress/data` package (https://github.com/woocommerce/woocommerce-blocks/pull/5574)
* Remove expected warnings from test suite

* Switch dispatch and select usage to `controls`, from `@wordpress/data`

* Wrap render with act

* resolveSelect to wait for resolution

* resolveSelect
2022-03-10 13:22:05 +00:00
..
test Remove deprecated data controls in favour of those from the `@wordpress/data` package (https://github.com/woocommerce/woocommerce-blocks/pull/5574) 2022-03-10 13:22:05 +00:00
README.md Rename modelName to resourceName everywhere (https://github.com/woocommerce/woocommerce-blocks/pull/1173) 2019-11-14 11:10:50 -05:00
action-types.js All Products with Inner Blocks (https://github.com/woocommerce/woocommerce-blocks/pull/1032) 2019-10-28 09:53:09 -04:00
actions.js All Products with Inner Blocks (https://github.com/woocommerce/woocommerce-blocks/pull/1032) 2019-10-28 09:53:09 -04:00
constants.js Remove v1 from Store Keys (https://github.com/woocommerce/woocommerce-blocks/pull/5987) 2022-03-04 14:03:52 +00:00
index.js All Products with Inner Blocks (https://github.com/woocommerce/woocommerce-blocks/pull/1032) 2019-10-28 09:53:09 -04:00
reducers.js Rename modelName to resourceName everywhere (https://github.com/woocommerce/woocommerce-blocks/pull/1173) 2019-11-14 11:10:50 -05:00
resolvers.js Remove deprecated data controls in favour of those from the `@wordpress/data` package (https://github.com/woocommerce/woocommerce-blocks/pull/5574) 2022-03-10 13:22:05 +00:00
selectors.js 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.js Active filters block (https://github.com/woocommerce/woocommerce-blocks/pull/1168) 2019-11-15 14:41:23 +00:00

README.md

Schema Store

To utilize this store you will import the SCHEMA_STORE_KEY in any module referencing it. Assuming @woocommerce/block-data is registered as an external pointing to wc.wcBlocksData you can import the key via:

import { SCHEMA_STORE_KEY } from '@woocommerce/block-data';

Actions

The following actions are used for dispatching data to this store state.

Note: You should rarely need to use any of these actions directly as they are mostly used internally by the resolvers.

receiveRoutes( routes, namespace = '/wc/blocks' )

This returns an action object used to update the store with the provided list of resource routes.

Argument Type Description
routes Array This should be an array of routes attached for the given namespace. Eg. [ '/wc/blocks/products', '/wc/blocks/products/attributes/(?P<id>[\d]+)' ]
namespace string The namespace the routes belong to (eg. /wc/blocks)

Selectors

getRoute( namespace, resourceName, ids = [] )

This is used for retrieving a route for the given namespace, resource name and (if necessary) ids.

Example: If you are looking for a route for a single product on the wc/blocks namespace, then you'd have [20] as the ids.

// '/wc/blocks/products/20'
wp.data.select( SCHEMA_STORE_KEY ).getRoute( '/wc/blocks', 'products', [20] );
Argument Type Description
namespace string Namespace for the route (eg. /wc/blocks)
resourceName string The resource name for the route (eg. products/attributes/terms)
ids array Only needed if the route has placeholders for ids.

getRoutes( namespace )

This will return all the registered routes for the given namespace as a flat array.