# 参考
# 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 | 工具箱中某一项的界面。 |
# 命名空间
# 变量
| 变量 | 说明 |
|---|---|
| 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 | 下拉菜单中的单个选项。第一个元素是人类可读的值(文本或图片),第二个元素是语言中性值。 |
ASTNode →