blockly > 飞出

飞出类

针对浮出操作的类。

Signature:

export declare abstract class Flyout extends DeleteArea implements IAutoHideable, IFlyout 

扩展DeleteArea

实现IAutoHideableIFlyout

构造函数

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

属性

属性 修饰符 类型 说明
autoClose boolean 创建屏蔽后,飞出控件是否会自动关闭?
buttons_ protected FlyoutButton[] 可见按钮列表。
目录 protected FlyoutItem[] 可见按钮和块的列表。
CORNER_RADIUS readonly number 浮出背景的角半径。
dragAngleRange_ protected number 浮出控件的拖动角度范围,被视为“拖动至工作区”。在从正交线到飞出边缘的这几度边界内的拖动被视为“向工作区拖动”。
FlyoutItemType static FlyoutItemType 类型 浮出内容项的类型。
GAP_X readonly number
GAP_Y readonly number
height_ protected number 浮出高度。
利润率 readonly number
rectMap_ protected WeakMap<BlockSvg、SVGElement>
RTL boolean
SCROLLBAR_MARGIN readonly number 滚动条与浮出背景边缘之间的上/下内边距。
svgBackground_ protected SVGPathElement | null 浮出控件背景周围的路径,将填充背景颜色。
svgGroup_ protected SVGGElement | null 按钮或标签的根 SVG 组。
tabWidth_

protected

readonly

number
toolboxPosition_ protected number
width_ protected number 浮出控件的宽度。
workspace_ protected WorkspaceSvg

方法

方法 修饰符 说明
addBlockListeners_(root, block, rect) protected 将监听器添加到已添加到浮出控件的块中。
autoHide(onlyClosePopups) 如果是自动关闭浮出控件,则自动将其隐藏。
blockIsRecyclable_(_block) protected 返回是否可以回收指定的块。
createDom(tagName) 创建浮出的 DOM。只需要调用一次。飞出可以作为自己的 SVG 元素存在,也可以作为嵌套在单独 SVG 元素内的 g 元素存在。
createRect_(block, x, y, blockHW, index) protected 创建并放置一个矩形,使其与给定砌块对应。
dispose() 处理此浮出控件。请解除与所有 DOM 元素的关联,以防止内存泄漏。
getContents() 获取当前浮出控件和区块的列表。
getFlyoutScale() 获取浮出控件的缩放比例(缩放级别)。默认情况下,此值与目标工作区比例一致,但可以覆盖。
getHeight() 获取浮出控件的高度。
getWidth() 获取浮出控件的宽度。
getWorkspace() 将工作区显示在弹出框内。
getX() abstract 计算飞出位置的 x 坐标。
getY() abstract 计算飞出位置的 y 坐标。
hide() 隐藏并清空弹出菜单。
init(targetWorkspace) 初始化浮出。
initFlyoutButton_(button, x, y) protected 初始化指定的按钮:将其移至正确的位置,添加监听器,等等。
isDragTowardWorkspace(currentDragDeltaXY) abstract 根据浮出控件的位置和方向,确定拖动增量是否朝向工作区。它在 SureDragIntention_ 中用于确定是否应创建新块或飞出是否应滚动。
isVisible() 浮出控件是否可见?
layout_(内容, 空缺)

protected

abstract

在浮出控件中布置方块。
moveRectToBlock_(rect, block) protected 移动一个矩形,使其恰好位于木块后面,同时要考虑到标签、帽子和我们发明的任何其他突起。
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

滚动浮出控件。