woocommerce/plugins/woocommerce-blocks/assets/js/data/schema
Mike Jolley 7f85c1bcc0 Migrate REST API usage to the Store API (https://github.com/woocommerce/woocommerce-blocks/pull/2282)
* Remove unused wc/blocks/cart endpoint

* remove unused withProducts hoc

* Remove getProducts util

* Use store API products endpoint in product blocks

* Remove product endpoint tests

* Remove controller

* Switch attributes endpoint to store api

* Refactor withAttributes to use store API

* Migrate tags and cats to store API

* MIgrate variations to store api

* Migrate reviews to store API

* Drop dedicated variation endpoint

* Move tests

* Move cart init

* Fix reviews

* Comment out broken tests

* Remove old class based with-attributes test
2020-04-24 14:36:47 +01:00
..
test Migrate REST API usage to the Store API (https://github.com/woocommerce/woocommerce-blocks/pull/2282) 2020-04-24 14:36:47 +01: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 Update NPM dependencies and script dependency handling (https://github.com/woocommerce/woocommerce-blocks/pull/1337) 2019-12-10 12:17:46 -05: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 All Products with Inner Blocks (https://github.com/woocommerce/woocommerce-blocks/pull/1032) 2019-10-28 09:53:09 -04:00
selectors.js Reformat files (https://github.com/woocommerce/woocommerce-blocks/pull/1389) 2019-12-16 14:58:19 +01: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.