Constructor

HorizontalFlyout

new HorizontalFlyout(workspaceOptions)

Class for a flyout.

Parameter

workspaceOptions

Object

Dictionary of options for the workspace.

Value must not be null.

Extends
Blockly.Flyout

Properties

autoClose

unknown

Does the flyout automatically close when a block is created?

Inherited from
Blockly.Flyout#autoClose

buttons_

protected

unknown

List of visible buttons.

Inherited from
Blockly.Flyout#buttons_

CORNER_RADIUS

constant

unknown

Corner radius of the flyout background.

Inherited from
Blockly.Flyout#CORNER_RADIUS

dragAngleRange_

protected

unknown

Range of a drag angle from a flyout considered "dragging toward workspace". Drags that are within the bounds of this many degrees from the orthogonal line to the flyout edge are considered to be "drags toward the workspace". Example: Flyout Edge Workspace [block] / <-within this angle, drags "toward workspace" | [block] ---- orthogonal to flyout boundary ---- | [block] \ | The angle is given in degrees from the orthogonal.

This is used to know when to create a new block and when to scroll the flyout. Setting it to 360 means that all drags create a new block.

Inherited from
Blockly.Flyout#dragAngleRange_

GAP_X

constant

unknown

Gap between items in horizontal flyouts. Can be overridden with the "sep" element.

Inherited from
Blockly.Flyout#GAP_X

GAP_Y

constant

unknown

Gap between items in vertical flyouts. Can be overridden with the "sep" element.

Inherited from
Blockly.Flyout#GAP_Y

height_

protected

unknown

Height of flyout.

Inherited from
Blockly.Flyout#height_

MARGIN

constant

unknown

Margin around the edges of the blocks in the flyout.

Inherited from
Blockly.Flyout#MARGIN

RTL

unknown

Is RTL vs LTR.

Inherited from
Blockly.Flyout#RTL

SCROLLBAR_PADDING

constant

unknown

Top/bottom padding between scrollbar and edge of flyout background.

Inherited from
Blockly.Flyout#SCROLLBAR_PADDING

toolboxPosition_

protected

unknown

Position of the toolbox and flyout relative to the workspace.

Inherited from
Blockly.Flyout#toolboxPosition_

width_

protected

unknown

Width of flyout.

Inherited from
Blockly.Flyout#width_

workspace_

protected

unknown

Inherited from
Blockly.Flyout#workspace_

Methods

addBlockListeners_

protected

addBlockListeners_(root, block, rect)

Add listeners to a block that has been added to the flyout.

Parameter

root

The root node of the SVG group the block is in.

Value must not be null.

block

The block to add listeners for.

Value must not be null.

rect

The invisible rectangle under the block that acts as a mat for that block.

Value must not be null.

Inherited from
Blockly.Flyout#addBlockListeners_

createBlock

createBlock(originalBlock) returns Blockly.BlockSvg

Create a copy of this block on the workspace.

Parameter

originalBlock

The block to copy from the flyout.

Value must not be null.

Inherited from
Blockly.Flyout#createBlock
Returns

The newly created block, or null if something went wrong with deserialization.

createDom

createDom(tagName) returns Element

Creates the flyout's DOM. Only needs to be called once. The flyout can either exist as its own svg element or be a g element nested inside a separate svg element.

Parameter

tagName

The type of tag to put the flyout in. This should be or .

Inherited from
Blockly.Flyout#createDom
Returns

The flyout's SVG group.

createRect_

protected

createRect_(block, x, y, blockHW, index) returns SVGElement

Create and place a rectangle corresponding to the given block.

Parameter

block

The block to associate the rect to.

Value must not be null.

x

The x position of the cursor during this layout pass.

y

The y position of the cursor during this layout pass.

blockHW

The height and width of the block.

Value must not be null.

index

The index into the mats list where this rect should be placed.

Inherited from
Blockly.Flyout#createRect_
Returns

