Namespace peristiwa
Class
Kelas | Deskripsi |
---|---|
BlockBase | Class abstrak untuk peristiwa apa pun yang terkait dengan blok. |
BlockChange | Memberi tahu pemroses saat beberapa elemen blok telah berubah (misalnya, nilai kolom, komentar, dll.). |
BlockCreate | Memberi tahu pemroses saat blok (atau tumpukan blok yang terhubung) dibuat. |
BlockDelete | Memberi tahu pemroses saat blok (atau tumpukan blok yang terhubung) dihapus. |
BlockDrag | Memberi tahu pemroses saat blok ditarik/diletakkan secara manual. |
BlockFieldIntermediateChange | Memberi tahu pemroses saat nilai kolom blok telah berubah, tetapi perubahannya belum selesai, dan diharapkan diikuti dengan peristiwa perubahan blok. |
BlockMove | Memberi tahu pemroses saat blok dipindahkan. Hal ini dapat terjadi dari satu koneksi ke koneksi lainnya, atau dari satu lokasi di ruang kerja ke lokasi lainnya. |
BubbleOpen | Class untuk peristiwa pembukaan balon. |
Klik | Memberi tahu pemroses bahwa beberapa elemen blockly diklik. |
CommentBase | Class abstrak untuk peristiwa komentar. |
CommentChange | Memberi tahu pemroses bahwa konten komentar ruang kerja telah berubah. |
CommentCollapse | |
CommentCreate | Memberi tahu pemroses bahwa komentar ruang kerja telah dibuat. |
CommentDelete | Memberi tahu pemroses bahwa komentar ruang kerja telah dihapus. |
CommentDrag | Memberi tahu pemroses saat komentar ditarik/diletakkan secara manual. |
CommentMove | Memberi tahu pemroses bahwa komentar ruang kerja telah dipindahkan. |
CommentResize | Memberi tahu pemroses bahwa ukuran komentar ruang kerja telah diubah. |
FinishedLoading | Memberi tahu pemroses saat ruang kerja selesai melakukan deserialisasi dari JSON/XML. |
Dipilih | Class untuk peristiwa yang dipilih. Memberi tahu pemroses bahwa elemen baru telah dipilih. |
ThemeChange | Memberi tahu pemroses bahwa tema ruang kerja telah berubah. |
ToolboxItemSelect | Memberi tahu pemroses bahwa item toolbox telah dipilih. |
TrashcanOpen | Memberi tahu pemroses saat tempat sampah dibuka atau ditutup. |
UiBase | Class dasar untuk peristiwa UI. Peristiwa UI adalah peristiwa yang tidak perlu dikirim melalui jaringan agar pengeditan multi-pengguna berfungsi (misalnya, men-scroll ruang kerja, memperbesar, membuka kategori toolbox). Peristiwa UI tidak mengurungkan atau mengulangi. |
VarBase | Class abstrak untuk peristiwa variabel. |
VarCreate | Memberi tahu pemroses bahwa model variabel telah dibuat. |
VarDelete | Memberi tahu pemroses bahwa model variabel telah dihapus. |
VarRename | Memberi tahu pemroses bahwa model variabel diganti namanya. |
VarTypeChange | Memberi tahu pemroses bahwa jenis variabel telah berubah. |
ViewportChange | Memberi tahu pemroses bahwa posisi atau skala platform ruang kerja telah berubah. Tidak memberi tahu saat ruang kerja itu sendiri mengubah ukurannya. |
Class Abstrak
Class Abstrak | Deskripsi |
---|---|
Abstrak | Class abstrak untuk peristiwa. |
Enumerasi
Enumerasi | Deskripsi |
---|---|
BubbleType | |
ClickTarget |
Fungsi
Fungsi | Deskripsi |
---|---|
clearPendingUndo() | Ubah peristiwa urungkan yang tertunda sehingga saat diaktifkan, peristiwa tersebut tidak masuk ke data sebelumnya. Dipanggil oleh Workspace.clearUndo. |
disable() | Berhenti mengirim peristiwa. Setiap panggilan ke fungsi ini JUGA HARUS memanggil enable. |
disableOrphans(event) | Menetapkan apakah blok dinonaktifkan, bergantung pada apakah blok terhubung dengan benar. Gunakan ini pada aplikasi yang mengharuskan semua blok terhubung ke blok atas. |
enable() | Mulai mengirim peristiwa. Kecuali jika peristiwa sudah dinonaktifkan saat panggilan yang sesuai untuk menonaktifkan dilakukan. |
filter(queue) | Memfilter peristiwa yang diantrekan dengan menggabungkan duplikat, menghapus peristiwa null, dan merekam ulang peristiwa BlockChange. Histori fungsi ini: Fungsi ini awalnya ditambahkan dalam commit cf257ea5 dengan tujuan mengurangi jumlah total peristiwa yang dikirim secara drastis. Awalnya, masalah ini hanya memengaruhi peristiwa BlockMove, tetapi peristiwa lainnya ditambahkan dari waktu ke waktu. Kode ditambahkan untuk mengurutkan ulang peristiwa BlockChange yang ditambahkan dalam commit 5578458, karena alasan yang tidak pasti, tetapi kemungkinan besar sebagai bagian dari upaya yang hanya berhasil sebagian untuk memperbaiki masalah terkait pengurutan peristiwa selama mutasi blok. Kode ini mungkin seharusnya ditambahkan ke bagian atas fungsi, sebelum penggabungan dan penghapusan null, tetapi ditambahkan di bagian bawah karena alasan yang sekarang sudah dilupakan. Lihat investigasi bug ini untuk mengetahui diskusi yang lebih lengkap tentang masalah yang mendasarinya dan beberapa kegagalan yang muncul karena perbaikan yang tidak lengkap/salah ini: https://github.com/google/blockly/issues/8225#issuecomment-2195751783 https://github.com/google/blockly/issues/2037#issuecomment-2209696351 Kemudian, di PR #1205, penerapan O(n^2) asli diganti dengan penerapan waktu linear, meskipun perbaikan tambahan dilakukan setelahnya. Pada Agustus 2024, sejumlah penyederhanaan yang signifikan dilakukan: Fungsi ini sebelumnya dipanggil dari Workspace.prototype.undo, tetapi mutasi peristiwa oleh fungsi ini adalah penyebab masalah #7026 (perhatikan bahwa peristiwa akan digabungkan secara berbeda dalam urutan terbalik vs. urutan maju). Perbaikan yang awalnya dipilih untuk hal ini adalah penambahan (di PR #7069) kode ke fireNow untuk memfilter ulang .undoStack_ dan .redoStack_ dari ruang kerja yang baru saja terlibat dalam pengiriman peristiwa; hal ini tampaknya menyelesaikan masalah, tetapi menambahkan kompleksitas tambahan yang cukup besar dan mempersulit alasan tentang cara peristiwa diproses untuk mengurungkan/melakukan ulang, sehingga panggilan dari undo dan kode pasca-pemrosesan dihapus, dan forward=true dijadikan default saat memanggil fungsi dengan forward=false tidak digunakan lagi. Pada saat yang sama, kode error untuk mengurutkan ulang peristiwa BlockChange diganti dengan versi fungsi yang sama yang lebih sedikit error dalam fungsi baru, enqueueEvent, yang dipanggil dari fireInternal, sehingga memastikan bahwa peristiwa akan berada dalam urutan yang benar pada saat filter dipanggil. Selain itu, kode penggabungan peristiwa diubah sehingga hanya peristiwa yang berdekatan yang akan digabungkan. Hal ini menyederhanakan penerapan sekaligus memastikan bahwa penggabungan peristiwa tidak dapat menyebabkan pengurutan ulang. |
fire(event) | Mengantrekan peristiwa yang akan dikirim untuk mengubah pemroses. Catatan: - Peristiwa dimasukkan ke antrean hingga waktu tunggu habis, biasanya setelah rendering selesai atau di akhir microtask saat ini, jika tidak berjalan di browser. - Peristiwa dalam antrean dapat mengalami modifikasi destruktif dengan digabungkan dengan peristiwa yang diantrekan nanti, tetapi hanya sampai peristiwa tersebut diaktifkan. - Peristiwa dikirim melalui metode fireChangeListener di ruang kerja yang terpengaruh. |
fromJson(json, workspace) | Dekode JSON menjadi peristiwa. |
get(eventType) | Mendapatkan class untuk jenis peristiwa tertentu dari registry. |
getGroup() | Grup saat ini. |
getRecordUndo() | Menampilkan apakah peristiwa akan ditambahkan ke data sebelumnya atau tidak. |
isEnabled() | Menampilkan apakah peristiwa dapat diaktifkan atau tidak. |
setGroup(state) | Memulai atau menghentikan grup. |
setRecordUndo(newValue) | Menetapkan apakah peristiwa harus ditambahkan ke data sebelumnya. |
Antarmuka
Variabel
Variabel | Deskripsi |
---|---|
BLOCK_CHANGE | |
BLOCK_CREATE | |
BLOCK_DELETE | |
BLOCK_DRAG | |
BLOCK_FIELD_INTERMEDIATE_CHANGE | |
BLOCK_MOVE | |
BUBBLE_OPEN | |
BUMP_EVENTS | Daftar peristiwa yang menyebabkan objek didorong kembali ke bagian ruang kerja yang terlihat. Jangan sampai tertukar dengan pemukulan sehingga koneksi yang terputus tidak tampak terhubung. |
UBAH | |
KLIK | |
COMMENT_CHANGE | |
COMMENT_CREATE | |
COMMENT_DELETE | |
COMMENT_DRAG | |
COMMENT_MOVE | |
COMMENT_RESIZE | |
BUAT | |
DELETE | |
FINISHED_LOADING | |
MOVE | |
DIPILIH | |
THEME_CHANGE | |
TOOLBOX_ITEM_SELECT | |
TRASHCAN_OPEN | |
UI | |
VAR_CREATE | |
VAR_DELETE | |
VAR_RENAME | |
VIEWPORT_CHANGE |
Alias Jenis
Alias Jenis | Deskripsi |
---|---|
BumpEvent | Jenis peristiwa yang menyebabkan objek kembali ke bagian ruang kerja yang terlihat. Jangan sampai tertukar dengan pemukulan sehingga koneksi yang terputus tidak tampak terhubung. |