blockly > Flyout

弹出式菜单类

用于显示弹出式菜单的类。

Signature:

export declare abstract class Flyout extends DeleteArea implements IAutoHideable, IFlyout, IFocusableNode 

扩展DeleteArea

实现IAutoHideableIFlyoutIFocusableNode

构造函数

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

属性

属性 修饰符 类型 说明
autoClose 布尔值 创建版块时,动作条是否会自动关闭?
内容 protected FlyoutItem[] 展开式元素列表。
CORNER_RADIUS readonly 数值 弹出式窗口背景的角半径。
dragAngleRange_ protected 数值 从“展开式菜单”中拖动角度的范围(被视为“拖动到工作区”)。从正交线到展开边缘的拖动角度在该范围内,则被视为“向工作区拖动”。
GAP_X readonly 数值
GAP_Y readonly 数值
height_ protected 数值 展开式菜单的高度。
膨胀器 protected Map<string, IFlyoutInflater> 将展开式内容类型映射到负责创建内容类型具体实例的相应膨胀器类。
MARGIN readonly 数值
RTL 布尔值
SCROLLBAR_MARGIN readonly 数值 滚动条与展开式背景边缘之间的顶部/底部内边距。
svgBackground_ protected SVGPathElement | null 悬停菜单背景周围的路径,该路径将填充背景颜色。
svgGroup_ protected SVGGElement | null 按钮或标签的根 SVG 组。
tabWidth_

protected

readonly

数值
toolboxPosition_ protected 数值
width_ protected 数值 展开式菜单的宽度。
workspace_ protected WorkspaceSvg

方法

方法 修饰符 说明
autoHide(onlyClosePopups) 如果该动作条是自动关闭的动作条,则自动隐藏该动作条。
canBeFocused() 请参阅 IFocusableNode.canBeFocused。
createDom(tagName) 创建动作条的 DOM。只需调用一次。该动作条可以作为自己的 SVG 元素存在,也可以是嵌套在单独 SVG 元素中的 g 元素。
dispose() 处理此动作条。解除与所有 DOM 元素的关联,以防止内存泄露。
getContents() 获取当前动作条的元素列表。
getFlyoutScale() 获取弹出式菜单的缩放比例(缩放级别)。默认情况下,此值与目标工作区缩放比例一致,但可以被替换。
getFocusableElement() 请参阅 IFocusableNode.getFocusableElement。
getFocusableTree() 请参阅 IFocusableNode.getFocusableTree。
getHeight() 获取弹出式窗口的高度。
getInflaterForType(type) protected 返回负责构建给定类型项的 inflater。
getNestedTrees() 请参阅 IFocusableTree.getNestedTrees。
getRestoredFocusableNode(_previousNode) 请参阅 IFocusableTree.getRestoredFocusableNode。
getRootFocusableNode() 请参阅 IFocusableTree.getRootFocusableNode。
getTargetWorkspace() 在弹出式菜单中获取目标工作区。
getWidth() 获取弹出式菜单的宽度。
getWorkspace() 获取弹出式菜单中的 Workspace。
getX() abstract 计算弹出式窗口位置的 x 坐标。
getY() abstract 计算弹出式窗口位置的 y 坐标。
hide() 隐藏并清空动作条。
init(targetWorkspace) 初始化动作条。
isDragTowardWorkspace(currentDragDeltaXY) abstract 根据动作条的屏幕位置和方向,确定拖动增量是否朝向工作区。此方法在 determineDragIntention_ 中用于确定是否应创建新分块或是否应滚动动作条。
isVisible() 是否显示了动作条?
layout_(contents)

protected

abstract

排列弹出式菜单中的元素。
lookUpFocusableNode(_id) 请参阅 IFocusableTree.lookUpFocusableNode。
normalizeSeparators(contents) protected

根据需要更新并返回所提供的展开式内容列表,以扁平化分隔符。

如果多个分隔符接连出现,则以最后一个分隔符的值为准,并且会移除分隔符组中的前面分隔符。

onNodeBlur() 请参阅 IFocusableNode.onNodeBlur。
onNodeFocus() 请参阅 IFocusableNode.onNodeFocus。
onTreeBlur(nextTree) 请参阅 IFocusableTree.onTreeBlur。
onTreeFocus(_node, _previousTree) 请参阅 IFocusableTree.onTreeFocus。
position() abstract 放置动作条。
positionAt_(width, height, x, y) protected 根据在 position() 中计算的坐标更新视图。
reflow() 重新排列了动作条内容。
reflowInternal_()

protected

abstract

计算弹出式菜单的边界。对于 RTL:将元素布局为右对齐。
scrollToStart() abstract 将动作条滚动到其内容的开头。
serializeBlock(block) protected 将分块序列化为 JSON。
setAutoClose(autoClose) 设置在拖出块、点击工作区等操作时,此动作条是否自动关闭。
setContainerVisible(visible) 设置此动作条的容器是否可见。
setContents(contents) 在动作条中存储元素列表。
setMetrics_(xyRatio)

protected

abstract

设置弹出式菜单的平移,使其与滚动条相匹配。
setVisible(visible) 设置是否显示动作条。值为 true 并不一定表示系统会显示动作条。它之所以处于隐藏状态,可能是因为其容器处于隐藏状态。
show(flyoutDef) 显示并填充动作条。
wheel_(e)

protected

abstract

滚动浮出式菜单。