blockly

blockly 软件包

说明
屏蔽 一个块的类。通常不直接调用,建议使用 workspace.newBlock()。
BlockFlyoutInflater 负责为弹出式菜单创建块的类。
BlockNavigationPolicy 一组用于控制从块进行键盘导航的规则。
BlockSvg 用于表示块的 SVG 的类。通常不直接调用,建议使用 workspace.newBlock()。
ButtonFlyoutInflater 负责为弹出式菜单创建按钮的类。
CodeGenerator 用于将块翻译成某种语言的代码生成器的类。
CollapsibleToolboxCategory 可折叠工具箱中类别的类。
ComponentManager 工作区中注册的所有项目的管理器。
连接 用于表示块之间连接的类。
ConnectionChecker 用于连接类型检查逻辑的类。
ConnectionDB 连接数据库。连接按其垂直分量的大小顺序存储。这样,就可以使用二分搜索快速查找某个区域中的连接。
ConnectionNavigationPolicy 一组用于控制从连接进行的键盘导航的规则。
ContextMenuRegistry 用于注册上下文菜单项的类。此对象旨在作为单例使用。您不应创建新实例,而只能通过 ContextMenuRegistry.registry 访问此类。
DeleteArea 用于可删除放置在其顶部的块或气泡的组件的抽象类。
DragTarget 当块或气泡拖动到组件上或放置在组件上时,具有自定义行为的组件的抽象类。
FieldCheckbox 复选框字段的类。
FieldDropdown 用于可编辑下拉字段的类。
FieldImage 用于块上图片的类。
FieldLabel 用于表示不可编辑、不可序列化的文本字段的类。
FieldLabelSerializable 用于不可编辑的可序列化文本字段的类。
FieldNavigationPolicy 一组用于控制从字段进行键盘导航的规则。
FieldNumber 用于可编辑数字字段的类。
FieldTextInput 可编辑文本字段的类。
FieldVariable 用于变量下拉字段的类。
FlyoutButton 弹出式菜单中按钮或标签的类。
FlyoutButtonNavigationPolicy 一组用于控制从弹出式按钮进行键盘导航的规则。
FlyoutItem 在弹出式菜单中显示的商品的表示形式。
FlyoutMetricsManager 计算悬浮窗工作区的指标。这些指标主要用于调整弹出式菜单的滚动条大小。
FlyoutNavigationPolicy 用于在弹出式菜单中的项之间导航的通用导航政策。
FlyoutNavigator
FlyoutSeparator 表示弹出式菜单中元素之间的间距。
FlyoutSeparatorNavigationPolicy 一组用于控制从弹出式菜单分隔线进行键盘导航的规则。这是一个空操作占位符,因为无法导航到弹出式菜单分隔线。
FocusableTreeTraverser 一种用于 IFocusableTree 实现的辅助实用程序,可帮助进行常见的树遍历。
FocusManager

一个单例(每个页面一个),用于跨一个或多个 IFocusableTree 管理 Blockly 焦点,并以双向方式将此焦点与 DOM 同步。

如果调用方希望明确更改页面上所选 Blockly 组件的输入焦点,应使用此管理器中的焦点函数。

该管理器负责处理来自 DOM 的焦点事件(可能因用户点击网页元素而产生),并确保相应的 IFocusableNode 清楚地标记为主动/被动突出显示,就像通过调用 focusNode() 来表示一样。