Newly created SVG element for the rectangle behind the block.

dispose

dispose()

Dispose of this flyout. Unlink from all DOM elements to prevent memory leaks.

Inherited from
Blockly.Flyout#dispose

getClientRect

getClientRect() returns goog.math.Rect

Return the deletion rectangle for this flyout in viewport coordinates.

Returns

goog.math.Rect Rectangle in which to delete.

getHeight

getHeight() returns number

Get the height of the flyout.

Inherited from
Blockly.Flyout#getHeight
Returns

The width of the flyout.

getWidth

getWidth() returns number

Get the width of the flyout.

Inherited from
Blockly.Flyout#getWidth
Returns

The width of the flyout.

getWorkspace

getWorkspace() returns Blockly.WorkspaceSvg

Get the workspace inside the flyout.

Inherited from
Blockly.Flyout#getWorkspace
Returns

The workspace inside the flyout.

hide

hide()

Hide and empty the flyout.

Inherited from
Blockly.Flyout#hide

init

init(targetWorkspace)

Initializes the flyout.

Parameter

targetWorkspace

The workspace in which to create new blocks.

Value must not be null.

Inherited from
Blockly.Flyout#init

initFlyoutButton_

protected

initFlyoutButton_(button, x, y)

Initialize the given button: move it to the correct location, add listeners, etc.

Parameter

button

The button to initialize and place.

Value must not be null.

x

The x position of the cursor during this layout pass.

y

The y position of the cursor during this layout pass.

Inherited from
Blockly.Flyout#initFlyoutButton_

isDragTowardWorkspace

isDragTowardWorkspace(currentDragDeltaXY) returns boolean

Determine if a drag delta is toward the workspace, based on the position and orientation of the flyout. This is used in determineDragIntention_ to determine if a new block should be created or if the flyout should scroll.

Parameter

currentDragDeltaXY

goog.math.Coordinate

How far the pointer has moved from the position at mouse down, in pixel units.

Value must not be null.

Returns

boolean true if the drag is toward the workspace.

isScrollable

isScrollable() returns boolean

Inherited from
Blockly.Flyout#isScrollable
Returns

True if this flyout may be scrolled with a scrollbar or by dragging.

isVisible

isVisible() returns boolean

Is the flyout visible?

Inherited from
Blockly.Flyout#isVisible
Returns

True if visible.

moveRectToBlock_

protected

moveRectToBlock_(rect, block)

Move a rectangle to sit exactly behind a block, taking into account tabs, hats, and any other protrusions we invent.

Parameter

rect

The rectangle to move directly behind the block.

Value must not be null.

block

The block the rectangle should be behind.

Value must not be null.

Inherited from
Blockly.Flyout#moveRectToBlock_

position

position()

Move the flyout to the edge of the workspace.

positionAt_

protected

positionAt_(width, height, x, y)

Update the view based on coordinates calculated in position().

Parameter

width

The computed width of the flyout's SVG group

height

The computed height of the flyout's SVG group.

x

The computed x origin of the flyout's SVG group.

y

The computed y origin of the flyout's SVG group.

Inherited from
Blockly.Flyout#positionAt_

reflow

reflow()

Reflow blocks and their mats.

Inherited from
Blockly.Flyout#reflow

scrollToStart

scrollToStart()

Scroll the flyout to the top.

setContainerVisible

setContainerVisible(visible)

Set whether this flyout's container is visible.

Parameter

visible

Whether the container is visible.

Inherited from
Blockly.Flyout#setContainerVisible

setVisible

setVisible(visible)

Set whether the flyout is visible. A value of true does not necessarily mean that the flyout is shown. It could be hidden because its container is hidden.

Parameter

visible

True if visible.

Inherited from
Blockly.Flyout#setVisible

show

show(xmlList)

Show and populate the flyout.

Parameter

xmlList

List of blocks to show. Variables and procedures have a custom set of blocks.

Inherited from
Blockly.Flyout#show