Flyout 类
用于浮出的类。
Signature:
export declare abstract class Flyout extends DeleteArea implements IAutoHideable, IFlyout
扩展:DeleteArea
实现: IAutoHideable、IFlyout
构造函数
构造函数 | 修饰符 | 说明 |
---|---|---|
(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_ |
|
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_(内容, 间隔) |
|
在浮出控件中列出方块。 |
moveRectToBlock_(rect, block) | protected |
移动矩形,使其完全位于砌块后面,同时考虑到标签、帽子和我们发明的任何其他突起。 |
position() | abstract |
定位浮出控件。 |
positionAt_(宽度, 高度, x, y) | protected |
根据 position() 中计算的坐标更新视图。 |
reflow() | 重排块及其垫子。 | |
reflowInternal_() |
|
计算浮出控件的高度。将垫子放在每个块下方。对于 RTL:将代码块右对齐。 |
scrollToStart() | abstract |
将浮出控件滚动到其内容的开头。 |
serializeBlock(block) | protected |
将块序列化为 JSON。 |
setAutoClose(autoClose) | 设置此浮出控件是否在拖动块或点击工作区等情况下自动关闭。 | |
setContainerVisible(visible) | 设置此浮出控件的容器是否可见。 | |
setContents(contents) | 存储浮出控件上的按钮和块的列表。 | |
setMetrics_(xyRatio) |
|
设置浮出控件的平移方向,使其与滚动条相匹配。 |
setVisible(visible) | 设置浮出控件是否可见。值为 true 并不一定表示显示浮出控件。它的容器处于隐藏状态,因此可能被隐藏了。 | |
show(flyoutDef) | 显示并填充浮出控件。 | |
wheel_(e) |
|
滚动浮出控件。 |