कस्टम ब्लॉक ड्रैग रणनीतियां

ब्लॉक ड्रैग रणनीति एक ऑब्जेक्ट है, जो तय करता है कि ब्लॉक को कैसे हैंडल करना चाहिए खींचकर छोड़ देते हैं. वे ब्लॉक को ड्रैगेबल बनाने के लिए लॉजिक लागू करते हैं. ब्लॉक को खींचकर छोड़ने की नई रणनीतियां बनाकर, ब्लॉक को खींचकर छोड़ने के तरीके को बदला जा सकता है. इसके लिए, आपको कस्टम चुनने की सुविधा बनाने या चुनने की सुविधा को मैनेज करने की ज़रूरत नहीं होती.

उदाहरण के लिए, हो सकता है कि आप अपने ब्लॉक को सामान्य तरीके से खींचने के बजाय, खींचते समय डुप्लीकेट करना चाहें. 'खींचें और छोड़ें' रणनीतियों को ब्लॉक करें. इससे ऐसा किया जा सकता है.

खींचकर छोड़ने की रणनीतियों में, getRelativeToSurfaceXY के अलावा IDraggable के सभी तरीके होते हैं.

लागू करना

ड्रैग रणनीति बनाने के लिए, आपको IDragStrategy इंटरफ़ेस. इसके लिए, IDraggable इंटरफ़ेस के सभी तरीकों की ज़रूरत होती है. हालांकि, getRelativeToSurfaceXY तरीके को छोड़कर, जो ब्लॉक पहले से लागू करता है.

खींचने और छोड़ने की रणनीति लागू करने के लिए, खींचने और छोड़ने की सुविधा लागू करने के निर्देशों का पालन करें. हालांकि, getRelativeToSurfaceXY() को लागू न करें.

इस्तेमाल

कस्टम ड्रैग रणनीति का इस्तेमाल करने के लिए, आपको ब्लॉक के हर इंस्टेंस पर ड्रैग रणनीति लागू करनी होगी. ऐसा करने के लिए, अपने ब्लॉक के init तरीके में जाकर, setDragStrategy को कॉल करें.

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