[Bug Report]: 锚点配置最大可连接边数量后,拖动链接边元锚点后无法修改
发生了什么?
当前demo有一个需求,模型in/out锚点类型需要有最大建立链接点的限制如图所示
这里控制边的数量是通过edge:add方法触发对prototype中锚点数据的修改
我们对于锚点控制边的计算方法如图
当我们链接两个节点的锚点后,修改链接边out0->in0为out1->in0,如图所示
会提示in链接锚点已满
按照正常逻辑来说,同一条线修改为不同的out点连同一个in点,应该可以正常修改
通过console输出,可以看到,边rule的触发早于edge:delete,edge:add,edge:exchange-node的触发,这代表会优先计算当前锚点链接数量是否大于等于最大链接数量,这应该就是无法修改源锚点位置的原因。
请问这是否是bug,或者是否有较好的触发方案?
同时,还有一个问题,如果锚点拖拽因随机拖拽导致锚点未实际链接到锚点上,是否可以恢复到原先的链接上?如图所示
我看到这里仅会在console.log中进行错误打印,而不进行恢复处理,是否能够恢复源锚点
代码如下,因公司网络无法打开codepen等sandbox,故附压缩包代码如下,请谅解 iotFlowPlatform.zip
logicflow/core版本
1.2.18
logicflow/extension版本
1.2.19
logicflow/engine版本
No response
浏览器&环境
Chrome
第二个问题我在最新的版本里没复现,「如果锚点拖拽因随机拖拽导致锚点未实际链接到锚点上」是会恢复到原锚点到。可以升级版本试试,不确定是不是demo代码写的有问题
第二个问题我在最新的版本里没复现,「如果锚点拖拽因随机拖拽导致锚点未实际链接到锚点上」是会恢复到原锚点到。可以升级版本试试,不确定是不是demo代码写的有问题
您好,是这样的,我使用官方网站提供的示例中的https://github.com/chenweihan/logicflow-angular 以及其readme.md中的提供的vue和angular的demo测试过,发现在最新版本的core和extension下,angular是可以正常恢复的,但是在这个对应的vue3demo中是有问题的,我提供的这个demo也是基于这个vue3版本处理的,所以是否有可能和语言版本有关?
我看了一下 第一个问题看起来更像是缺陷🤔?目前只有锚点信息的情况下,很难判断出是 同一条边修改起终点的情况 还是 新连接了一条边的情况,我觉得如果能用当前锚点关联边的集合和当前操作的锚点/边的id做比较,应该就能辨别出 该不该触发提示了。validate函数的第五个参数就是edgeId 可以直接获取(注意新建边的情况下会是undefined),获取当前锚点关联的边的能力后面会加上。 第二个问题确实是个bug😄,这个报错阻塞锚点恢复了,目前正在修复中。
hi,这个问题已经在年前发布的版本里修复了,辛苦升版本试下还有没有问题