blockly > Flyout

Flyout-Kurs

Kurs für einen Flyout.

Unterschrift:

export declare abstract class Flyout extends DeleteArea implements IAutoHideable, IFlyout 

Erweitert: DeleteArea

Implementierung:IAutoHideable, IFlyout

Konstruktoren

Konstruktor Modifikatoren Beschreibung
(constructor)(workspaceOptions) Erstellt eine neue Instanz der Flyout-Klasse

Attribute

Attribut Modifikatoren Typ Beschreibung
autoClose boolean Schließt sich das Flyout automatisch, wenn ein Block erstellt wird?
buttons_ protected FlyoutButton[] Liste der sichtbaren Schaltflächen.
Inhalte protected FlyoutItem[] Liste der sichtbaren Schaltflächen und Blöcke.
CORNER_RADIUS readonly Zahl Eckenradius des Flyout-Hintergrunds.
dragAngleRange_ protected Zahl Bereich eines Ziehwinkels von einem Flyout aus, der als „Ziehen in Richtung des Arbeitsbereichs“ betrachtet wird. Ziehbewegungen, die innerhalb der Grenzen von der orthogonalen Linie bis zum Flyout-Kanten innerhalb der Grenzen dieses Grades liegen, werden als „Ziehen in Richtung des Arbeitsbereichs“ betrachtet.
FlyoutItemType static FlyoutItemType Der Typ eines Flyout-Inhaltselements.
GAP_X readonly Zahl
GAP_Y readonly Zahl
height_ protected Zahl Höhe des Flyouts.
MARGE readonly Zahl
rectMap_ protected WeakMap<BlockSvg, SVGElement>
RTL boolean
SCROLLBAR_MARGIN readonly Zahl Abstand oben/unten zwischen Bildlaufleiste und Rand des Flyout-Hintergrunds.
svgBackground_ protected SVGPathElement | null Pfad rund um den Hintergrund des Flyouts, der mit einer Hintergrundfarbe ausgefüllt wird.
svgGroup_ protected SVGGElement | null Die SVG-Stammgruppe für die Schaltfläche oder das Label.
tabWidth_

protected

readonly

Zahl
toolboxPosition_ protected Zahl
width_ protected Zahl Breite des Flyouts.
workspace_ protected WorkspaceSvg

Methoden

Methode Modifikatoren Beschreibung
addBlockListeners_(root, block, rect) protected Fügen Sie einem Block, der dem Flyout hinzugefügt wurde, Listener hinzu.
autoHide(onlyClosePopups) Blendet das Flyout automatisch aus, wenn es sich um ein automatisch schließendes Flyout handelt.
blockIsRecyclable_(_block) protected Gibt zurück, ob der angegebene Block recycelt werden kann oder nicht.
createDom(tagName) Erstellt das DOM des Flyouts. Muss nur einmal aufgerufen werden. Das Flyout-Element kann entweder als eigenes SVG-Element oder als g-Element vorliegen, das in einem separaten SVG-Element verschachtelt ist.
createRect_(block, x, y, blockHW, index) protected Erstellen und platzieren Sie ein Rechteck, das dem angegebenen Block entspricht.
dispose() Entsorge dieses Flyout. Heben Sie die Verknüpfung mit allen DOM-Elementen auf, um Speicherlecks zu vermeiden.
getContents() Liste der Schaltflächen und Blöcke des aktuellen Flyouts abrufen
getFlyoutScale() Den Maßstab (Zoomstufe) des Flyouts abrufen. Standardmäßig entspricht dies der Skalierung des Zielarbeitsbereichs, kann aber überschrieben werden.
getHeight() Hol dir die Höhe des Flyouts.
getWidth() Die Breite des Flyouts abrufen.
getWorkspace() Holen Sie sich den Arbeitsbereich ins Flyout.
getX() abstract Berechnet die x-Koordinate für die Flyout-Position.
getY() abstract Berechnet die Y-Koordinate für die Flyout-Position.
hide() Flyout ausblenden und leeren
init(targetWorkspace) Initialisiert das Flyout-Menü.
initFlyoutButton_(button, x, y) protected Initialisieren Sie die angegebene Schaltfläche: Verschieben Sie sie an die richtige Position, fügen Sie Listener hinzu usw.
isDragTowardWorkspace(currentDragDeltaXY) abstract Ermitteln Sie anhand der Position und Ausrichtung des Flyouts, ob ein Ziehdelta in Richtung des Arbeitsbereichs zeigt. Dies wird in detectDragIntention_ verwendet, um zu bestimmen, ob ein neuer Block erstellt werden soll oder ob das Flyout gescrollt werden soll.
isVisible() Ist das Flyout sichtbar?
layout_(Inhalt, Lücken)

protected

abstract

Lege die Blöcke im Flyout aus.
moveRectToBlock_(rect, block) protected Verschieben Sie ein Rechteck so, dass es genau hinter einem Block sitzt. Berücksichtigen Sie dabei die Registerkarten, Hüte und andere von uns erfundene Vorsprünge.
position() abstract Positionieren Sie das Flyout-Menü.
positionAt_(Breite; Höhe; X; Y) protected Die Ansicht basierend auf den in position() berechneten Koordinaten aktualisieren.
reflow() Reflow-Blöcke und ihre Matten.
reflowInternal_()

protected

abstract

Höhe des Flyouts berechnen. Positionieren Sie die Matte unter den einzelnen Blöcken. Für RTL: Die Blöcke rechtsbündig ausrichten.
scrollToStart() abstract Scrollen Sie auf dem Flyout-Menü zum Anfang des Inhalts.
serializeBlock(block) protected Serialisiert einen Block in JSON.
setAutoClose(autoClose) Legt fest, ob dieses Flyout automatisch geschlossen wird, wenn Blöcke herausgezogen werden, der Arbeitsbereich angeklickt wird usw.
setContainerVisible(visible) Legt fest, ob der Container dieses Flyouts sichtbar ist.
setContents(contents) Speichere die Liste der Schaltflächen und Blöcke im Flyout.
setMetrics_(xyRatio)

protected

abstract

Legt die Übersetzung des Flyouts entsprechend den Bildlaufleisten fest.
setVisible(visible) Legen Sie fest, ob das Flyout sichtbar sein soll. Der Wert "true" bedeutet nicht unbedingt, dass das Flyout angezeigt wird. Es könnte ausgeblendet sein, weil sein Container ausgeblendet ist.
show(flyoutDef) Flyout anzeigen und füllen.
wheel_(e)

protected

abstract

Scrollen Sie das Flyout-Menü.