Etkinlikler ad alanı
Sınıflar
Sınıf | Açıklama |
---|---|
BlockBase | Bloklarla ilgili tüm etkinlikler için soyut sınıf. |
BlockChange | Bir bloğun bazı öğeleri (ör. alan değerleri, yorumlar) değiştiğinde dinleyicileri bilgilendirir. |
BlockCreate | Bir blok (veya bağlı blok yığını) oluşturulduğunda dinleyicileri bilgilendirir. |
BlockDelete | Bir blok (veya bağlı blok grubu) silindiğinde dinleyicileri bilgilendirir. |
BlockDrag | Bir blok manuel olarak sürüklendiğinde/bırakıldığında dinleyicileri bilgilendirir. |
BlockFieldIntermediateChange | Bir bloğun alanının değeri değiştiğinde ancak değişiklik henüz tamamlanmadığında ve ardından bir blok değişikliği etkinliği beklendiğinde dinleyicileri bilgilendirir. |
BlockMove | Bir blok taşındığında dinleyicileri bilgilendirir. Bu, bir bağlantıdan diğerine veya çalışma alanındaki bir konumdan diğerine olabilir. |
BubbleOpen | Baloncuğun açıldığı etkinlik sınıfı. |
Tıklayın. | Dinleyicileri, bazı blok öğelerin tıklandığını bildirir. |
CommentBase | Yorum etkinliği için soyut sınıf. |
CommentChange | Dinleyicileri, bir Workspace yorumunun içeriğinin değiştiği konusunda bilgilendirir. |
CommentCollapse | |
CommentCreate | Dinleyicileri, bir çalışma alanı yorumunun oluşturulduğu konusunda bilgilendirir. |
CommentDelete | Dinleyicileri, bir Workspace yorumunun silindiği konusunda bilgilendirir. |
CommentDrag | Bir yorum manuel olarak sürüklenip/bırakıldığında dinleyicileri bilgilendirir. |
CommentMove | Dinleyicileri, bir çalışma alanı yorumunun taşındığı konusunda bilgilendirir. |
CommentResize | Dinleyicileri, bir çalışma alanı yorumunun boyutunun değiştirildiği konusunda bilgilendirir. |
FinishedLoading | Workspace, JSON/XML'den serileştirmeyi tamamladığında dinleyicileri bilgilendirir. |
Seçili | Seçilen etkinlik için sınıf. Dinleyicileri yeni bir öğenin seçildiği konusunda bilgilendirir. |
ThemeChange | Dinleyicileri, çalışma alanı temasının değiştiği konusunda bilgilendirir. |
ToolboxItemSelect | Dinleyicileri, araç kutusu öğesinin seçildiği konusunda bilgilendirir. |
TrashcanOpen | Çöp kutusu açıldığında veya kapandığında dinleyicileri bilgilendirir. |
UiBase | Kullanıcı arayüzü etkinliği için temel sınıf. Kullanıcı arayüzü etkinlikleri, çok kullanıcılı düzenlemenin çalışması için ağ üzerinden gönderilmesi gerekmeyen etkinliklerdir (ör. çalışma alanında gezinme, yakınlaştırma, araç kutusu kategorilerini açma). Kullanıcı arayüzü etkinlikleri geri alınamaz veya yeniden yapılamaz. |
VarBase | Değişken etkinlik için soyut sınıf. |
VarCreate | Dinleyicileri, değişken bir model oluşturulduğu konusunda bilgilendirir. |
VarDelete | Dinleyicileri, bir değişken modelin silindiği konusunda bilgilendirir. |
VarRename | Dinleyicileri, değişken modelin yeniden adlandırıldığı konusunda bilgilendirir. |
VarTypeChange | Dinleyicileri, bir değişkenin türünün değiştiği konusunda bilgilendirir. |
ViewportChange | Dinleyicileri, çalışma alanı yüzeyinin konumunun veya ölçeğinin değiştiği konusunda bilgilendirir. Çalışma alanı boyutu değiştiğinde bildirim gönderilmez. |
Soyut Sınıflar
Soyut Sınıf | Açıklama |
---|---|
Özet | Bir etkinlik için soyut sınıf. |
Listeleme
Numaralandırma | Açıklama |
---|---|
BubbleType | |
ClickTarget |
İşlevler
İşlev | Açıklama |
---|---|
clearPendingUndo() | Beklemedeki geri alma etkinliklerini, tetiklendiklerinde geri alma yığınına girmemeleri için değiştirin. Workspace.clearUndo tarafından çağrılır. |
disable() | Etkinlik göndermeyi durdurun. Bu işleve yapılan her çağrıda enable işlevi de ÇAĞRILMALIDIR. |
disableOrphans(event) | Bir bloğun düzgün bağlanıp bağlanmadığına bağlı olarak devre dışı bırakılıp bırakılmayacağını ayarlayın. Tüm blokların bir üst bloğa bağlı olması gereken uygulamalarda bunu kullanın. |
enable() | Etkinlik göndermeye başlayın. İlgili devre dışı bırakma çağrısı yapıldığında etkinlikler zaten devre dışı bırakılmışsa. |
filter(queue) | Yinelenenleri birleştirerek, null etkinlikleri kaldırarak ve BlockChange etkinliklerini yeniden kaydederek sıraya alınmış etkinlikleri filtreleyin. Bu işlevin geçmişi: Bu işlev, gönderilen etkinliklerin toplam sayısını önemli ölçüde azaltmak amacıyla ilk olarak cf257ea5 gönderiminde eklenmiştir. Başlangıçta yalnızca BlockMove etkinliklerini etkiledi ancak zaman içinde başkaları da eklendi. 5578458 numaralı kayda eklenen BlockChange etkinliklerini yeniden sıralamak için kod eklendi. Bunun nedeni kesin olarak bilinmemekle birlikte, büyük olasılıkla blok mutasyonları sırasında etkinlik sıralamasıyla ilgili sorunları düzeltmeye yönelik yalnızca kısmen başarılı bir deneme kapsamında eklenmiştir. Bu kod, muhtemelen birleştirme ve null kaldırma işleminden önce işlevin en üstüne eklenmiş olmalıydı ancak şimdi unutulmuş nedenlerle en alta eklendi. Temel sorun ve bu eksik/yanlış düzeltme nedeniyle ortaya çıkan bazı hataların daha ayrıntılı bir şekilde tartışıldığı bu hata incelemelerine bakın: https://github.com/google/blockly/issues/8225#issuecomment-2195751783 https://github.com/google/blockly/issues/2037#issuecomment-2209696351 Daha sonra, PR #1205'te orijinal O(n^2) uygulaması doğrusal zamanlı bir uygulamayla değiştirildi. Ancak daha sonra ek düzeltmeler yapıldı. Ağustos 2024'te, politikamızda önemli ölçüde basitleştirmeler yaptık: Bu işlev daha önce Workspace.prototype.undo'dan çağrılıyordu ancak etkinliklerin bu işlev tarafından mutasyona uğratılması 7026 numaralı sorunun nedeniydi (etkinliklerin ters sıraya göre birleştirilmesinin, ileri sıraya göre birleştirilmesine göre farklı olacağını unutmayın). Bu sorun için başlangıçta seçilen çözüm, fireNow işlevine, henüz etkinlik dağıtımında yer almış olan tüm çalışma alanlarının .undoStack_ ve .redoStack_ öğelerini son filtrelemek için kod eklemekti (PR #7069). Bu çözüm sorunu çözmüş olsa da önemli ölçüde ek karmaşıklık getirdi ve etkinliklerin geri alma/yeniden yapma için nasıl işlendiğini anlamayı zorlaştırdı. Bu nedenle, hem undo çağrısı hem de son işleme kodu kaldırıldı ve forward=true varsayılan değer haline getirilirken forward=false ile işlevi çağırmanın desteği sonlandırıldı. Aynı zamanda, BlockChange etkinliklerini yeniden sıralamak için kullanılan hatalı kod, fireInternal işlevinden çağrılan yeni bir işlevde (enqueueEvent) aynı işlevin daha az hatalı bir sürümüyle değiştirildi. Böylece, filtre çağrılırken etkinliklerin doğru sırada olacağından emin olundu. Ayrıca, etkinlik birleştirme kodu yalnızca hemen bitişik etkinliklerin birleştirileceği şekilde değiştirildi. Bu, uygulamayı basitleştirirken etkinliklerin birleştirilmesinin yeniden sıralanmasına neden olmamasını sağladı. |
fire(event) | Değişiklik işleyicilerine gönderilecek bir etkinliği sıraya ekleyin. Notlar: - Etkinlikler, bir zaman aşımı olana kadar (genellikle oluşturma işlemi tamamlandıktan sonra veya tarayıcıda çalışmıyorsa mevcut mikro görevin sonunda) sıraya eklenir. - Sıraya eklenen etkinlikler, daha sonra eklenen etkinliklerle birleştirilerek yıkıcı bir şekilde değiştirilebilir ancak yalnızca tetikleninceye kadar. - Etkinlikler, etkilenen çalışma alanındaki fireChangeListener yöntemi aracılığıyla gönderilir. |
fromJson(json, workspace) | JSON'un kodunu bir etkinliğe dönüştürün. |
get(eventType) | Kayıt defteri üzerinden belirli bir etkinlik türünün sınıfını alır. |
getGroup() | Mevcut grup. |
getRecordUndo() | Etkinliklerin geri alma yığınına eklenip eklenmeyeceğini döndürür. |
isEnabled() | Etkinliklerin tetiklenip tetiklenemeyeceğini döndürür. |
setGroup(state) | Grup başlatma veya durdurma. |
setRecordUndo(newValue) | Etkinliklerin geri alma yığınına eklenip eklenmeyeceğini belirler. |
Arayüzler
Değişkenler
Değişken | Açıklama |
---|---|
BLOCK_CHANGE | |
BLOCK_CREATE | |
BLOCK_DELETE | |
BLOCK_DRAG | |
BLOCK_FIELD_INTERMEDIATE_CHANGE | |
BLOCK_MOVE | |
BUBBLE_OPEN | |
BUMP_EVENTS | Nesnelerin çalışma alanının görünür bölümüne geri itilmesine neden olan etkinliklerin listesi. Bağlantısı kesilen bağlantıların bağlı görünmemesi için yapılan "bump" işlemiyle karıştırılmamalıdır. |
DEĞİŞTİRME | |
TIKLAMA | |
COMMENT_CHANGE | |
COMMENT_CREATE | |
COMMENT_DELETE | |
COMMENT_DRAG | |
COMMENT_MOVE | |
COMMENT_RESIZE | |
OLUŞTUR | |
DELETE | |
FINISHED_LOADING | |
MOVE | |
SEÇİLİ | |
THEME_CHANGE | |
TOOLBOX_ITEM_SELECT | |
TRASHCAN_OPEN | |
Kullanıcı arayüzü | |
VAR_CREATE | |
VAR_DELETE | |
VAR_RENAME | |
VIEWPORT_CHANGE |
Tür Takma Adları
Tür takma adı | Açıklama |
---|---|
BumpEvent | Nesnelerin çalışma alanının görünür bölümüne geri itilmesine neden olan etkinlik türüdür. Bağlantısı kesilen bağlantıların bağlı görünmemesi için yapılan "bump" işlemiyle karıştırılmamalıdır. |