362 lines
7.1 KiB
Markdown
362 lines
7.1 KiB
Markdown
# 编辑小工具
|
||
|
||
命名空间:`core/edit-widgets`
|
||
|
||
## 选择器
|
||
|
||
<!-- START TOKEN(Autogenerated selectors|../../../packages/edit-widgets/src/store/selectors.js) -->
|
||
|
||
### canInsertBlockInWidgetArea
|
||
|
||
判断是否可以将区块插入到小工具区域。
|
||
|
||
_参数_
|
||
|
||
- _state_ `Array`: 小工具区域的打开状态。
|
||
- _blockName_ `string`: 要插入的区块名称。
|
||
|
||
_返回值_
|
||
|
||
- `boolean`: 如果区块可以插入到小工具区域则返回 true。
|
||
|
||
### getEditedWidgetAreas
|
||
|
||
返回所有已编辑的小工具区域实体记录。
|
||
|
||
_返回值_
|
||
|
||
- `Object[]`: 已编辑的小工具区域实体记录列表。
|
||
|
||
### getIsWidgetAreaOpen
|
||
|
||
获取小工具区域是否处于打开状态。
|
||
|
||
_参数_
|
||
|
||
- _state_ `Array`: 小工具区域的打开状态。
|
||
- _clientId_ `string`: 小工具区域的客户端 ID。
|
||
|
||
_返回值_
|
||
|
||
- `boolean`: 如果小工具区域处于打开状态则返回 true。
|
||
|
||
### getParentWidgetAreaBlock
|
||
|
||
根据子级客户端 ID 返回父级小工具区域区块。
|
||
|
||
_参数_
|
||
|
||
- _clientId_ `string`: 小工具区域中某个区块的客户端 ID。
|
||
|
||
_返回值_
|
||
|
||
- `WPBlock`: 小工具区域区块。
|
||
|
||
### getReferenceWidgetBlocks
|
||
|
||
返回所有表示引用小工具的区块。
|
||
|
||
_参数_
|
||
|
||
- _referenceWidgetName_ `string`: 可选参数。如果指定,则只返回具有此名称的引用小工具。
|
||
|
||
_返回值_
|
||
|
||
- `Array`: 表示引用小工具的所有区块列表。
|
||
|
||
### getWidget
|
||
|
||
返回特定小工具 ID 的 API 小工具数据。
|
||
|
||
_参数_
|
||
|
||
- _id_ `number`: 小工具 ID。
|
||
|
||
_返回值_
|
||
|
||
- `Object`: 特定小工具 ID 的 API 小工具数据。
|
||
|
||
### getWidgetAreaForWidgetId
|
||
|
||
返回包含指定 widgetId 所标识区块的小工具区域。
|
||
|
||
_参数_
|
||
|
||
- _widgetId_ `string`: 小工具的 ID。
|
||
|
||
_返回值_
|
||
|
||
- `Object`: 包含小工具区域的对象。
|
||
|
||
### getWidgetAreas
|
||
|
||
返回所有 API 小工具区域。
|
||
|
||
_返回值_
|
||
|
||
- `Object[]`: API 小工具区域列表。
|
||
|
||
### getWidgets
|
||
|
||
返回所有 API 小工具。
|
||
|
||
_返回值_
|
||
|
||
- `Object[]`: API 小工具列表。
|
||
|
||
### isInserterOpened
|
||
|
||
判断插入器是否处于打开状态。
|
||
|
||
_参数_
|
||
|
||
- _state_ `Object`: 全局应用状态。
|
||
|
||
_返回值_
|
||
|
||
- `boolean`: 插入器是否处于打开状态。
|
||
|
||
### isListViewOpened
|
||
|
||
判断列表视图是否处于打开状态。
|
||
|
||
_参数_
|
||
|
||
- _state_ `Object`: 全局应用状态。
|
||
|
||
_返回值_
|
||
|
||
- `boolean`: 列表视图是否处于打开状态。
|
||
|
||
### isSavingWidgetAreas
|
||
|
||
判断是否有小工具区域正在被保存。
|
||
|
||
_返回值_
|
||
|
||
- `boolean`: 如果有小工具区域正在被保存则返回 true,否则返回 false。
|
||
|
||
### isWidgetSavingLocked
|
||
|
||
返回小工具保存是否被锁定。
|
||
|
||
_用法_
|
||
|
||
```jsx
|
||
import { __ } from '@wordpress/i18n';
|
||
import { store as widgetStore } from '@wordpress/edit-widgets';
|
||
import { useSelect } from '@wordpress/data';
|
||
|
||
const ExampleComponent = () => {
|
||
const isSavingLocked = useSelect(
|
||
( select ) => select( widgetStore ).isWidgetSavingLocked(),
|
||
[]
|
||
);
|
||
|
||
return isSavingLocked ? (
|
||
<p>{ __( '小工具保存已被锁定' ) }</p>
|
||
) : (
|
||
<p>{ __( '小工具保存未被锁定' ) }</p>
|
||
);
|
||
};
|
||
```
|
||
|
||
_参数_
|
||
|
||
- _state_ `Object`: 全局应用状态。
|
||
|
||
_返回值_
|
||
|
||
- `boolean`: 是否被锁定。
|
||
|
||
<!-- END TOKEN(Autogenerated selectors|../../../packages/edit-widgets/src/store/selectors.js) -->
|
||
|
||
## 操作
|
||
|
||
<!-- START TOKEN(Autogenerated actions|../../../packages/edit-widgets/src/store/actions.js) -->
|
||
|
||
### closeGeneralSidebar
|
||
|
||
返回表示用户关闭侧边栏的操作对象。
|
||
|
||
_返回值_
|
||
|
||
- `Object`: 操作创建器。
|
||
|
||
### lockWidgetSaving
|
||
|
||
返回用于表示小工具保存被锁定的操作对象。
|
||
|
||
_用法_
|
||
|
||
```js
|
||
import { store as widgetStore } from '@wordpress/edit-widgets';
|
||
import { useDispatch } from '@wordpress/data';
|
||
|
||
const ExampleComponent = () => {
|
||
const { lockWidgetSaving } = useDispatch( widgetStore );
|
||
return (
|
||
<Button onClick={ () => lockWidgetSaving( 'lockName' ) }>
|
||
{ __( '锁定小工具保存' ) }
|
||
</Button>
|
||
);
|
||
};
|
||
```
|
||
|
||
_参数_
|
||
|
||
- _lockName_ `string`: 锁名称。
|
||
|
||
_返回值_
|
||
|
||
- `Object`: 操作对象。
|
||
|
||
### moveBlockToWidgetArea
|
||
|
||
处理在小工具区域之间移动区块的操作。
|
||
|
||
_参数_
|
||
|
||
- _clientId_ `string`: 要移动区块的客户端 ID。
|
||
- _widgetAreaId_ `string`: 要将区块移动到的目标小工具区域 ID。
|
||
|
||
### persistStubPost
|
||
|
||
将指定 ID 的存根文章持久化到核心数据存储中。该文章仅存在于内存中,不应通过 API 保存。
|
||
|
||
_参数_
|
||
|
||
- _id_ `string`: 文章 ID。
|
||
- _blocks_ `Array`: 文章应包含的区块。
|
||
|
||
_返回值_
|
||
|
||
- `Object`: 文章对象。
|
||
|
||
### saveEditedWidgetAreas
|
||
|
||
将已编辑小工具区域中的所有区块转换为小工具,并提交批量请求一次性保存所有内容。
|
||
|
||
在成功或出错时创建 snackbar 通知。
|
||
|
||
_返回值_
|
||
|
||
- `Function`: 操作创建器。
|
||
|
||
### saveWidgetArea
|
||
|
||
将指定 ID 的小工具区域中的所有区块转换为小工具,并提交批量请求一次性保存所有内容。
|
||
|
||
_参数_
|
||
|
||
- _widgetAreaId_ `string`: 要处理的小工具区域 ID。
|
||
|
||
_返回值_
|
||
|
||
- `Function`: 操作创建器。
|
||
|
||
### saveWidgetAreas
|
||
|
||
将指定小工具区域中的所有区块转换为小工具,并提交批量请求一次性保存所有内容。
|
||
|
||
_参数_
|
||
|
||
- _widgetAreas_ `Object[]`: 要保存的小工具区域。
|
||
|
||
_返回值_
|
||
|
||
- `Function`: 操作创建器。
|
||
|
||
### setIsInserterOpened
|
||
|
||
返回用于打开/关闭插入器的操作对象。
|
||
|
||
_参数_
|
||
|
||
- _value_ `boolean|Object`: 插入器应打开(true)还是关闭(false)。要指定插入点,请使用对象。
|
||
- _value.rootClientId_ `string`: 要插入的根客户端 ID。
|
||
- _value.insertionIndex_ `number`: 要插入的索引位置。
|
||
|
||
_返回值_
|
||
|
||
- `Object`: 操作对象。
|
||
|
||
### setIsListViewOpened
|
||
|
||
返回用于打开/关闭列表视图的操作对象。
|
||
|
||
_参数_
|
||
|
||
- _isOpen_ `boolean`: 表示列表视图应打开还是关闭的布尔值。
|
||
|
||
_返回值_
|
||
|
||
- `Object`: 操作对象。
|
||
|
||
### setIsWidgetAreaOpen
|
||
|
||
设置小工具区域的打开状态。
|
||
|
||
_参数_
|
||
|
||
- _clientId_ `string`: 小工具区域的客户端 ID。
|
||
- _isOpen_ `boolean`: 小工具区域是否应打开。
|
||
|
||
_返回值_
|
||
|
||
- `Object`: 操作。
|
||
|
||
### setWidgetAreasOpenState
|
||
|
||
设置所有小工具区域的打开状态。
|
||
|
||
_参数_
|
||
|
||
- _widgetAreasOpenState_ `Object`: 所有小工具区域的打开状态。
|
||
|
||
_返回值_
|
||
|
||
- `Object`: 操作。
|
||
|
||
### setWidgetIdForClientId
|
||
|
||
设置特定 widgetId 对应的客户端 ID。
|
||
|
||
_参数_
|
||
|
||
- _clientId_ `number`: 客户端 ID。
|
||
- _widgetId_ `number`: 小工具 ID。
|
||
|
||
_返回值_
|
||
|
||
- `Object`: 操作。
|
||
|
||
### unlockWidgetSaving
|
||
|
||
返回用于表示小工具保存已解锁的操作对象。
|
||
|
||
_用法_
|
||
|
||
```js
|
||
import { store as widgetStore } from '@wordpress/edit-widgets';
|
||
import { useDispatch } from '@wordpress/data';
|
||
|
||
const ExampleComponent = () => {
|
||
const { unlockWidgetSaving } = useDispatch( widgetStore );
|
||
return (
|
||
<Button onClick={ () => unlockWidgetSaving( 'lockName' ) }>
|
||
{ __( '解锁小工具保存' ) }
|
||
</Button>
|
||
);
|
||
};
|
||
```
|
||
|
||
_参数_
|
||
|
||
- _lockName_ `string`: 锁名称。
|
||
|
||
_返回值_
|
||
|
||
- `Object`: 操作对象。
|
||
|
||
<!-- END TOKEN(Autogenerated actions|../../../packages/edit-widgets/src/store/actions.js) --> |