手势 单个手势的类。
网格 工作区网格的类。
HorizontalFlyout 用于浮出式界面的类。
输入 用于包含可选字段的输入的类。
InsertionMarkerPreviewer
KeyboardNavigationController KeyboardNavigationController 用于处理 Blockly 全局键盘导航行为的协调,例如启用/停用完整的光标可视化。
LabelFlyoutInflater 负责为弹出式菜单创建标签的类。
LineCursor 用于线条光标的类。
Marker 标记的类。用于在键盘导航中保存 Blockly AST 中的位置。
MarkerManager 用于管理工作区中的多个标记和光标的类。
菜单 一个基本菜单类。
MenuItem 表示菜单中项的类。
MetricsManager 所有工作区指标计算的管理器。
名称 用于实体名称(变量、过程等)数据库的类。
Navigator 负责确定焦点应在何处移动以响应键盘导航命令的类。
选项 解析用户指定的选项,并在未指定行为时使用合理的默认值。
RenderedConnection 用于可能在屏幕上呈现的块之间的连接的类。
滚动条 用于纯 SVG 滚动条的类。此技术提供的滚动条可保证正常运行,但外观或行为可能与系统滚动条不同。
ScrollbarPair 用于一对滚动条的类。横向和纵向。
SeparatorFlyoutInflater 负责为弹出式菜单创建分隔线的类。
ShortcutRegistry 用于注册键盘快捷键的类。此对象旨在作为单例使用。您不应创建新实例,而只能通过 ShortcutRegistry.registry 访问此类。
主题 主题的类。
ThemeManager 用于存储和更新工作区的主题和界面组件的类。
Toast 用于显示和关闭临时通知的类。
工具箱 用于工具箱的类。创建工具箱的 DOM。
ToolboxCategory 工具箱中类别的类。
ToolboxItem 工具箱中项的类。
ToolboxSeparator 工具箱分隔线的类。这是工具箱上显示的细视觉线条。此项内容无法互动。
回收站 回收站的类。
UnattachedFieldError 表示一种错误,即字段在实际附加到相应块之前,尝试访问其块或有关其块的信息。
VariableMap 变量映射的类。包含一个字典数据结构,其中变量类型为键,变量列表为值。变量列表是键所指示的类型。
VariableModel 变量模型的类。保存变量的相关信息,包括名称、ID 和类型。
VerticalFlyout 用于浮出式界面的类。
Workspace 工作区的类。这是一个包含块的数据结构。没有界面,可以无头创建。
WorkspaceAudio 用于加载、存储和播放工作区音频的类。
WorkspaceDragger 工作区拖动器的类。当通过鼠标或触摸操作拖动工作区时,它会移动工作区。
WorkspaceNavigationPolicy 一组用于控制工作区键盘导航的规则。
WorkspaceSvg 工作区的类。这是一个屏幕区域,其中包含可选的回收站、滚动条、气泡和拖动功能。
ZoomControls 用于缩放控件的类。

抽象类

抽象类 说明
字段 可修改字段的抽象类。
Flyout 用于浮出式界面的类。

枚举

枚举 说明
ConnectionType 连接或输入类型的枚举。

函数

函数 说明
getFocusManager() FocusManager.getFocusManager 的便捷函数。
hasBubble(obj) 类型保护,用于检查给定对象是否为 IHasBubble。
hideChaff(opt_onlyClosePopups) 关闭提示、上下文菜单、下拉选择项等。
inject(container, opt_options) 将 Blockly 编辑器注入到指定的容器元素(通常是 div)中。
isCopyable(obj)
isDeletable(obj) 返回指定对象是否为 IDeletable。
isDraggable(obj) 返回给定对象是否为 IDraggable。
isIcon(obj) 用于检查给定对象是否为 IIcon 的类型保护。
isPaster(obj)
isRenderedElement(obj)
isSelectable(obj) 检查给定对象是否为 ISelectable。
isSerializable(obj) 用于检查给定对象是否为 ISerializable 的类型保护。
isVariableBackedParameterModel(param) 返回指定对象是否为变量持有者。
navigateBlock(current, delta) 返回相对于所提供块子元素的下一个可导航项。
navigateStacks(current, delta) 返回相对于给定元素堆栈的下一个/上一个堆栈。
setLocale(locale)

将语言区域(即本地化消息/块文本等)设置为给定的语言区域。

从脚本标记加载时,这没有用/没有必要,因为消息会自动插入到 Blockly.Msg 对象中。不过,我们在脚本标记和非脚本标记上下文中都提供了它,以便 tscompiler 可以正确创建我们的类型定义文件。

接口

