blockly > Flyout

Kelas flyout

Kelas untuk latihan flyout.

Tanda Tangan:

export declare abstract class Flyout extends DeleteArea implements IAutoHideable, IFlyout 

Memperluas: DeleteArea

Mengimplementasikan: IAutoHideable, IFlyout

Konstruktor

Konstruktor Pengubah Deskripsi
(constructor)(workspaceOptions) Membuat instance baru dari class Flyout

Properti

Properti Pengubah Jenis Deskripsi
autoClose boolean Apakah {i>flyout<i} otomatis ditutup ketika blok dibuat?
buttons_ protected FlyoutButton[] Daftar tombol yang terlihat.
konten protected FlyoutItem[] Daftar tombol dan blok yang terlihat.
CORNER_RADIUS readonly angka Radius sudut latar belakang flyout.
dragAngleRange_ protected angka Rentang sudut {i>drag<i} dari {i>flyout<i} yang dianggap "menarik ke ruang kerja". {i>Drag <i}yang berada dalam batas-batas derajat ini dari garis ortogonal ke tepi flyout dianggap sebagai "{i>drag<i} ke arah ruang kerja".
FlyoutItemType static {i>FlyoutItemType<i} Jenis item konten {i>flyout<i}.
GAP_X readonly angka
GAP_Y readonly angka
height_ protected angka Tinggi flyout.
MARGIN readonly angka
rectMap_ protected WeakMap<BlockSvg, SVGElement>
RTL boolean
SCROLLBAR_MARGIN readonly angka Padding atas/bawah antara scrollbar dan tepi latar belakang flyout.
svgBackground_ protected SVGPathElement | null (kosong) Jalur di sekitar latar belakang flyout, yang akan diisi dengan warna latar belakang.
svgGroup_ protected SVGGElement | null (kosong) Grup SVG root untuk tombol atau label.
tabWidth_

protected

readonly

angka
toolboxPosition_ protected angka
width_ protected angka Lebar {i>flyout<i}.
workspace_ protected WorkspaceSvg

Metode

Metode Pengubah Deskripsi
addBlockListeners_(root, block, rect) protected Menambahkan pemroses ke blok yang telah ditambahkan ke flyout.
autoHide(onlyClosePopups) Menyembunyikan flyout secara otomatis jika merupakan flyout dengan penutupan otomatis.
blockIsRecyclable_(_block) protected Menampilkan apakah blok yang ditentukan dapat didaur ulang atau tidak.
createDom(tagName) Membuat DOM flyout. Hanya perlu dipanggil sekali. Flyout dapat dibuat sebagai elemen SVG-nya sendiri atau menjadi elemen g yang disarangkan di dalam elemen SVG terpisah.
createRectangle_(blok, x, y, blockHW, indeks) protected Membuat dan menempatkan persegi panjang yang sesuai dengan blok yang diberikan.
dispose() Buang {i>flyout<i} ini. Batalkan tautan dari semua elemen DOM untuk mencegah kebocoran memori.
getContents() Dapatkan daftar tombol dan blok {i>flyout<i} saat ini.
getFlyoutScale() Ketahui skala (tingkat zoom) flyout. Secara default, ukuran ini sesuai dengan skala ruang kerja target, tetapi dapat diganti.
getHeight() Ketahui tinggi {i>flyout<i}.
getWidth() Mengetahui lebar {i>flyout<i}.
getWorkspace() Mendapatkan ruang kerja di dalam flyout.
getX() abstract Menghitung koordinat x untuk posisi flyout.
getY() abstract Menghitung koordinat y untuk posisi flyout.
hide() Sembunyikan dan kosongkan {i>flyout<i}.
init(targetWorkspace) Melakukan inisialisasi flyout.
initFlyoutButton_(tombol, x, y) protected Lakukan inisialisasi tombol yang diberikan: pindahkan ke lokasi yang benar, tambahkan pemroses, dll.
isDragTowardWorkspace(currentDragDeltaXY) abstract Tentukan apakah delta tarik mengarah ke ruang kerja, berdasarkan posisi dan orientasi flyout. Ini digunakan dalam resolveDragIntention_ untuk menentukan apakah blok baru harus dibuat atau apakah flyout harus di-scroll.
isVisible() Apakah flyout terlihat?
layout_(isi, celah)

protected

abstract

Susun blok-blok di menu {i>flyout<i}.
moveRefToBlock_(rect, blokir) protected Pindahkan sebuah persegi panjang agar diletakkan tepat di belakang blok, dengan mempertimbangkan tab, topi, dan tonjolan lain yang kita buat.
position() abstract Memosisikan {i>flyout<i}.
positionAt_(lebar, tinggi, x, y) protected Memperbarui tampilan berdasarkan koordinat yang dihitung di position().
reflow() Ubah posisi/geometri blok dan alasnya.
reflowInternal_()

protected

abstract

Hitung tinggi flyout. Posisikan matras di bawah setiap blok. Untuk RTL: Susun tata letak blok dengan sejajar ke kanan.
scrollToStart() abstract Scroll flyout ke bagian awal kontennya.
serializeBlock(block) protected Menserialisasikan blok ke JSON.
setAutoClose(autoClose) Menetapkan apakah flyout ini otomatis ditutup ketika blok ditarik keluar, ruang kerja diklik, dll., atau tidak.
setContainerVisible(visible) Tetapkan apakah penampung flyout ini terlihat.
setContents(contents) Menyimpan daftar tombol dan blok di {i>flyout<i}.
setMetrics_(xyRatio)

protected

abstract

Menyetel terjemahan flyout agar sesuai dengan scrollbar.
setVisible(visible) Setel apakah flyout terlihat. Nilai true tidak berarti bahwa flyout ditampilkan. Percakapan mungkin disembunyikan karena penampungnya disembunyikan.
acara(flyoutDef) Tunjukkan dan isi menu {i>flyout<i}.
wheel_(e)

protected

abstract

Scroll menu.