# 参考

# blockly 软件包

#

说明
ASTNode AST 节点的类。建议您使用其中一个 createNode 方法,而不是直接创建节点。
BasicCursor 用于基本光标的类。这将使用户能够通过点击“下一页”或“上一页”转到 AST 中的所有节点。
Block 一个块的类。通常不直接调用,建议使用 workspace.newBlock()。
BlockDragger 块拖动器的类。当用户通过鼠标或触摸操作来拖动工作区时,这些块会移到工作区中。
BlockDragSurfaceSvg 此类用于当前拖动的块的拖动表面。这是一个单独的 SVG,仅包含当前移动的块,或不包含任何内容。
BlockSvg 用于块的 SVG 表示法的类。通常不直接调用,建议使用 workspace.newBlock()。
Bubble 用于界面气泡的类。
BubbleDragger 气泡拖动器的类。当用户通过鼠标或触摸操作拖动气泡时,系统会在画布上移动这些内容。包括块评论、更改器、警告或工作区评论。
CodeGenerator 用于将代码块转换为语言的代码生成器类。
CollapsibleToolboxCategory 工具箱中某个类别的类,可收起。
Comment 注释的类。
ComponentManager 已向工作区注册的所有项的管理器。
Connection 用于块之间的连接的类。
ConnectionChecker 用于连接类型检查逻辑的类。
ConnectionDB 连接数据库。连接按其垂直组件的顺序存储。这样,使用二进制搜索可以快速查找某个区域内的连接。
ContextMenuRegistry 用于注册菜单项的类。此属性应是单例。您不应创建新实例,而应仅从 ContextMenuRegistry.registry 访问此类。
Cursor 光标的类。光标用于控制用户如何进行 Blockly AST 导航。
DeleteArea 组件的抽象类,该类可以删除放置在上面的块或气泡。
DragTarget 一个组件的抽象类,当某个组件或气泡在组件上方或下方拖动时,具有自定义行为的组件。
Field 可编辑字段的抽象类。
FieldAngle 用于可编辑角度字段的类。
FieldCheckbox 复选框字段的类。
FieldColour 颜色输入字段的类。
FieldDropdown 用于可修改下拉菜单字段的类。
FieldImage 用于块上的图像的类。
FieldLabel 用于不可修改、不可序列化的文本字段的类。
FieldLabelSerializable 用于不可修改且可序列化的文本字段的类。
FieldMultilineInput 用于可编辑文本字段的类。
FieldNumber 用于可修改的数字字段的类。
FieldTextInput
FieldVariable 变量的下拉字段的类。
Flyout 一个飞出课程。
FlyoutButton 用于飞出按钮或标签的类。
FlyoutMetricsManager 计算飞出工作区的指标。这些指标主要用于调整飞出滚动条的大小。
Gesture 用于一个手势的类。
Grid 工作区网格的类。
HorizontalFlyout 一个飞出课程。
Icon 图标的类。
Input 包含可选字段的输入的类。
InsertionMarkerManager 用于控制拖动期间连接更新的类。它主要负责查找最符合条件的连接,并在拖动期间根据需要突出显示或取消突出显示。
Marker 用于标记的类。该键用于在键盘导航中将位置保存在 Blockly AST 中。
MarkerManager 用于管理工作区上的多个标记和光标的类。
Menu 基本菜单类。
MenuItem 代表菜单项的类。
MetricsManager 所有工作区指标计算的管理器。
Mutator 转变器对话框的类。
Names 实体名称数据库(变量、过程等)的类。
Options 使用合理的默认设置解析用户指定的选项(行为未指定)。
RenderedConnection 此类用于连接可能在屏幕中呈现的块之间的连接。
Scrollbar 用于纯 SVG 滚动条的类。此技术提供的滚动条保证能够正常运行,但其外观或行为可能不如系统的滚动条。
ScrollbarPair 用于一对滚动条的类。水平和垂直。
ShortcutRegistry 用于注册键盘快捷键的类。此属性应是单例。您不应创建新实例,而只能从 ShortcutRegistry.registry 访问此类。
TabNavigateCursor 用于在标签页可导航字段之间导航的光标。
Theme 主题的类。
ThemeManager 用于存储和更新工作区主题和界面组件的类。
Toolbox 工具箱的类。创建工具箱的 DOM。
ToolboxCategory 工具箱中的类别类。
ToolboxItem 工具箱中项目的类。
ToolboxSeparator 工具箱分隔符的类。这是工具箱上显示的细线。此项目无法交互。
Trashcan 垃圾桶类。
VariableMap 用于变量映射的类。其中包含一个字典数据结构,其中变量类型为键,变量列表为值。变量列表是由键指定的类型。
VariableModel 变量模型的类。保存变量的信息,包括名称、ID 和类型。
VerticalFlyout 一个飞出课程。
Warning 警告对应的类。
Workspace 工作区类。这是一种包含数据块的数据结构。没有界面,可以无头创建。
WorkspaceAudio 用于加载、存储和播放工作区音频的类。
WorkspaceComment 工作区注释的类。
WorkspaceCommentsSvg 工作区注释的 SVG 表示法的类。
WorkspaceDragger 工作区拖动器的类。当用户通过鼠标或触摸操作来拖动工作区时,工作区会四处移动。请注意,工作区本身管理它是否具有拖动表面,以及如何根据拖动表面进行转换。这只会根据事件传递正确的命令。
WorkspaceDragSurfaceSvg 拖动期间,相关块会被移到此 SVG 中,从而提升了性能。整个 SVG 都使用 CSS 转换(而不是 SVG)进行转换,因此,在拖动提升期间,块绝不会被重新绘制。
WorkspaceSvg 工作区类。屏幕上的这一区域包含可选的垃圾桶、滚动条、气泡和拖动。
ZoomControls 缩放控件的类。

