飞出类
针对浮出操作的类。
Signature:
export declare abstract class Flyout extends DeleteArea implements IAutoHideable, IFlyout
扩展:DeleteArea
实现: IAutoHideable、IFlyout
构造函数
构造函数 | 修饰符 | 说明 |
---|---|---|
(构造函数)(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_ |
|
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_(内容, 空缺) |
|
在浮出控件中布置方块。 |
moveRectToBlock_(rect, block) | protected |
移动一个矩形,使其恰好位于木块后面,同时要考虑到标签、帽子和我们发明的任何其他突起。 |
position() | abstract |
定位浮出控件。 |
positionAt_(width, height, 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) |
|
滚动浮出控件。 |