Etkinlikler

Çalışma alanındaki her değişiklik bir etkinliği tetikler. Bu etkinlikler her değişikliğin önceki ve sonraki durumunu tam olarak açıklar.

Etkinlikleri Dinleme

Çalışma alanlarında, etkinlik akışını dinlemek için kullanılabilecek addChangeListener ve removeChangeListener yöntemleri bulunur. Gerçek zamanlı kod oluşturma, buna örnek olarak gösterilebilir. Diğer bir örnek de maksimum engelleme sınırı demosudur. Çoğunlukla olduğu gibi, bu iki örneğin ikisi de tetikleyici etkinliğin ne olduğunu önemsemiyor. Yalnızca çalışma alanının mevcut durumuna bakarlar.

Daha gelişmiş bir etkinlik işleyici, tetikleyici etkinliğe bakar. Aşağıdaki örnek, kullanıcı ilk yorumunu oluşturduğunda, bir uyarı verdiğinde ve ardından başka uyarı tetiklenmemesi için dinlemeyi durdurduğunda algılanır.

function onFirstComment(event) {
  if (event.type == Blockly.Events.BLOCK_CHANGE &&
      event.element == 'comment' &&
      !event.oldValue && event.newValue) {
    alert('Congratulations on creating your first comment!')
    workspace.removeChangeListener(onFirstComment);
  }
}
workspace.addChangeListener(onFirstComment);

Bir uçağın içinde gerçekleşen tüm etkinlikleri dinlemek için uçağın çalışma alanına bir dinleyici eklenebilir.

var flyoutWorkspace = yourWorkspace.getFlyout().getWorkspace();
flyoutWorkspace.addChangeListener(onFirstComment);

Engellemeler, etkinlik akışını dinlemek için başka bir yöntem sunar. Bir blok, bir onchange işlevi tanımlayabilir veya bloğun çalışma alanında bir değişiklik gerçekleştiğinde çağrılacak bir işlevi ayarlamak için setOnChange'i kullanabilir.

Etkinlik türleri

Her bir etkinlik hakkında bilgi almak için referans belgelerini inceleyin.

Demo

Etkinliklerle yapabileceğiniz etkileyici şeylere örnek için ayna demosuna göz atabilirsiniz. Bu demoda, etkinlikler kullanılarak senkronize edilen iki Blockly çalışma alanı bulunur.