# 枚举

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

# 函数

函数 说明
bindEvent_(node, name, thisObject, Func) 绑定应调用的事件处理脚本(无论其是否属于有效触摸流)。它可用于不属于多部分手势的事件(例如,用于鼠标悬停的提示)。
bindEventWithChecks_(node, name, thisObject, Func, opt_noCaptureIdentifier, _opt_nopreventDefault) 绑定一个事件处理脚本,如果事件不是活动触摸流的一部分,则可将其忽略。此方法适用于启动或继续多部分手势(例如,鼠标点击或鼠标移动,可能是拖动或点击的一部分)的事件。
copy(toCopy) 将文本块或工作区注释复制到本地剪贴板。
duplicate(toDuplicate) 复制此块及其子项,或工作区注释。
hideChaff(opt_onlyClosePopup) 关闭提示、上下文菜单、下拉菜单选项等
hueToHex(hue) 将色调(HSV 模型)转换为 RGB 十六进制三元组。
ject(container, opt_options) 将 Blockly 编辑器注入指定的容器元素(通常是 div)。
isNumber(str) 给定字符串是否为数字(包括负和小数)。
paste() 将代码块或工作区注释粘贴到主工作区。
unbindEvent_(bindData) 一个或多个事件事件与函数调用解除绑定。

# 接口

