Mastering Dojo3: Dropping and Weight Checking Techniques

需积分: 3 0 下载量 132 浏览量 更新于2024-07-31 收藏 3.34MB PDF 举报
"Mastering Dojo3 是一本关于精通Dojo 3框架的英文技术书籍,主要探讨了如何高效地使用Dojo工具集进行Web开发。本书可能是系列的第三部分,内容涵盖Dojo的高级用法和实践技巧。" 在Dojo 3中,Drag and Drop功能是一个关键模块,用于实现用户界面中的拖放交互。书中的363页讨论了这个功能的实现细节。`dragAndDrop`相关的代码展示了如何确保拖放操作符合预设规则。首先,检查第一条规则是只允许在"box"上进行拖放。Dojo提供了一个方便的`domToItem`转换器,它能够获取与拖动的DOM节点关联的数据。通过检查数据项的"type"属性,可以快速判断目标是否为"box"。 第二条规则涉及防止"double dragging",即同一项目被拖放到多个位置。书中提到,所有在box树结构中的序列都存储在一个名为`allRMASerials`的列表中,当物品被拖放时,这个列表会被操作更新。如果已经放置过的项目再次出现,说明违反了规则。 检查权重限制则涉及到对数据源`order dataSource`的操作。代码遍历所有被拖动的节点,将它们转换为对应的`dojo.data.Item`,然后提取其中的"weight"属性,并累加到一个总和中。这个总和加上box当前的重量(存储在boxes的`weight`属性中,并在物品被放下时更新),应确保不超过15磅。如果不超过限制,拖放操作就可以继续执行。 `checkItemAcceptance`方法在处理物品被放下时执行,依赖于一些维护操作,如box重量的正确性以及`allRMASerials`列表的实时更新。这些内部管理操作确保了拖放过程的准确性和一致性。 Mastering Dojo3深入讲解了Dojo框架的高级特性,包括Drag and Drop机制、数据交互、权重管理等,对于希望提升Dojo开发技能的开发者来说是一份宝贵的资源。书中通过实例代码展示了如何在实际项目中应用这些概念,有助于读者更好地理解和掌握Dojo 3的精髓。