استراتژی کشیدن بلوک، شیئی است که تعیین می کند یک بلوک چگونه باید درگ ها را مدیریت کند. آنها منطق را پیاده سازی می کنند تا یک بلوک قابل کشیدن باشد. ایجاد استراتژیهای کشیدن بلوک جدید به شما این امکان را میدهد تا نحوه مدیریت بلوکها را بدون نیاز به ایجاد یک انتخاب سفارشی یا مدیریت انتخاب تغییر دهید.
به عنوان مثال، ممکن است بخواهید به جای کشیدن به طور معمول، بلوک شما در هنگام کشیدن تکرار شود. استراتژی های کشیدن بلاک به شما این امکان را می دهد که این کار را انجام دهید.
استراتژیهای کشیدن، علاوه بر متد getRelativeToSurfaceXY
، همه روشهای مشابه IDraggable
را دارند.
پیاده سازی
برای ایجاد یک استراتژی کشیدن، باید رابط IDragStrategy
را پیاده سازی کنید. این به همه روشهای مشابه رابط IDraggable
نیاز دارد، به جز متد getRelativeToSurfaceXY
که بلوک قبلاً آن را پیادهسازی کرده است.
میتوانید دستورالعملهای اجرای یک draggable را برای پیادهسازی استراتژی کشیدن خود دنبال کنید، اما از اجرای getRelativeToSurfaceXY()
صرفنظر کنید.
استفاده
برای استفاده از یک استراتژی کشیدن سفارشی، باید استراتژی کشیدن را برای هر نمونه از یک بلوک اعمال کنید. می توانید این کار را در روش init
بلاک خود با فراخوانی setDragStrategy
انجام دهید.
Blockly.Blocks['my_block'] = {
init: function() {
// Other initialization...
this.setDragStrategy(new MyDragStrategy());
// Other initialization...
}
}