blockly > BlockSvg

Class BlockSvg

Class untuk representasi SVG blok. Biasanya tidak dipanggil secara langsung, workspace.newBlock() lebih disarankan.

Tanda Tangan:

export declare class BlockSvg extends Block implements IBoundedElement, IContextMenu, ICopyable<BlockCopyData>, IDraggable, IDeletable, IFocusableNode 

Memperluas: Block

Mengimplementasikan: IBoundedElement, IContextMenu, ICopyable<BlockCopyData>, IDraggable, IDeletable, IFocusableNode

Konstruktor

Konstruktor Pengubah Deskripsi
(constructor)(workspace, prototypeName, opt_id) Membuat instance baru class BlockSvg

Properti

Properti Pengubah Jenis Deskripsi
COLLAPSED_WARNING_ID

static

readonly

(tidak dinyatakan) ID untuk memberikan peringatan "peringatan yang diciutkan". Memungkinkan kami menghapus peringatan "peringatan yang diciutkan" tanpa menghapus peringatan apa pun yang termasuk dalam blok.
customContextMenu? (p1: Array<ContextMenuOption | LegacyContextMenuOption>) => void (Opsional)
menguraikan? (p1: Workspace) => BlockSvg (Opsional)
height angka Tinggi blok ini, tidak termasuk blok pernyataan di atas atau di bawah. Tinggi dalam satuan ruang kerja.
INLINE

static

readonly

(tidak dinyatakan) Konstanta untuk mengidentifikasi baris yang akan dirender sebaris. Jangan bertabrakan dengan Blockly.inputTypes.
mutator MutatorIcon | null Ikon pengubah blok (jika ada).
nextConnection RenderedConnection
outputConnection RenderedConnection
previousConnection RenderedConnection
rendered readonly (tidak dinyatakan) Apakah blok ini adalah BlockSVG?
saveConnections? (rootBlock: BlockSvg) => void

(Opsional) Metode opsional yang menyimpan catatan blok yang terhubung ke blok ini sehingga dapat dipulihkan nanti setelah blok ini dikomposisi ulang (dikonfigurasi ulang). Biasanya mencatat blok yang terhubung pada properti di blok dalam flyout mutator, sehingga mengatur ulang blok komponen tersebut akan otomatis mengatur ulang blok terhubung yang sesuai pada blok ini setelah blok ini direkomposisi.

Untuk menjaga agar informasi koneksi yang disimpan tetap terbaru, MutatorIcon mengatur pemroses peristiwa untuk memanggil metode ini setiap kali flyout mutator terbuka dan perubahan terjadi di ruang kerja blok ini.

style BlockStyle
width angka Lebar blok ini, termasuk blok nilai yang terhubung. Lebar dalam satuan ruang kerja.
ruang kerja WorkspaceSvg

Metode

Metode Pengubah Deskripsi
addClass(className) Tambahkan class CSS ke grup SVG blok ini.
addIcon(icon)
addSelect() Menambahkan efek "pilih" visual ke blok, tetapi tidak benar-benar memilihnya atau memicu peristiwa.
appendInput(input)
bringToFront(blockOnly) Pindahkan blok ini ke bagian depan ruang kerja yang terlihat. Tag tidak mematuhi indeks z sehingga SVG merendernya dalam urutan yang ada di DOM. Dengan menempatkan blok ini terlebih dahulu dalam grup blok, blok ini akan dirender di atas blok lainnya. Gunakan seperlunya, metode ini tidak efisien karena menyusun ulang node DOM.
bumpNeighbours()

Membuat blok yang tidak terhubung menjadi tidak sejajar.

Dua blok yang sebenarnya tidak terhubung tidak boleh berbaris secara kebetulan di layar, karena hal itu akan menimbulkan kebingungan bagi pengguna akhir.