接口 说明
BlocklyOptions Blockly 选项。
FieldCheckboxConfig 复选框字段的配置选项。
FieldCheckboxFromJsonConfig 复选框字段的 fromJson 配置选项。
FieldConfig 基本字段的额外配置选项。
FieldDropdownFromJsonConfig 下拉字段的 fromJson 配置。
FieldImageConfig 图片字段的配置选项。
FieldImageFromJsonConfig 图片字段的 fromJson 配置选项。
FieldLabelConfig 标签字段的配置选项。
FieldLabelFromJsonConfig 标签字段的 fromJson 配置选项。
FieldNumberConfig 数字字段的配置选项。
FieldNumberFromJsonConfig 数字字段的 fromJson 配置选项。
FieldTextInputFromJsonConfig 文本输入字段的 fromJson 配置选项。
FieldVariableConfig 变量字段的配置选项。
FieldVariableFromJsonConfig 变量字段的 fromJson 配置选项。
IAutoHideable 可自动隐藏的组件的接口。
IBoundedElement 有界元素接口。
IBubble 气泡界面。
ICollapsibleToolboxItem 工具箱中可折叠项的接口。
IComponent 可向 ComponentManager 注册的工作区组件的接口。
IConnectionChecker 用于连接类型检查逻辑的类。
IConnectionPreviewer 显示放置后积木将连接到的位置的直观“预览”。
IContextMenu
ICopyable
IDeletable 可删除对象的接口。
IDeleteArea 用于可删除放置在其顶部的块或气泡的组件的接口。
IDraggable 表示可拖动的对象。
IDragger
IDragStrategy
IDragTarget 用于在块或气泡拖动到组件上或放置在组件上时具有自定义行为的组件的接口。
IFlyout 悬浮框的界面。
IFlyoutInflater
IFocusableNode 表示任何可以获得输入焦点的对象。
IFocusableTree

表示具有自己的主动/被动焦点上下文的可聚焦元素树。

请注意,焦点由 FocusManager 处理,树实现一次最多只能有一个 IFocusableNode 处于聚焦状态。如果树本身具有焦点,则树的焦点节点被视为“活动”(如果另一个树具有焦点,则为“被动”)。

焦点在多个树之间共享,其中每个树可以有一个有效节点或被动节点(并且在任何给定时间,整个页面上只能有一个有效节点)。被动焦点是指在用户导航回之前获得焦点的树时,向用户提供有关焦点将恢复到何处的上下文。

请注意,如果需要树的当前焦点节点(被动或主动),可以使用 FocusableTreeTraverser.findFocusedNode。

请注意,如果需要为此树检索特定节点,请使用 lookUpFocusableNode 或 FocusableTreeTraverser.findFocusableNodeFor。

IHasBubble
IIcon
IKeyboardAccessible 用于处理键盘快捷键的对象的接口。
ImageProperties 人类可读的图片下拉菜单选项的定义。
IMetricsManager 指标管理器的接口。
IMovable 可移动对象的接口。
INavigationPolicy 一组用于指定键盘导航应前往何处的规则。
IPaster 可将数据粘贴到工作区的对象。
IPositionable 位于工作区顶部的组件的接口。
IRegistrable 可注册的 Blockly 组件的接口。
IRenderedElement
ISelectable

可选择对象的接口。

实现通常应使用其 onNodeFocus() 和 onNodeBlur() 实现来分别调用 setSelected()(使用自身和 null),以确保正确更新选择并触发选择更改事件。

ISelectableToolboxItem 工具箱中可供选择的项的界面。
ISerializable
IStyleable 可向其添加样式的对象的接口。
IToolbox 工具箱的界面。
IToolboxItem 工具箱中项的接口。
IVariableBackedParameterModel 用于保存变量模型的形参模型的接口。
IVariableMap

变量映射是负责存储和管理工作区中引用的变量集的容器对象。

这些方法中的任何一种都可以定义有关哪些名称和类型合法的不变量,如果不满足这些不变量,则会抛出异常。

IVariableModel
IVariableState 表示给定变量的状态。
ToastOptions Toast 通知的显示/配置选项。

命名空间

命名空间 说明
屏蔽
blockAnimations
blockRendering
browserEvents
气泡
bumpObjects
剪贴板
CollapsibleToolboxCategory
评论
common
ComponentManager
常量
ContextMenu
ContextMenuItems
ContextMenuRegistry
Css
对话
拖动
事件
扩展功能
fieldRegistry
geras
图标
ICopyable
输入
layers
libraryBlocks
MetricsManager
名称
选项
程序
registry
RenderedConnection
renderManagement
序列化
ShortcutItems
ShortcutRegistry
主题
ThemeManager
主题
thrasos
Toast 屏幕阅读器应以何种程度的积极性朗读 Toast 的选项。这些值与 aria-live 的值相对应。
ToolboxCategory
ToolboxSeparator
提示
轻触
uiPosition
utils
变量
VariablesDynamic
WidgetDiv
Xml
zelos

