Una strategia di trascinamento a blocchi è un oggetto che determina la modalità di gestione di un blocco trascinamenti. Implementazione della logica per rendere un blocco trascinabile. La creazione di nuove strategie di trascinamento dei blocchi ti consente di cambiare il modo in cui i blocchi devono gestire i trascinamenti senza dover creare un elemento selezionabile personalizzato o gestire la selezione.
Ad esempio, potresti voler creare un blocco duplicato durante il trascinamento, anziché trascinandolo normalmente. Le strategie di trascinamento dei blocchi ti consentono di farlo.
Le strategie di trascinamento hanno gli stessi metodi di una IDraggable
,
oltre al metodo getRelativeToSurfaceXY
.
Implementazione
Per creare una strategia di trascinamento, devi implementare il metodo
IDragStrategy
. Questa operazione richiede gli stessi metodi
come l'interfaccia IDraggable
, tranne che per il metodo getRelativeToSurfaceXY
,
che il blocco implementa già.
Puoi seguire
istruzioni per implementare un elemento trascinabile in
implementare la strategia di trascinamento, ma saltando l'implementazione di getRelativeToSurfaceXY()
.
Utilizzo
Per utilizzare una strategia di trascinamento personalizzata, devi applicarla a ogni
istanza di un blocco. Puoi farlo nel metodo di blocco init
, ad esempio:
chiamata setDragStrategy
.
Blockly.Blocks['my_block'] = {
init: function() {
// Other initialization...
this.setDragStrategy(new MyDragStrategy());
// Other initialization...
}
}