340 lines
11 KiB
Markdown
340 lines
11 KiB
Markdown
|
|
### `core/edit-post` 存储库
|
|||
|
|
|
|||
|
|
私有选择器:
|
|||
|
|
- `getEditedPostTemplateId`
|
|||
|
|
|
|||
|
|
## edit-site
|
|||
|
|
|
|||
|
|
### `core/edit-site` 存储库
|
|||
|
|
|
|||
|
|
私有操作:
|
|||
|
|
- `registerRoute`
|
|||
|
|
- `setEditorCanvasContainerView`
|
|||
|
|
|
|||
|
|
私有选择器:
|
|||
|
|
- `getRoutes`
|
|||
|
|
- `getEditorCanvasContainerView`
|
|||
|
|
|
|||
|
|
# Gutenberg 私有 API
|
|||
|
|
|
|||
|
|
本文概述了 Gutenberg 包暴露的私有 API。这些 API 用于实现 Gutenberg 编辑器(文章编辑器、站点编辑器、核心区块及其他功能)的组成部分,但未向插件和主题开发者或自定义 Gutenberg 集成的开发者公开。
|
|||
|
|
|
|||
|
|
本文档旨在展示我们拥有多少私有 API,以及如何利用 `@wordpress/*` 系列包提供的库和框架来构建 Gutenberg 编辑器应用。
|
|||
|
|
|
|||
|
|
## data
|
|||
|
|
|
|||
|
|
注册器包含两个私有方法:
|
|||
|
|
- `privateActionsOf`
|
|||
|
|
- `privateSelectorsOf`
|
|||
|
|
|
|||
|
|
每个存储库均提供用于注册私有选择器/操作的私有 API:
|
|||
|
|
- `privateActions`
|
|||
|
|
- `registerPrivateActions`
|
|||
|
|
- `privateSelectors`
|
|||
|
|
- `registerPrivateSelectors`
|
|||
|
|
|
|||
|
|
## blocks
|
|||
|
|
|
|||
|
|
### `core/blocks` 存储库
|
|||
|
|
|
|||
|
|
私有操作:
|
|||
|
|
- `addBlockBindingsSource`
|
|||
|
|
- `removeBlockBindingsSource`
|
|||
|
|
- `addBootstrappedBlockType`
|
|||
|
|
- `addUnprocessedBlockType`
|
|||
|
|
|
|||
|
|
私有选择器:
|
|||
|
|
- `getAllBlockBindingsSources`
|
|||
|
|
- `getBlockBindingsSource`
|
|||
|
|
- `getBootstrappedBlockType`
|
|||
|
|
- `getSupportedStyles`
|
|||
|
|
- `getUnprocessedBlockTypes`
|
|||
|
|
- `hasContentRoleAttribute`
|
|||
|
|
|
|||
|
|
## components
|
|||
|
|
|
|||
|
|
私有导出项:
|
|||
|
|
- `__experimentalPopoverLegacyPositionToPlacement`
|
|||
|
|
- `ComponentsContext`
|
|||
|
|
- `Tabs`
|
|||
|
|
- `Theme`
|
|||
|
|
- `Menu`
|
|||
|
|
- `kebabCase`
|
|||
|
|
|
|||
|
|
## commands
|
|||
|
|
|
|||
|
|
私有导出项:
|
|||
|
|
- `useCommandContext`(2023 年 5 月通过 #50543 添加)
|
|||
|
|
|
|||
|
|
### `core/commands` 存储库
|
|||
|
|
|
|||
|
|
私有操作:
|
|||
|
|
- `setContext`(与 `useCommandContext` 同时添加)
|
|||
|
|
|
|||
|
|
## preferences
|
|||
|
|
|
|||
|
|
私有导出项(2024 年 1 月通过 #57639 添加):
|
|||
|
|
- `PreferenceBaseOption`
|
|||
|
|
- `PreferenceToggleControl`
|
|||
|
|
- `PreferencesModal`
|
|||
|
|
- `PreferencesModalSection`
|
|||
|
|
- `PreferencesModalTabs`
|
|||
|
|
|
|||
|
|
仅有一个公开导出的组件!
|
|||
|
|
- `PreferenceToggleMenuItem`
|
|||
|
|
|
|||
|
|
## block-editor
|
|||
|
|
|
|||
|
|
私有导出项:
|
|||
|
|
- `AdvancedPanel`
|
|||
|
|
- `BackgroundPanel`
|
|||
|
|
- `BorderPanel`
|
|||
|
|
- `ColorPanel`
|
|||
|
|
- `DimensionsPanel`
|
|||
|
|
- `FiltersPanel`
|
|||
|
|
- `GlobalStylesContext`
|
|||
|
|
- `ImageSettingsPanel`
|
|||
|
|
- `TypographyPanel`
|
|||
|
|
- `areGlobalStyleConfigsEqual`
|
|||
|
|
- `getBlockCSSSelector`
|
|||
|
|
- `getBlockSelectors`
|
|||
|
|
- `getGlobalStylesChanges`
|
|||
|
|
- `getLayoutStyles`
|
|||
|
|
- `toStyles`
|
|||
|
|
- `useGlobalSetting`
|
|||
|
|
- `useGlobalStyle`
|
|||
|
|
- `useGlobalStylesOutput`
|
|||
|
|
- `useGlobalStylesOutputWithConfig`
|
|||
|
|
- `useGlobalStylesReset`
|
|||
|
|
- `useHasBackgroundPanel`
|
|||
|
|
- `useHasBorderPanel`
|
|||
|
|
- `useHasBorderPanelControls`
|
|||
|
|
- `useHasColorPanel`
|
|||
|
|
- `useHasDimensionsPanel`
|
|||
|
|
- `useHasFiltersPanel`
|
|||
|
|
- `useHasImageSettingsPanel`
|
|||
|
|
- `useHasTypographyPanel`
|
|||
|
|
- `useSettingsForBlockElement`
|
|||
|
|
- `ExperimentalBlockCanvas`:公共 `BlockCanvas` 的变体,包含多个额外属性:`contentRef`、`shouldIframe`、`iframeProps`。
|
|||
|
|
- `ExperimentalBlockEditorProvider`:公共 `BlockEditorProvider` 的变体,过滤掉若干私有/实验性设置。另请参阅 `__experimentalUpdateSettings`。
|
|||
|
|
- `getDuotoneFilter`
|
|||
|
|
- `getRichTextValues`
|
|||
|
|
- `PrivateQuickInserter`
|
|||
|
|
- `extractWords`
|
|||
|
|
- `getNormalizedSearchTerms`
|
|||
|
|
- `normalizeString`
|
|||
|
|
- `PrivateListView`
|
|||
|
|
- `ResizableBoxPopover`
|
|||
|
|
- `BlockInfo`
|
|||
|
|
- `useHasBlockToolbar`
|
|||
|
|
- `cleanEmptyObject`
|
|||
|
|
- `BlockQuickNavigation`
|
|||
|
|
- `LayoutStyle`
|
|||
|
|
- `BlockRemovalWarningModal`
|
|||
|
|
- `useLayoutClasses`
|
|||
|
|
- `useLayoutStyles`
|
|||
|
|
- `DimensionsTool`
|
|||
|
|
- `ResolutionTool`
|
|||
|
|
- `TabbedSidebar`
|
|||
|
|
- `TextAlignmentControl`
|
|||
|
|
- `usesContextKey`
|
|||
|
|
- `useFlashEditableBlocks`
|
|||
|
|
- `useZoomOut`
|
|||
|
|
- `globalStylesDataKey`
|
|||
|
|
- `globalStylesLinksDataKey`
|
|||
|
|
- `selectBlockPatternsKey`
|
|||
|
|
- `requiresWrapperOnCopy`
|
|||
|
|
- `PrivateRichText`:额外属性 `readOnly` 于 #58916 和 #60327(2024 年 2 月和 3 月)添加。
|
|||
|
|
- `PrivateInserterLibrary`:额外属性 `onPatternCategorySelection` 于 #62130(2024 年 5 月)添加。
|
|||
|
|
- `reusableBlocksSelectKey`
|
|||
|
|
- `PrivateBlockPopover`:包含两个额外属性 `__unstableContentRef` 和 `__unstablePopoverSlot`。
|
|||
|
|
- `PrivatePublishDateTimePicker`:公共 `PublishDateTimePicker` 的变体,包含两个额外属性:`isCompact` 和 `showPopoverHeaderActions`。
|
|||
|
|
- `useSpacingSizes`
|
|||
|
|
- `useBlockDisplayTitle`
|
|||
|
|
- `__unstableBlockStyleVariationOverridesWithConfig`
|
|||
|
|
- `setBackgroundStyleDefaults`
|
|||
|
|
- `sectionRootClientIdKey`
|
|||
|
|
- `__unstableCommentIconFill`
|
|||
|
|
- `__unstableCommentIconToolbarFill`
|
|||
|
|
|
|||
|
|
### `core/block-editor` 存储库
|
|||
|
|
|
|||
|
|
私有操作:
|
|||
|
|
- `__experimentalUpdateSettings`:公共 `updateSettings` 操作的实验版本,用于过滤部分私有/实验性设置。
|
|||
|
|
- `clearBlockRemovalPrompt`:清除区块移除提示
|
|||
|
|
- `deleteStyleOverride`:删除样式覆盖
|
|||
|
|
- `ensureDefaultBlock`:确保默认区块存在
|
|||
|
|
- `expandBlock`:展开区块
|
|||
|
|
- `hideBlockInterface`:隐藏区块界面
|
|||
|
|
- `modifyContentLockBlock`:修改内容锁定区块
|
|||
|
|
- `privateRemoveBlocks`:私有移除区块
|
|||
|
|
- `resetZoomLevel`:重置缩放级别
|
|||
|
|
- `setBlockRemovalRules`:设置区块移除规则
|
|||
|
|
- `setInsertionPoint`:设置插入点
|
|||
|
|
- `setLastFocus`:设置最后焦点
|
|||
|
|
- `setOpenedBlockSettingsMenu`:设置已打开的区块设置菜单
|
|||
|
|
- `setStyleOverride`:设置样式覆盖
|
|||
|
|
- `setZoomLevel`:设置缩放级别
|
|||
|
|
- `showBlockInterface`:显示区块界面
|
|||
|
|
- `startDragging`:开始拖拽
|
|||
|
|
- `stopDragging`:停止拖拽
|
|||
|
|
- `stopEditingAsBlocks`:停止以区块形式编辑
|
|||
|
|
|
|||
|
|
私有选择器:
|
|||
|
|
- `getAllPatterns`:获取所有模式
|
|||
|
|
- `getBlockRemovalRules`:获取区块移除规则
|
|||
|
|
- `getBlockSettings`:获取区块设置
|
|||
|
|
- `getBlockStyles`:获取区块样式
|
|||
|
|
- `getBlockWithoutAttributes`:获取无属性区块
|
|||
|
|
- `getClosestAllowedInsertionPoint`:获取最近允许插入点
|
|||
|
|
- `getClosestAllowedInsertionPointForPattern`:获取模式最近允许插入点
|
|||
|
|
- `getContentLockingParent`:获取内容锁定父级
|
|||
|
|
- `getEnabledBlockParents`:获取启用区块父级
|
|||
|
|
- `getEnabledClientIdsTree`:获取启用的客户端ID树
|
|||
|
|
- `getExpandedBlock`:获取已展开区块
|
|||
|
|
- `getInserterMediaCategories`:获取插入器媒体分类
|
|||
|
|
- `getInsertionPoint`:获取插入点
|
|||
|
|
- `getLastFocus`:获取最后焦点
|
|||
|
|
- `getLastInsertedBlocksClientIds`:获取最后插入区块客户端ID
|
|||
|
|
- `getOpenedBlockSettingsMenu`:获取已打开区块设置菜单
|
|||
|
|
- `getParentSectionBlock`:获取父级区块区域
|
|||
|
|
- `getPatternBySlug`:通过别名获取模式
|
|||
|
|
- `getRegisteredInserterMediaCategories`:获取已注册插入器媒体分类
|
|||
|
|
- `getRemovalPromptData`:获取移除提示数据
|
|||
|
|
- `getReusableBlocks`:获取可重用区块
|
|||
|
|
- `getSectionRootClientId`:获取区域根客户端ID
|
|||
|
|
- `getStyleOverrides`:获取样式覆盖
|
|||
|
|
- `getTemporarilyEditingAsBlocks`:获取临时以区块形式编辑状态
|
|||
|
|
- `getTemporarilyEditingFocusModeToRevert`:获取待恢复的临时编辑焦点模式
|
|||
|
|
- `getZoomLevel`:获取缩放级别
|
|||
|
|
- `hasAllowedPatterns`:检查是否存在允许模式
|
|||
|
|
- `isBlockInterfaceHidden`:检查区块界面是否隐藏
|
|||
|
|
- `isBlockSubtreeDisabled`:检查区块子树是否禁用
|
|||
|
|
- `isDragging`:检查是否正在拖拽
|
|||
|
|
- `isResolvingPatterns`:检查是否正在解析模式
|
|||
|
|
- `isSectionBlock`:检查是否为区域区块
|
|||
|
|
- `isZoomOut`:检查是否处于缩小状态
|
|||
|
|
|
|||
|
|
## core-data
|
|||
|
|
|
|||
|
|
私有导出:
|
|||
|
|
- `useEntityRecordsWithPermissions`:带权限的实体记录钩子
|
|||
|
|
|
|||
|
|
### `core` 存储库
|
|||
|
|
|
|||
|
|
私有操作:
|
|||
|
|
- `receiveRegisteredPostMeta`:接收已注册文章元数据
|
|||
|
|
- `editMediaEntity`:编辑媒体实体
|
|||
|
|
|
|||
|
|
私有选择器:
|
|||
|
|
- `getBlockPatternsForPostType`:获取文章类型区块模式
|
|||
|
|
- `getEntityRecordPermissions`:获取实体记录权限
|
|||
|
|
- `getEntityRecordsPermissions`:获取实体记录集权限
|
|||
|
|
- `getNavigationFallbackId`:获取导航回退ID
|
|||
|
|
- `getRegisteredPostMeta`:获取已注册文章元数据
|
|||
|
|
- `getUndoManager`:获取撤销管理器
|
|||
|
|
|
|||
|
|
## patterns(2023年8月创建的包,无公开导出,所有内容均为私有)
|
|||
|
|
|
|||
|
|
私有导出:
|
|||
|
|
- `OverridesPanel`:覆盖面板
|
|||
|
|
- `CreatePatternModal`:创建模式模态框
|
|||
|
|
- `CreatePatternModalContents`:创建模式模态框内容
|
|||
|
|
- `DuplicatePatternModal`:复制模式模态框
|
|||
|
|
- `isOverridableBlock`:检查是否为可覆盖区块
|
|||
|
|
- `hasOverridableBlocks`:检查是否存在可覆盖区块
|
|||
|
|
- `useDuplicatePatternProps`:复制模式属性钩子
|
|||
|
|
- `RenamePatternModal`:重命名模式模态框
|
|||
|
|
- `PatternsMenuItems`:模式菜单项
|
|||
|
|
- `RenamePatternCategoryModal`:重命名模式分类模态框
|
|||
|
|
- `PatternOverridesControls`:模式覆盖控件
|
|||
|
|
- `ResetOverridesControl`:重置覆盖控件
|
|||
|
|
- `PatternOverridesBlockControls`:模式覆盖区块控件
|
|||
|
|
- `useAddPatternCategory`:添加模式分类钩子
|
|||
|
|
- `PATTERN_TYPES`:模式类型
|
|||
|
|
- `PATTERN_DEFAULT_CATEGORY`:模式默认分类
|
|||
|
|
- `PATTERN_USER_CATEGORY`:模式用户分类
|
|||
|
|
- `EXCLUDED_PATTERN_SOURCES`:排除的模式来源
|
|||
|
|
- `PATTERN_SYNC_TYPES`:模式同步类型
|
|||
|
|
- `PARTIAL_SYNCING_SUPPORTED_BLOCKS`:支持部分同步的区块
|
|||
|
|
|
|||
|
|
### `core/patterns` 存储库
|
|||
|
|
|
|||
|
|
私有操作:
|
|||
|
|
- `convertSyncedPatternToStatic`:将同步模式转换为静态
|
|||
|
|
- `createPattern`:创建模式
|
|||
|
|
- `createPatternFromFile`:从文件创建模式
|
|||
|
|
- `setEditingPattern`:设置编辑模式
|
|||
|
|
|
|||
|
|
私有选择器:
|
|||
|
|
- `isEditingPattern`:检查是否正在编辑模式
|
|||
|
|
|
|||
|
|
## block-library
|
|||
|
|
|
|||
|
|
私有导出:
|
|||
|
|
- `BlockKeyboardShortcuts`:区块键盘快捷键
|
|||
|
|
|
|||
|
|
## router(仅私有导出)
|
|||
|
|
|
|||
|
|
私有导出:
|
|||
|
|
- `useHistory`:历史记录钩子
|
|||
|
|
- `useLocation`:位置钩子
|
|||
|
|
- `RouterProvider`:路由提供者
|
|||
|
|
|
|||
|
|
## core-commands(仅私有导出)
|
|||
|
|
|
|||
|
|
私有导出:
|
|||
|
|
- `useCommands`:命令钩子
|
|||
|
|
|
|||
|
|
## editor
|
|||
|
|
|
|||
|
|
私有导出:
|
|||
|
|
- `CreateTemplatePartModal`:创建模板部件模态框
|
|||
|
|
- `BackButton`:返回按钮
|
|||
|
|
- `EntitiesSavedStatesExtensible`:可扩展实体保存状态
|
|||
|
|
- `Editor`:编辑器
|
|||
|
|
- `EditorContentSlotFill`:编辑器内容插槽填充
|
|||
|
|
- `GlobalStylesProvider`:全局样式提供者
|
|||
|
|
- `mergeBaseAndUserConfigs`:合并基础与用户配置
|
|||
|
|
- `PluginPostExcerpt`:插件文章摘要
|
|||
|
|
- `PostCardPanel`:文章卡片面板
|
|||
|
|
- `PreferencesModal`:偏好设置模态框
|
|||
|
|
- `usePostActions`:文章操作钩子
|
|||
|
|
- `ToolsMoreMenuGroup`:工具更多菜单组
|
|||
|
|
- `ViewMoreMenuGroup`:视图更多菜单组
|
|||
|
|
- `ResizableEditor`:可调整大小编辑器
|
|||
|
|
- `registerCoreBlockBindingsSources`:注册核心区块绑定源
|
|||
|
|
- `interfaceStore`:界面存储库
|
|||
|
|
- `ActionItem`:操作项
|
|||
|
|
- `ComplementaryArea`:补充区域
|
|||
|
|
- `ComplementaryAreaMoreMenuItem`:补充区域更多菜单项
|
|||
|
|
- `FullscreenMode`:全屏模式
|
|||
|
|
- `InterfaceSkeleton`:界面骨架
|
|||
|
|
- `PinnedItems`:固定项目
|
|||
|
|
|
|||
|
|
### `core/editor` 存储库
|
|||
|
|
|
|||
|
|
私有操作:
|
|||
|
|
- `createTemplate`:创建模板
|
|||
|
|
- `hideBlockTypes`:隐藏区块类型
|
|||
|
|
- `registerEntityAction`:注册实体操作
|
|||
|
|
- `registerPostTypeActions`:注册文章类型操作
|
|||
|
|
- `removeTemplates`:移除模板
|
|||
|
|
- `revertTemplate`:恢复模板
|
|||
|
|
- `saveDirtyEntities`:保存未保存实体
|
|||
|
|
- `setCurrentTemplateId`:设置当前模板ID
|
|||
|
|
- `setIsReady`:设置就绪状态
|
|||
|
|
- `showBlockTypes`:显示区块类型
|
|||
|
|
- `unregisterEntityAction`:取消注册实体操作
|
|||
|
|
|
|||
|
|
私有选择器:
|
|||
|
|
- `getEntityActions`:获取实体操作
|
|||
|
|
- `getInserter`:获取插入器
|
|||
|
|
- `getInserterSidebarToggleRef`:获取插入器侧边栏切换引用
|
|||
|
|
- `getListViewToggleRef`:获取列表视图切换引用
|
|||
|
|
- `getPostBlocksByName`:通过名称获取文章区块
|
|||
|
|
- `getPostIcon`:获取文章图标
|
|||
|
|
- `hasPostMetaChanges`:检查文章元数据是否有变更
|
|||
|
|
- `isEntityReady`:检查实体是否就绪
|
|||
|
|
|
|||
|
|
## edit-post
|