接口 说明
BlocklyOptions 块选项。
IASTNodeLocation AST 节点位置接口。
IASTNodeLocationSvg AST 节点位置 SVG 接口。
IASTNodeLocationWithBlock 具有关联块的 AST 节点位置。
IAutoHideable 可自动隐藏的组件的接口。
IBlockDragger 块拖动界面。
IBoundedElement 有界限元素接口。
IBubble 气泡界面。
ICollapsibleToolboxItem 工具箱中可收起项的界面。
IComponent 工作区组件的接口,该组件可通过 ComponentManager 注册。
IConnectionChecker 用于连接类型检查逻辑的类。
IContextMenu
ICopyable
IDeletable 可以删除的对象接口。
IDeleteArea 组件的接口,可删除置于其上的块或气泡。
IDraggable 可拖动对象的接口。
IDragTarget 一个组件的行为组件,当某个组件或气泡拖到该组件或气泡之上时,具有自定义行为。
IFlyout 一个飞出界面。
IKeyboardAccessible 处理键盘快捷键的对象的接口。
IMetricsManager 指标管理器的界面。
IMovable 可移动对象的接口。
IPositionable 位于工作区上方的组件的接口。
可注册 可注册的 Blockly 组件的接口。
IRegistrable 可选对象的接口。
ISelectableToolboxItem 工具箱中选定项的界面。
IStyleable 可添加样式的对象的界面。
Iboxbox 工具箱的界面。
IToolboxItem 工具箱中某一项的界面。

# 命名空间

命名空间 说明
ASTNode
Block
blockAnimations
blockRendering
browserEvents
bumpObjects
clipboard
CollapsibleToolboxCategory
common
ComponentManager
constants
ContextMenu
ContextMenuItems
ContextMenuRegistry
Css
dialog
Events
Extensions
fieldRegistry
geras
ICopyable
Input
InsertionMarkerManager
libraryBlocks
MetricsManager
minimalist
Names
Options
Procedures
registry
RenderedConnection
serialization
ShortcutItems
ShortcutRegistry
Theme
ThemeManager
Themes
thrasos
ToolboxCategory
ToolboxSeparator
Tooltip
Touch
uiPosition
utils
Variables
VariablesDynamic
WidgetDiv
XML
zelos

# 变量

变量 说明
ALIGN_CENTRE
ALIGN_LEFT
ALIGN_RIGHT
Blocks 块类型名称与块原型对象的映射。
COCHAPSE_CHARS
COLLAPSED_FIELD_NAME
COLLAPSED_INPUT_NAME
config 此对象用于保存开发者希望能够更改 Blockly 上的所有值。
connectionType
defineBlocksWithJsonArray 定义一组 JSON 块定义的块,可能由 Blockly 开发者工具生成。
DELETE_VARIABLE_ID
DRAG_STACK
DropDownDiv
DUMMY_INPUT
getMainWorkspace 返回主工作区。返回上次使用的主工作区(基于焦点)。尽量不要使用此功能,尤其是网页上有多个 Blockly 实例时。
getSelected 返回当前选定的可复制对象。
INPUT_VALUE
JavaScript
消息 本地化消息的字典。
NEXT_STATEMENT
OPPOSITE_TYPE
OUTPUT_VALUE
PREVIOUS_STATEMENT
PROCEDURE_CATEGORY_NAME 用于工具箱 XML 中某个类别的“自定义”属性的字符串。该字符串表示应使用过程块动态填充类别。
RENAME_VARIABLE_ID
resizeSvgContents
setLocale

将语言区域(即本地化的消息/block-text/其他)设置为给定的语言区域。

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

setParentContainer 设置父级容器。这是 WidgetDiv、dropDownDiv 和提示在首次调用 Blockly.inject 时呈现的容器元素。如果在第一个 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 中的版本值。此操作由 build 压缩的 gulp 任务中的 Closure Compiler 完成。对于本地构建,您可以将 --define='Blockly.VERSION=X.Y.Z' 传递给编译器以替换此常量。

# 类型别名

类型别名 说明
FieldAngleValidator
FieldCheckboxValidator
FieldColourValidator
FieldDropdownValidator
FieldMultilineInputValidator
FieldNumberValidator
FieldTextInputValidator
FieldValidator
FieldVariableValidator
MenuGenerator 可以是菜单选项数组,也可以是用于为 FieldDropdown 或其后代生成菜单选项数组的函数。
MenuGeneratorFunction 用于为 FieldDropdown 或其后代生成菜单选项数组的函数。
MenuOption 下拉菜单中的单个选项。第一个元素是人类可读的值(文本或图片),第二个元素是语言中性值。