calculateContextMenuLocation(e) protected Mendapatkan lokasi untuk menampilkan menu konteks untuk blok ini. Gunakan lokasi klik jika blok diklik, atau lokasi berdasarkan kolom blok jika tidak.
canBeFocused() Lihat IFocusableNode.canBeFocused.
checkAndDelete() Menghapus blok dan menyembunyikan sekam saat melakukannya. Blok tidak akan dihapus jika berada di menu flyout. Metode ini dipanggil dari menu konteks dan pintasan keyboard sebagai tindakan penghapusan penuh. Jika Anda menghapus blok dari ruang kerja dan tidak perlu melakukan pemeriksaan flyout, menangani pengelompokan peristiwa, atau menyembunyikan chaff, gunakan block.dispose() secara langsung.
dispose(healStack, animate) Buang blok ini.
disposeInternal() Menghapus blok ini tanpa melakukan hal-hal yang diperlukan oleh blok teratas. Misalnya, memicu efek UI, menghapus node, dll.
drag(newLoc, e) Menarik blok ke lokasi yang ditentukan.
endDrag(e) Mengakhiri penarikan pada blok.
generateContextMenu(e) protected Buat menu konteks untuk blok ini.
getBoundingRectangle() Menampilkan koordinat kotak pembatas yang menjelaskan dimensi blok ini dan blok apa pun yang ditumpuk di bawahnya. Sistem koordinat: koordinat ruang kerja.
getBoundingRectangleWithoutChildren() Menampilkan koordinat kotak pembatas yang menjelaskan dimensi blok ini saja. Sistem koordinat: koordinat ruang kerja.
getChildren(ordered) Temukan semua blok yang secara langsung berada di dalam blok ini. Mencakup input nilai dan pernyataan, serta pernyataan berikutnya. Tidak termasuk koneksi apa pun di tab output atau pernyataan sebelumnya. Blok dapat diurutkan berdasarkan posisi; dari atas ke bawah.
getColour() Mendapatkan warna blok.
getColourSecondary() Mendapatkan warna sekunder blok.
getColourTertiary() Mendapatkan warna tersier blok.
getFocusableElement() Lihat IFocusableNode.getFocusableElement.
getFocusableTree() Lihat IFocusableNode.getFocusableTree.
getNextBlock() Menampilkan blok pernyataan berikutnya yang terhubung langsung ke blok ini.
getPreviousBlock() Menampilkan blok yang terhubung ke koneksi sebelumnya.
getRelativeToSurfaceXY() Menampilkan koordinat sudut kiri atas blok ini relatif terhadap asal permukaan gambar (0,0), dalam unit ruang kerja. Jika blok berada di ruang kerja, (0, 0) adalah titik asal sistem koordinat ruang kerja. Hal ini tidak berubah dengan skala ruang kerja.
getStyle() Menampilkan objek BlockStyle yang digunakan untuk menata gaya blok ini.
getSvgRoot() Menampilkan node root SVG atau null jika tidak ada.
initSvg() Buat dan inisialisasi representasi SVG blok. Dapat dipanggil lebih dari sekali.
isCopyable() Menampilkan apakah blok ini dapat disalin atau tidak.
isMovable() Menampilkan apakah blok ini dapat dipindahkan atau tidak.
jsonInit(json)
markDirty() Memberi tahu setiap input pada blok ini untuk menandai kolomnya sebagai kotor. Kolom kotor adalah kolom yang perlu dirender ulang.
moveBy(dx, dy, reason) Pindahkan blok dengan offset relatif.
moveNumberedInputBefore(inputIndex, refIndex) Pindahkan input bernomor ke lokasi lain pada blok ini.
moveTo(xy, reason) Pindahkan blok ke suatu posisi.
onNodeBlur() Lihat IFocusableNode.onNodeBlur.
onNodeFocus() Lihat IFocusableNode.onNodeFocus.
removeClass(className) Menghapus class CSS dari grup SVG blok ini.
removeIcon(type)
removeInput(name, opt_quiet) Menghapus input dari blok ini.
removeSelect() Menghapus efek "pilih" visual dari blok, tetapi tidak benar-benar membatalkan pilihannya atau memicu peristiwa.
render() Segera menata dan mengatur ulang tata letak blok berdasarkan konten dan setelannya.
revertDrag() Memindahkan kembali blok ke posisi awalnya saat mulai ditarik.
scheduleSnapAndBump() Paskan ke petak, lalu dorong blok di sebelahnya di akhir rendering berikutnya.
select() Memilih blok ini. Menyoroti blok secara visual.
setCollapsed(collapsed) Menetapkan apakah blok diciutkan atau tidak.
setColour(colour) Mengubah warna blok.
setDeletable(deletable) Tambahkan class blocklyNotDeletable saat blok tidak dapat dihapus Atau hapus class saat blok dapat dihapus
setDisabledReason(disabled, reason) Tambahkan atau hapus alasan mengapa pemblokiran mungkin dinonaktifkan. Jika blok memiliki alasan untuk dinonaktifkan, blok itu sendiri akan dianggap dinonaktifkan. Pemblokiran dapat dinonaktifkan karena beberapa alasan independen secara bersamaan, seperti saat pengguna menonaktifkannya secara manual, atau pemblokiran tidak valid.
setDragStrategy(dragStrategy) Menetapkan strategi penarikan untuk blok ini.
setEditable(editable) Tetapkan apakah blok ini dapat diedit atau tidak.
setHighlighted(highlighted) Menetapkan apakah blok disorot atau tidak. Penyorotan blok sering digunakan untuk menandai blok yang sedang dieksekusi secara visual.
setInputsInline(newBoolean) Menetapkan apakah input nilai disusun secara horizontal atau vertikal.
setMovable(movable) Menetapkan apakah blok ini dapat dipindahkan atau tidak.
setMutator(mutator) Memberi blok ini dialog mutator.
setNextStatement(newBoolean, opt_check) Menetapkan apakah blok lain dapat dirangkai ke bagian bawah blok ini.
setOutput(newBoolean, opt_check) Tetapkan apakah blok ini menampilkan nilai.
setPreviousStatement(newBoolean, opt_check) Menetapkan apakah blok ini dapat dirangkai ke bagian bawah blok lain.
setStyle(blockStyleName) Menetapkan nilai gaya dan warna blok.
setWarningText(text, id) Menetapkan teks peringatan blok ini.
snapToGrid() Paskan blok ini ke titik petak terdekat.
startDrag(e) Memulai penarikan pada blok.
toCopyData() Encode blok untuk disalin.
toFlyoutInfo() Menampilkan representasi blok ini yang dapat ditampilkan di flyout.
translate(x, y) Mentransformasi blok dengan menyetel terjemahan pada atribut transformasi SVG blok.
unselect() Membatalkan pilihan blok ini. Membatalkan penyorotan blok secara visual.