Une stratégie de glisser-déposer de bloc est un objet qui détermine comment un bloc doit gérer les glisser-déposer. Ils implémentent la logique pour faire d'un bloc un élément déplaçable. Créer de nouvelles stratégies de déplacement des blocs vous permet de modifier la façon dont les blocs doivent être gérés sans avoir à créer un élément sélectionnable personnalisé ni à gérer de votre choix.
Par exemple, vous pouvez choisir de dupliquer le bloc lors d'un déplacement, en faisant glisser normalement. C'est possible grâce aux stratégies de déplacement de blocs.
Les stratégies de déplacement utilisent les mêmes méthodes qu'une IDraggable
,
en plus de la méthode getRelativeToSurfaceXY
.
Implémentation
Pour créer une stratégie de glisser-déposer, vous devez implémenter l'interface IDragStrategy
. Cela nécessite toutes les mêmes méthodes que l'interface IDraggable
, à l'exception de la méthode getRelativeToSurfaceXY
, que le bloc implémente déjà.
Vous pouvez suivre les
instructions pour implémenter un élément déplaçable vers
implémentez votre stratégie de déplacement, mais ignorez l'implémentation de getRelativeToSurfaceXY()
.
Utilisation
Pour utiliser une stratégie de déplacement personnalisée, vous devez l'appliquer à chaque
instance d'un bloc. Pour ce faire, dans la méthode init
de votre bloc, procédez comme suit :
Appel de setDragStrategy
en cours.
Blockly.Blocks['my_block'] = {
init: function() {
// Other initialization...
this.setDragStrategy(new MyDragStrategy());
// Other initialization...
}
}