Blokowanie strategii przeciągania

Strategia przeciągania bloków to obiekt określający sposób obsługi przeciągania bryły. Wdrażają logikę, aby blok stał się przeciągany. Tworzenie nowych strategii przeciągania blokad pozwala zmienić sposób obsługi bloków bez konieczności tworzenia niestandardowych elementów z możliwością wyboru czy obsługi elementów wyboru.

Na przykład blok może się zduplikować podczas przeciągania, zamiast przeciągać w zwykły sposób. Pozwalają na to strategie blokowania przeciągania.

Strategie przeciągania mają te same metody co IDraggable, oprócz metody getRelativeToSurfaceXY.

Implementacja

Aby utworzyć strategię przeciągania, musisz wdrożyć interfejs IDragStrategy. Wymaga to tych samych metod co interfejs IDraggable z wyjątkiem metody getRelativeToSurfaceXY, którą już implementuje blok.

Aby wdrożyć strategię przeciągania, możesz postępować zgodnie z instrukcjami implementacji elementu przeciągania, ale pomiń wdrażanie getRelativeToSurfaceXY().

Wykorzystanie

Aby użyć niestandardowej strategii przeciągania, musisz zastosować ją do każdej wystąpienia bloku. Możesz to zrobić w metodzie init blokowania, wywołując setDragStrategy.

Blockly.Blocks['my_block'] = {
  init: function() {
    // Other initialization...
    this.setDragStrategy(new MyDragStrategy());
    // Other initialization...
  }
}