blockly >浮出控件

Flyout 类

用于浮出的类。

Signature:

export declare abstract class Flyout extends DeleteArea implements IAutoHideable, IFlyout 

扩展DeleteArea

实现IAutoHideableIFlyout

构造函数

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

属性

属性 修饰符 类型 说明
autoClose 布尔值 创建块后,浮出控件会自动关闭吗?
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 布尔值
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 根据浮出控件的位置和方向,确定拖动增量是否朝向工作区。这用于确定 DragIntention_,以确定是否应创建新块或浮出控件是否应滚动。
isVisible() 浮出控件是否可见?
layout_(内容, 间隔)

protected

abstract

在浮出控件中列出方块。
moveRectToBlock_(rect, block) protected 移动矩形,使其完全位于砌块后面,同时考虑到标签、帽子和我们发明的任何其他突起。
position() abstract 定位浮出控件。
positionAt_(宽度, 高度, 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

滚动浮出控件。