Cytoscape-cxtmenu.js:根据条件显示菜单命令

问题描述

我有一个使用 cytoscape 版本 3.15.2 和 cxtmenu 库版本 3.1.1 的应用程序。我有一个案例,我想根据条件在某些边上添加条件。我有一个名为“info”的命令,我将它应用到图中所有边的菜单上:

let edges = {
            menuRadius: 100,selector: 'edge',commands: [ ...
                { // info command
                    .........              
                }
            ]
        }

我有一个名为“expand”的命令,我想将它应用到边上的 expand 属性值为 true 的边上。因此,对于满足此条件的边,我希望同时使用 info 和 expand 命令。为此,我创建了另一个菜单变量,如下所示

let expandEdges = {
            menuRadius: 100,selector: 'edge[expand=true]',commands: [ ...
                { // info command
                    .........              
                },{ // expand command
                    .........              
                }
            ]
        }

当我使用这个将两个菜单变量都应用到图表的实现时,我会在图表上看到以下内容

enter image description here

如果您观察到,info 和 expand 命令与我在所有边上应用的 info 命令重叠。我不确定如何使用选择器条件将命令应用于所有边和一些基于条件的命令。

我还想知道我是否可以使用像 selector: 'edge[type.contains'expand']' (substring check) 这样的东西作为选择器条件。

此外,我无法创建可重现的示例,因为这是一个非常庞大的应用程序的一部分。对不起。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)