blockly > 工具箱

工具箱类

用于工具箱的类。创建工具箱的 DOM。

Signature:

export declare class Toolbox extends DeleteArea implements IAutoHideable, IKeyboardAccessible, IStyleable, IToolbox, IFocusableNode 

扩展自DeleteArea

实现IAutoHideableIKeyboardAccessibleIStyleableIToolboxIFocusableNode

构造函数

构造函数 修饰符 说明
(constructor)(workspace) 构造 Toolbox 类的新实例

属性

属性 修饰符 类型 说明
boundEvents_ protected browserEvents.Data[] 用于保存取消绑定事件处理程序所需信息的数组。用于处置。例如:[[node, name, func], [node, name, func]]。
内容 protected Map<string, IToolboxItem> 从 ID 到相应工具箱项的映射。
contentsDiv_ protected HTMLDivElement | null 工具箱内容的 HTML 容器。
height_ protected 数值 工具箱的高度。
HtmlDiv HTMLDivElement | null 工具箱的 HTML 容器。
id 字符串 用于向 ComponentManager 注册的相应组件的唯一 ID。
isVisible_ protected 布尔值 工具箱是否可见。
previouslySelectedItem_ protected ISelectableToolboxItem | null 之前选择的项。
RTL 布尔值
selectedItem_ protected ISelectableToolboxItem | null 当前所选商品。
toolboxDef_ protected toolbox.ToolboxInfo
toolboxPosition toolbox.Position
width_ protected 数值 工具箱的宽度。
workspace_

protected

readonly

WorkspaceSvg 相应工具箱所在的工作区。

方法

方法 修饰符 说明
addToolboxItem_(toolboxItem) protected 向工具箱添加项。
attachEvents_(container, contentsContainer) protected 向工具箱容器 div 添加事件监听器。
autoHide(onlyClosePopups) 隐藏组件。在 WorkspaceSvg.hideChaff 中调用。
canBeFocused() 请参阅 IFocusableNode.canBeFocused。
clearSelection() 取消突出显示之前选择的任何项。
createContainer_() protected 为工具箱创建容器 div。
createContentsContainer_() protected 为工具箱中的所有内容创建容器。
createDom_(workspace) protected 为工具箱创建 DOM。
createFlyout_() protected 根据工具箱布局创建弹出式菜单。
deselectItem_(item) protected 取消选择指定项,将其标记为未选中,并更新 aria 状态。
dispose() 处置此工具箱。
getClientRect() 返回拖动目标区域的边界矩形(以像素为单位,相对于视口)。
getFlyout() 获取工具箱弹出式菜单。
getFocusableElement() 请参阅 IFocusableNode.getFocusableElement。
getFocusableTree() 请参阅 IFocusableNode.getFocusableTree。
getHeight() 获取工具箱的高度。
getNestedTrees() 请参阅 IFocusableTree.getNestedTrees。
getPreviouslySelectedItem() 获取之前选择的项。
getRestoredFocusableNode(previousNode) 请参阅 IFocusableTree.getRestoredFocusableNode。
getRootFocusableNode() 请参阅 IFocusableTree.getRootFocusableNode。
getSelectedItem() 获取所选内容。
getToolboxItemById(id) 获取具有指定 ID 的工具箱项。
getToolboxItems() 获取工具箱中的项。
getWidth() 获取工具箱的宽度。
getWorkspace() 获取工具箱的工作区。
init() 初始化工具箱
isHorizontal() 获取工具箱是否为水平。
lookUpFocusableNode(id) 请参阅 IFocusableTree.lookUpFocusableNode。
onClick_(e) protected 处理工具箱或工具箱项被点击时的点击事件。
onDragEnter(_dragElement) 处理带有块或气泡的光标进入此拖动目标的情况。
onDragExit(_dragElement) 处理带有块或气泡的光标退出此拖动目标的情况。
onDrop(_dragElement) 处理将块或气泡放置在此组件上的情况。不应在此处处理删除操作。
onKeyDown_(e) protected 处理工具箱的按键按下事件。
onNodeBlur() 请参阅 IFocusableNode.onNodeBlur。
onNodeFocus() 请参阅 IFocusableNode.onNodeFocus。
onShortcut(_shortcut) 处理给定的键盘快捷键。
onTreeBlur(nextTree) 请参阅 IFocusableTree.onTreeBlur。
onTreeFocus(node, _previousTree) 请参阅 IFocusableTree.onTreeFocus。
position() 根据工具箱是否为水平工具箱以及工作区是否处于从右向左 (RTL) 模式,定位工具箱。
refreshSelection() 更新弹出式菜单的内容,但不会关闭该菜单。应在动态类别(例如变量或过程)发生变化时使用。
renderContents_(toolboxDef) protected 将所有工具箱项添加到工具箱。
selectItem_(oldItem, newItem) protected 选择指定项,将其标记为已选择,并更新 aria 状态。
selectItemByPosition(position) 按工具箱项在工具箱项列表中的位置选择工具箱项。
setSelectedItem(newItem) 将指定项设置为已选择。如果相应项不可选择,则不执行任何操作。
setVisible(isVisible) 显示或隐藏工具箱。
shouldDeselectItem_(oldItem, newItem) protected 决定是否应取消选择旧项。
shouldSelectItem_(oldItem, newItem) protected 决定是否应选择新项。
updateCursorDeleteStyle_(addStyle) protected 根据放置时是否预期删除工具箱上方的块或气泡(使用内部 this.wouldDelete_ 属性),添加或移除光标在工具箱上的 CSS 样式。
updateFlyout_(oldItem, newItem) protected 根据所选项目决定是隐藏还是显示弹出式菜单。
updateWouldDelete_(wouldDelete) protected 更新内部 wouldDelete_ 状态。
wouldDelete(element) 返回所提供的块或气泡是否会在放置到此区域时被删除。此方法应检查元素是否可删除,并且始终在 onDragEnter/onDragOver/onDragExit 之前调用。