# 参考

# blockly 软件包

#

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

# 枚举

枚举项 说明
ConnectionType (opens new window) 连接或输入类型的枚举。
inputTypes (opens new window) 连接或输入类型的枚举。

# 函数

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

# 接口

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

# 命名空间

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

# 变量

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

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

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

setParentContainer (opens new window) 设置父级容器。这是 WidgetDiv、dropDownDiv 和提示在首次调用 Blockly.inject 时呈现的容器元素。如果在第一个 Blockly.inject 之后调用此方法,则为 NOP。
svgResize (opens new window) 调整 SVG 图片的尺寸,使其完全填满容器。当视图实际大小发生变化时(例如,在窗口调整大小/设备屏幕方向发生变化时)调用此方法。请参阅 workspace.resizeContents,以便在内容发生更改时(例如,添加或移除块时)调整工作区的大小。记录 SVG 图片的高度/宽度。
TOOLBOX_AT_BOTTOM (opens new window)
TOOLBOX_AT_LEFT (opens new window)
TOOLBOX_AT_RIGHT (opens new window)
TOOLBOX_AT_TOP (opens new window)
VARIABLE_CATEGORY_NAME (opens new window) 用于工具箱 XML 中某个类别的“自定义”属性的字符串。此字符串表示应使用变量块动态填充类别。
VARIABLE_DYNAMIC_CATEGORY_NAME (opens new window) 用于工具箱 XML 中某个类别的“自定义”属性的字符串。此字符串表示应使用变量块动态填充类别。
VERSION (opens new window) Blockly 核心版本。此常量会被 build 脚本(npm run build)替换到 package.json 中的版本值。此操作由 build 压缩的 gulp 任务中的 Closure Compiler 完成。对于本地构建,您可以将 --define='Blockly.VERSION=X.Y.Z' 传递给编译器以替换此常量。

# 类型别名

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