Sigma.js过滤问题

时间:2014-09-21 15:49:16

标签: javascript angularjs sigma.js

我正在使用sigma.js和angular js来构建我的可视化Web应用程序。

问题陈述:我编写了一些代码,当过滤条件发生变化时,将触发过滤模块根据用户选择过滤掉节点(参见下面的代码)。但是,最初的过滤器工作正常任何问题,但后来它似乎没有工作。看起来它根本没有执行过滤谓词。

我尝试了以下可能的方法,但无法解决问题。

1)为每个数据更改触发器销毁并重新创建过滤器对象。

2)未注册和注册的过滤谓词。

代码段:

scope.$watch('filtersettingdata',function(){
s = new sigma({
             graph: scope.data['mdata'],
             container: element.elementid,
             renderer: {
              container: document.getElementById(element.elementid),
              type: 'canvas'
             },
             settings: filtersettingdata
             });
        var filter = new sigma.plugins.filter(s);
            filter.nodesBy(
                        function(n) {
                         //predicate with new filter values
                        },'filter_name').apply();
           s.refresh();
  }

任何帮助/建议都将非常感激。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我是这个插件的作者。

它在官方sigma存储库中已过时,我认为它不会与Angular一起使用。

它现在在双重许可GNU GPLv3 +商业版上发布:https://github.com/Linkurious/linkurious.js/tree/linkurious-version/plugins/sigma.plugins.filter

此版本适用于Angular,我已成功将其用于我公司的项目中。

免责声明:我在Linkurious SAS工作。