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_ |
|
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) |
|
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_() |
|
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) |
|
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) |
|
Scroll menu. |