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...
}
}