变量

变量 说明
屏蔽设置 从块类型名称到块原型对象的映射。
COLLAPSE_CHARS
COLLAPSED_FIELD_NAME
COLLAPSED_INPUT_NAME
config 一个对象,包含 Blockly 上我们希望开发者能够更改的所有值。
defineBlocksWithJsonArray 根据 JSON 块定义数组(可能由 Blockly 开发者工具生成)定义块。
DELETE_VARIABLE_ID
DropDownDiv
getMainWorkspace 返回主工作区。返回上次使用的主工作区(基于焦点)。尽量不要使用此函数,尤其是在网页上有多个 Blockly 实例的情况下。
getSelected 返回当前所选的可复制对象。
INPUT_VALUE
JavaScript
keyboardNavigationController 键盘导航控制器的单例实例。
消息 本地化消息的字典。
NEXT_STATEMENT
OPPOSITE_TYPE
OUTPUT_VALUE
PREVIOUS_STATEMENT
PROCEDURE_CATEGORY_NAME 用于工具箱 XML 中类别“自定义”属性的字符串。此字符串表示应使用程序块动态填充类别。
RENAME_VARIABLE_ID
setParentContainer 设置父容器。这是首次调用 Blockly.inject 时将 WidgetDiv、dropDownDiv 和 Tooltip 渲染到的容器元素。如果在首次调用 Blockly.inject 之后调用此方法,则此方法为 NOP。
svgResize 调整 SVG 图片的大小,使其完全填满容器。当视图实际更改大小时(例如在窗口大小调整/设备屏幕方向更改时),调用此方法。请参阅 workspace.resizeContents,了解如何在内容发生变化时(例如,添加或移除块时)调整工作区大小。记录 SVG 图片的高度/宽度。
TOOLBOX_AT_BOTTOM
TOOLBOX_AT_LEFT
TOOLBOX_AT_RIGHT
TOOLBOX_AT_TOP
VARIABLE_CATEGORY_NAME 用于工具箱 XML 中类别“自定义”属性的字符串。此字符串表示应使用变量块动态填充类别。
VARIABLE_DYNAMIC_CATEGORY_NAME 用于工具箱 XML 中类别“自定义”属性的字符串。此字符串表示应使用变量块动态填充类别。
VERSION Blockly 核心版本。此常量会被 build 脚本 (npm run build) 替换为 package.json 中的版本值。这是由 Closure 编译器在 buildCompressed gulp 任务中完成的。对于本地 build,您可以将 --define='Blockly.VERSION=X.Y.Z' 传递给编译器,以替换此常量。

类型别名

类型别名 说明
FieldCheckboxValidator 在设置字段值之前,用于验证对该值所做更改的函数。
FieldDropdownConfig 下拉字段的配置选项。
FieldDropdownValidator 在设置字段值之前,用于验证对该值所做更改的函数。
FieldNumberValidator 在设置字段值之前,用于验证对该值所做更改的函数。
FieldTextInputConfig 文本输入字段的配置选项。
FieldTextInputValidator 在设置字段值之前,用于验证对该值所做更改的函数。
FieldValidator 在设置字段值之前,用于验证对该值所做更改的函数。
FieldVariableValidator 在设置字段值之前,用于验证对该值所做更改的函数。
ICopyData
MenuGenerator 菜单选项数组,或为 FieldDropdown 或其后代生成菜单选项数组的函数。
MenuGeneratorFunction 一种函数,用于为 FieldDropdown 或其后代生成菜单选项数组。
MenuOption 下拉菜单中的单个选项。可以是菜单分隔项的字符串字面量 separator,也可以是常规操作菜单项的数组。在后一种情况下,第一个元素是人类可读的值(文本、ImageProperties 对象或 HTML 元素),第二个元素是与语言无关的值。
ReturnEphemeralFocus

类型声明,用于在完成临时界面流程(例如对话框)后将焦点返回给 FocusManager。

如需了解详情,请参阅 FocusManager.takeEphemeralFocus。