Have ideas to improve npm?Join in the discussion! »

@wordpress/data-controls

1.20.1 • Public • Published

Data Controls

The data controls module is a module intended to simplify implementation of common controls used with the @wordpress/data package.

Note: It is assumed that the registry being used has the controls plugin enabled on it (see more details on controls here)

Installation

Install the module

npm install @wordpress/data-controls --save

This package assumes that your code will run in an ES2015+ environment. If you're using an environment that has limited or no support for ES2015+ such as lower versions of IE then using core-js or @babel/polyfill will add support for these methods. Learn more about it in Babel docs.

The following controls are available on the object returned by the module:

API

# apiFetch

Dispatches a control action for triggering an api fetch call.

Usage

import { apiFetch } from '@wordpress/data-controls';

// Action generator using apiFetch
export function* myAction() {
	const path = '/v2/my-api/items';
	const items = yield apiFetch( { path } );
	// do something with the items.
}

Parameters

  • request Object: Arguments for the fetch request.

Returns

  • Object: The control descriptor.

# controls

The default export is what you use to register the controls with your custom store.

Usage

// WordPress dependencies
import { controls } from '@wordpress/data-controls';
import { registerStore } from '@wordpress/data';

// Internal dependencies
import reducer from './reducer';
import * as selectors from './selectors';
import * as actions from './actions';
import * as resolvers from './resolvers';

registerStore( 'my-custom-store', {
reducer,
controls,
actions,
selectors,
resolvers,
} );

Parameters

  • paths (unknown type):

Returns

  • Object: An object for registering the default controls with the store.

# dispatch

Control for dispatching an action in a registered data store. Alias for the dispatch control in the @wordpress/data package.

Parameters

  • args Array: Arguments passed without change to the @wordpress/data control.

# select

Control for resolving a selector in a registered data store. Alias for the resolveSelect built-in control in the @wordpress/data package.

Parameters

  • args Array: Arguments passed without change to the @wordpress/data control.

# syncSelect

Control for calling a selector in a registered data store. Alias for the select built-in control in the @wordpress/data package.

Parameters

  • args Array: Arguments passed without change to the @wordpress/data control.

Install

npm i @wordpress/data-controls

DownloadsWeekly Downloads

15,243

Version

1.20.1

License

GPL-2.0-or-later

Unpacked Size

47 kB

Total Files

10

Last publish

Collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar