节点拖拽碰撞与投放规则
这个示例展示一个紧凑拖拽规则工作区:节点重叠可被解释为允许投放、拒绝投放或受保护碰撞。它结合固定布局图数据、拖拽生命周期回调、节点内联策略开关,以及释放时创建连线,演示了无需完整编辑器壳层的碰撞感知创作流程。
具备碰撞感知的节点拖拽与放置规则
这个示例构建了什么
这个示例构建了一个紧凑的关系工作区,在这里,把一个节点拖到另一个节点上会成为一种由规则驱动的编排手势。界面初始是一个固定位置布局的图,包含矩形和圆形两类节点,背景是点状画布,同时还有一个浮动帮助窗口和一个固定图例,用于说明拖拽状态。
用户可以拖拽节点,观察目标节点在绿色、红色和紫色反馈之间切换,在每个目标节点的卡片内修改其放置策略,并在允许的目标上释放以创建一条新连线。重点不在于自由式布局编辑,而在于展示 relation-graph 如何将重叠检测转化为拖拽过程中的接受、拒绝或受限移动。
数据是如何组织的
这个图以内联方式声明为一个 RGJsonData 对象,包含 rootId、扁平的 nodes 数组以及扁平的 lines 数组。由于该示例使用固定布局,每个节点都带有固定的 x 和 y 坐标,另外有些节点还会在 node.data 中携带运行时策略标记,例如 allowDrop 和 disallowDroppingNodesInside。
在调用 `setJs